From e245e8afe1d9e4174680f5fc146dee70c4a4b987 Mon Sep 17 00:00:00 2001 From: denshooter Date: Sat, 13 Sep 2025 00:12:20 +0200 Subject: [PATCH] Support both Variables and Secrets in workflows - 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 --- .gitea/workflows/ci-cd.yml | 13 +++++++------ .gitea/workflows/debug-secrets.yml | 10 ++++++---- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/.gitea/workflows/ci-cd.yml b/.gitea/workflows/ci-cd.yml index 12a29e6..72de9cb 100644 --- a/.gitea/workflows/ci-cd.yml +++ b/.gitea/workflows/ci-cd.yml @@ -83,11 +83,12 @@ jobs: run: | docker-compose down || true - - name: Verify secrets before deployment + - name: Verify secrets and variables before deployment run: | - echo "🔍 Verifying secrets..." - if [ -z "${{ secrets.NEXT_PUBLIC_BASE_URL }}" ]; then - echo "❌ NEXT_PUBLIC_BASE_URL secret is missing!" + echo "🔍 Verifying secrets and variables..." + if [ -z "${{ secrets.NEXT_PUBLIC_BASE_URL }}" ] && [ -z "${{ vars.NEXT_PUBLIC_BASE_URL }}" ]; then + 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 fi if [ -z "${{ secrets.MY_EMAIL }}" ]; then @@ -98,13 +99,13 @@ jobs: echo "❌ ADMIN_BASIC_AUTH secret is missing!" exit 1 fi - echo "✅ All required secrets are present" + echo "✅ All required secrets and variables are present" - name: Start services with Docker Compose run: | docker-compose up -d 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_INFO_EMAIL: ${{ secrets.MY_INFO_EMAIL }} MY_PASSWORD: ${{ secrets.MY_PASSWORD }} diff --git a/.gitea/workflows/debug-secrets.yml b/.gitea/workflows/debug-secrets.yml index d96196a..a09d325 100644 --- a/.gitea/workflows/debug-secrets.yml +++ b/.gitea/workflows/debug-secrets.yml @@ -17,11 +17,13 @@ jobs: echo "🔍 Checking if secrets are available..." echo "" - # Check each secret (without revealing values) + # Check each secret/variable (without revealing values) 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 - echo "❌ NEXT_PUBLIC_BASE_URL: Not set" + echo "❌ NEXT_PUBLIC_BASE_URL: Not set in secrets or variables" fi if [ -n "${{ secrets.MY_EMAIL }}" ]; then @@ -59,7 +61,7 @@ jobs: 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)" 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_INFO_EMAIL: ${{ secrets.MY_INFO_EMAIL }} MY_PASSWORD: ${{ secrets.MY_PASSWORD }}