feat: add VariablesButton component to workflow layout (#1837) #1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Deploy Background Jobs | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - dev | |
| - feature* | |
| paths: | |
| - "apps/bg-jobs/**" | |
| workflow_dispatch: | |
| inputs: | |
| environment: | |
| description: "Environment to deploy to" | |
| required: true | |
| default: "dev" | |
| type: choice | |
| options: | |
| - dev | |
| - prod | |
| force_deploy: | |
| description: "Force deploy even if no changes detected" | |
| required: false | |
| default: false | |
| type: boolean | |
| jobs: | |
| deploy: | |
| runs-on: ubuntu-latest | |
| environment: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.environment || (github.ref_name == 'main' && 'prod' || 'dev') }} | |
| env: | |
| AWS_REGION: ap-south-1 | |
| AWS_LAMBDA_ROLE_ARN: arn:aws:iam::301490598848:role/LambdaAdminRole | |
| AWS_STEPFUNCTIONS_ROLE_ARN: arn:aws:iam::301490598848:role/StepFunctionsAdminRole | |
| AWS_ACCOUNT_ID: "301490598848" | |
| AWS_ACCESS_KEY_ID: ${{ secrets.BG_AWS_ACCESS_KEY_ID }} | |
| AWS_SECRET_ACCESS_KEY: ${{ secrets.BG_AWS_SECRET_ACCESS_KEY }} | |
| BRANCH_NAME: ${{ github.ref_name }} | |
| ENV: ${{ github.ref_name == 'main' && 'prod' || 'dev' }} | |
| SECRET_NAME: ${{ github.ref_name == 'main' && 'atoms-prod/bgjobs' || 'atoms-dev/bgjobs' }} | |
| FORCE_DEPLOY: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.force_deploy || 'false' }} | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 2 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "22" | |
| cache: "npm" | |
| - name: Setup Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: "3.12" | |
| - name: Debug environment variables | |
| run: | | |
| echo "AWS_REGION: $AWS_REGION" | |
| echo "BRANCH_NAME: $BRANCH_NAME" | |
| echo "Secret BG_AWS_ACCESS_KEY_ID exists: ${{ secrets.BG_AWS_SECRET_ACCESS_KEY != '' }}" | |
| echo "Secret BG_AWS_SECRET_ACCESS_KEY exists: ${{ secrets.BG_AWS_SECRET_ACCESS_KEY != '' }}" | |
| - name: Detect language and deploy | |
| run: | | |
| # Check if there are changes in Node.js or Python directories | |
| NODE_CHANGES=$(git diff --name-only HEAD^ HEAD -- apps/bg-jobs/node/ 2>/dev/null || echo "") | |
| PYTHON_CHANGES=$(git diff --name-only HEAD^ HEAD -- apps/bg-jobs/python/ 2>/dev/null || echo "") | |
| # If force deploy is enabled, deploy regardless of changes | |
| if [ "$FORCE_DEPLOY" = "true" ]; then | |
| echo "Force deploy enabled - deploying all background jobs..." | |
| echo "Deploying Node.js background jobs..." | |
| ./scripts/deploy-bg-jobs-node.sh | |
| echo "Deploying Python background jobs..." | |
| chmod +x ./scripts/deploy-bg-jobs-python.sh | |
| ./scripts/deploy-bg-jobs-python.sh | |
| exit 0 | |
| fi | |
| if [ -n "$NODE_CHANGES" ]; then | |
| echo "Deploying Node.js background jobs..." | |
| ./scripts/deploy-bg-jobs-node.sh | |
| fi | |
| if [ -n "$PYTHON_CHANGES" ]; then | |
| echo "Deploying Python background jobs..." | |
| chmod +x ./scripts/deploy-bg-jobs-python.sh | |
| ./scripts/deploy-bg-jobs-python.sh | |
| fi | |
| if [ -z "$NODE_CHANGES" ] && [ -z "$PYTHON_CHANGES" ]; then | |
| echo "No changes detected in bg-jobs directories" | |
| fi | |
| - name: Deploy API Gateway | |
| run: | | |
| echo "Deploying API Gateway for $ENV environment..." | |
| chmod +x ./scripts/deploy-api-gateway.sh | |
| ./scripts/deploy-api-gateway.sh |