- Removed unused network configurations from docker-compose.yml. - Added production-specific Jest configuration in jest.config.production.ts for better test management. - Updated jest.config.ts to include production build fixes and module resolution improvements. - Enhanced jest.setup.ts to mock React's act function for production builds. - Introduced new CI/CD workflows for Gitea, focusing on reliability and zero downtime deployments. - Added scripts for debugging Gitea Actions and verifying environment variables. These changes streamline the CI/CD process and improve testing capabilities.
106 lines
4.3 KiB
YAML
106 lines
4.3 KiB
YAML
name: Test Gitea Variables and Secrets
|
|
|
|
on:
|
|
push:
|
|
branches: [ production ]
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
test-variables:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Test Variables and Secrets Access
|
|
run: |
|
|
echo "🔍 Testing Gitea Variables and Secrets access..."
|
|
|
|
# Test Variables
|
|
echo "📝 Testing Variables:"
|
|
echo "NEXT_PUBLIC_BASE_URL: '${{ vars.NEXT_PUBLIC_BASE_URL }}'"
|
|
echo "MY_EMAIL: '${{ vars.MY_EMAIL }}'"
|
|
echo "MY_INFO_EMAIL: '${{ vars.MY_INFO_EMAIL }}'"
|
|
echo "NODE_ENV: '${{ vars.NODE_ENV }}'"
|
|
echo "LOG_LEVEL: '${{ vars.LOG_LEVEL }}'"
|
|
echo "NEXT_PUBLIC_UMAMI_URL: '${{ vars.NEXT_PUBLIC_UMAMI_URL }}'"
|
|
echo "NEXT_PUBLIC_UMAMI_WEBSITE_ID: '${{ vars.NEXT_PUBLIC_UMAMI_WEBSITE_ID }}'"
|
|
|
|
# Test Secrets (without revealing values)
|
|
echo ""
|
|
echo "🔐 Testing Secrets:"
|
|
echo "MY_PASSWORD: '$([ -n "${{ secrets.MY_PASSWORD }}" ] && echo "[SET]" || echo "[NOT SET]")'"
|
|
echo "MY_INFO_PASSWORD: '$([ -n "${{ secrets.MY_INFO_PASSWORD }}" ] && echo "[SET]" || echo "[NOT SET]")'"
|
|
echo "ADMIN_BASIC_AUTH: '$([ -n "${{ secrets.ADMIN_BASIC_AUTH }}" ] && echo "[SET]" || echo "[NOT SET]")'"
|
|
|
|
# Check if variables are empty
|
|
echo ""
|
|
echo "🔍 Checking for empty variables:"
|
|
if [ -z "${{ vars.NEXT_PUBLIC_BASE_URL }}" ]; then
|
|
echo "❌ NEXT_PUBLIC_BASE_URL is empty or not set"
|
|
else
|
|
echo "✅ NEXT_PUBLIC_BASE_URL is set"
|
|
fi
|
|
|
|
if [ -z "${{ vars.MY_EMAIL }}" ]; then
|
|
echo "❌ MY_EMAIL is empty or not set"
|
|
else
|
|
echo "✅ MY_EMAIL is set"
|
|
fi
|
|
|
|
if [ -z "${{ vars.MY_INFO_EMAIL }}" ]; then
|
|
echo "❌ MY_INFO_EMAIL is empty or not set"
|
|
else
|
|
echo "✅ MY_INFO_EMAIL is set"
|
|
fi
|
|
|
|
# Check secrets
|
|
if [ -z "${{ secrets.MY_PASSWORD }}" ]; then
|
|
echo "❌ MY_PASSWORD secret is empty or not set"
|
|
else
|
|
echo "✅ MY_PASSWORD secret is set"
|
|
fi
|
|
|
|
if [ -z "${{ secrets.MY_INFO_PASSWORD }}" ]; then
|
|
echo "❌ MY_INFO_PASSWORD secret is empty or not set"
|
|
else
|
|
echo "✅ MY_INFO_PASSWORD secret is set"
|
|
fi
|
|
|
|
if [ -z "${{ secrets.ADMIN_BASIC_AUTH }}" ]; then
|
|
echo "❌ ADMIN_BASIC_AUTH secret is empty or not set"
|
|
else
|
|
echo "✅ ADMIN_BASIC_AUTH secret is set"
|
|
fi
|
|
|
|
echo ""
|
|
echo "📊 Summary:"
|
|
echo "Variables set: $(echo '${{ vars.NEXT_PUBLIC_BASE_URL }}' | wc -c)"
|
|
echo "Secrets set: $(echo '${{ secrets.MY_PASSWORD }}' | wc -c)"
|
|
|
|
- name: Test Environment Variable Export
|
|
run: |
|
|
echo "🧪 Testing environment variable export..."
|
|
|
|
# Export variables as environment variables
|
|
export NODE_ENV="${{ vars.NODE_ENV }}"
|
|
export LOG_LEVEL="${{ vars.LOG_LEVEL }}"
|
|
export NEXT_PUBLIC_BASE_URL="${{ vars.NEXT_PUBLIC_BASE_URL }}"
|
|
export NEXT_PUBLIC_UMAMI_URL="${{ vars.NEXT_PUBLIC_UMAMI_URL }}"
|
|
export NEXT_PUBLIC_UMAMI_WEBSITE_ID="${{ vars.NEXT_PUBLIC_UMAMI_WEBSITE_ID }}"
|
|
export MY_EMAIL="${{ vars.MY_EMAIL }}"
|
|
export MY_INFO_EMAIL="${{ vars.MY_INFO_EMAIL }}"
|
|
export MY_PASSWORD="${{ secrets.MY_PASSWORD }}"
|
|
export MY_INFO_PASSWORD="${{ secrets.MY_INFO_PASSWORD }}"
|
|
export ADMIN_BASIC_AUTH="${{ secrets.ADMIN_BASIC_AUTH }}"
|
|
|
|
echo "📝 Exported environment variables:"
|
|
echo "NODE_ENV: ${NODE_ENV:-[NOT SET]}"
|
|
echo "LOG_LEVEL: ${LOG_LEVEL:-[NOT SET]}"
|
|
echo "NEXT_PUBLIC_BASE_URL: ${NEXT_PUBLIC_BASE_URL:-[NOT SET]}"
|
|
echo "MY_EMAIL: ${MY_EMAIL:-[NOT SET]}"
|
|
echo "MY_INFO_EMAIL: ${MY_INFO_EMAIL:-[NOT SET]}"
|
|
echo "MY_PASSWORD: $([ -n "${MY_PASSWORD}" ] && echo "[SET]" || echo "[NOT SET]")"
|
|
echo "MY_INFO_PASSWORD: $([ -n "${MY_INFO_PASSWORD}" ] && echo "[SET]" || echo "[NOT SET]")"
|
|
echo "ADMIN_BASIC_AUTH: $([ -n "${ADMIN_BASIC_AUTH}" ] && echo "[SET]" || echo "[NOT SET]")"
|