Support both Variables and Secrets in workflows
Some checks failed
CI/CD Pipeline (Simple) / test-and-build (push) Has been skipped
CI/CD Pipeline (Simple) / production (push) Has been cancelled

- Allow NEXT_PUBLIC_BASE_URL to be set as either Variable or Secret
- Update CI/CD workflow to check both secrets and variables
- Update debug workflow to show whether values come from secrets or variables
- Use fallback syntax: secrets.VAR || vars.VAR
- Improve error messages to guide users to correct settings location
This commit is contained in:
2025-09-13 00:12:20 +02:00
parent 5a14efb5fc
commit e245e8afe1
2 changed files with 13 additions and 10 deletions

View File

@@ -83,11 +83,12 @@ jobs:
run: | run: |
docker-compose down || true docker-compose down || true
- name: Verify secrets before deployment - name: Verify secrets and variables before deployment
run: | run: |
echo "🔍 Verifying secrets..." echo "🔍 Verifying secrets and variables..."
if [ -z "${{ secrets.NEXT_PUBLIC_BASE_URL }}" ]; then if [ -z "${{ secrets.NEXT_PUBLIC_BASE_URL }}" ] && [ -z "${{ vars.NEXT_PUBLIC_BASE_URL }}" ]; then
echo "❌ NEXT_PUBLIC_BASE_URL secret is missing!" echo "❌ NEXT_PUBLIC_BASE_URL is missing in both secrets and variables!"
echo "Please add it to either Settings → Secrets or Settings → Variables"
exit 1 exit 1
fi fi
if [ -z "${{ secrets.MY_EMAIL }}" ]; then if [ -z "${{ secrets.MY_EMAIL }}" ]; then
@@ -98,13 +99,13 @@ jobs:
echo "❌ ADMIN_BASIC_AUTH secret is missing!" echo "❌ ADMIN_BASIC_AUTH secret is missing!"
exit 1 exit 1
fi fi
echo "✅ All required secrets are present" echo "✅ All required secrets and variables are present"
- name: Start services with Docker Compose - name: Start services with Docker Compose
run: | run: |
docker-compose up -d docker-compose up -d
env: env:
NEXT_PUBLIC_BASE_URL: ${{ secrets.NEXT_PUBLIC_BASE_URL }} NEXT_PUBLIC_BASE_URL: ${{ secrets.NEXT_PUBLIC_BASE_URL || vars.NEXT_PUBLIC_BASE_URL }}
MY_EMAIL: ${{ secrets.MY_EMAIL }} MY_EMAIL: ${{ secrets.MY_EMAIL }}
MY_INFO_EMAIL: ${{ secrets.MY_INFO_EMAIL }} MY_INFO_EMAIL: ${{ secrets.MY_INFO_EMAIL }}
MY_PASSWORD: ${{ secrets.MY_PASSWORD }} MY_PASSWORD: ${{ secrets.MY_PASSWORD }}

View File

@@ -17,11 +17,13 @@ jobs:
echo "🔍 Checking if secrets are available..." echo "🔍 Checking if secrets are available..."
echo "" echo ""
# Check each secret (without revealing values) # Check each secret/variable (without revealing values)
if [ -n "${{ secrets.NEXT_PUBLIC_BASE_URL }}" ]; then if [ -n "${{ secrets.NEXT_PUBLIC_BASE_URL }}" ]; then
echo "✅ NEXT_PUBLIC_BASE_URL: Set (length: ${#NEXT_PUBLIC_BASE_URL})" echo "✅ NEXT_PUBLIC_BASE_URL: Set as SECRET (length: ${#NEXT_PUBLIC_BASE_URL})"
elif [ -n "${{ vars.NEXT_PUBLIC_BASE_URL }}" ]; then
echo "✅ NEXT_PUBLIC_BASE_URL: Set as VARIABLE (length: ${#NEXT_PUBLIC_BASE_URL})"
else else
echo "❌ NEXT_PUBLIC_BASE_URL: Not set" echo "❌ NEXT_PUBLIC_BASE_URL: Not set in secrets or variables"
fi fi
if [ -n "${{ secrets.MY_EMAIL }}" ]; then if [ -n "${{ secrets.MY_EMAIL }}" ]; then
@@ -59,7 +61,7 @@ jobs:
echo "Total secrets checked: 6" echo "Total secrets checked: 6"
echo "Set secrets: $(echo "${{ secrets.NEXT_PUBLIC_BASE_URL }}${{ secrets.MY_EMAIL }}${{ secrets.MY_INFO_EMAIL }}${{ secrets.MY_PASSWORD }}${{ secrets.MY_INFO_PASSWORD }}${{ secrets.ADMIN_BASIC_AUTH }}" | grep -o . | wc -l)" echo "Set secrets: $(echo "${{ secrets.NEXT_PUBLIC_BASE_URL }}${{ secrets.MY_EMAIL }}${{ secrets.MY_INFO_EMAIL }}${{ secrets.MY_PASSWORD }}${{ secrets.MY_INFO_PASSWORD }}${{ secrets.ADMIN_BASIC_AUTH }}" | grep -o . | wc -l)"
env: env:
NEXT_PUBLIC_BASE_URL: ${{ secrets.NEXT_PUBLIC_BASE_URL }} NEXT_PUBLIC_BASE_URL: ${{ secrets.NEXT_PUBLIC_BASE_URL || vars.NEXT_PUBLIC_BASE_URL }}
MY_EMAIL: ${{ secrets.MY_EMAIL }} MY_EMAIL: ${{ secrets.MY_EMAIL }}
MY_INFO_EMAIL: ${{ secrets.MY_INFO_EMAIL }} MY_INFO_EMAIL: ${{ secrets.MY_INFO_EMAIL }}
MY_PASSWORD: ${{ secrets.MY_PASSWORD }} MY_PASSWORD: ${{ secrets.MY_PASSWORD }}