From 7fef2ee4527ca4929cd6b7fd49526efa718adb8d Mon Sep 17 00:00:00 2001 From: Drikus Roor Date: Wed, 21 Feb 2024 12:37:32 +0100 Subject: [PATCH] ci: Add deployment workflow for acceptance environment --- .github/workflows/podman.yml | 71 ++++++++++++++++++++++++++++++++++-- 1 file changed, 67 insertions(+), 4 deletions(-) diff --git a/.github/workflows/podman.yml b/.github/workflows/podman.yml index cb302785a..eca152f6e 100644 --- a/.github/workflows/podman.yml +++ b/.github/workflows/podman.yml @@ -5,11 +5,16 @@ on: branches: - develop workflow_dispatch: - + + # temporarily also for PRs + pull_request: + branches: + - develop + jobs: deploy-test: name: Deploy to test environment - environment: test + environment: Test runs-on: tst if: github.ref == 'refs/heads/develop' concurrency: @@ -30,7 +35,7 @@ jobs: REACT_APP_EXPERIMENT_SLUG: ${{ vars.REACT_APP_EXPERIMENT_SLUG }} REACT_APP_AML_HOME: ${{ vars.REACT_APP_AML_HOME }} REACT_APP_HTML_PAGE_TITLE: ${{ vars.REACT_APP_HTML_PAGE_TITLE }} - + # Secrets AML_SECRET_KEY: ${{ secrets.AML_SECRET_KEY }} SENTRY_DSN: ${{ secrets.SENTRY_DSN }} @@ -62,4 +67,62 @@ jobs: - name: Check Podman images run: podman-compose -f docker-compose-deploy.yml ps - name: Check logs - run: podman-compose -f docker-compose-deploy.yml logs \ No newline at end of file + run: podman-compose -f docker-compose-deploy.yml logs + + deploy-acceptance: + name: Deploy to acceptance environment + environment: Acceptance + runs-on: ACC + if: github.ref == 'refs/heads/main' || github.ref == 'refs/tags/*' || 1 == 1 # Temporarily always run during testing + concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + env: + + # Variables + AML_ALLOWED_HOSTS: ${{ vars.AML_ALLOWED_HOSTS }} + AML_CORS_ORIGIN_WHITELIST: ${{ vars.AML_CORS_ORIGIN_WHITELIST }} + AML_DEBUG: ${{ vars.AML_DEBUG }} + AML_LOCATION_PROVIDER: ${{ vars.AML_LOCATION_PROVIDER }} + AML_SUBPATH: ${{ vars.AML_SUBPATH }} + DJANGO_SETTINGS_MODULE: ${{ vars.DJANGO_SETTINGS_MODULE }} + SQL_DATABASE: ${{ vars.SQL_DATABASE }} + SQL_HOST: ${{ vars.SQL_HOST }} + SQL_PORT: ${{ vars.SQL_PORT }} + REACT_APP_API_ROOT: ${{ vars.REACT_APP_API_ROOT }} + REACT_APP_EXPERIMENT_SLUG: ${{ vars.REACT_APP_EXPERIMENT_SLUG }} + REACT_APP_AML_HOME: ${{ vars.REACT_APP_AML_HOME }} + REACT_APP_HTML_PAGE_TITLE: ${{ vars.REACT_APP_HTML_PAGE_TITLE }} + + # Secrets + AML_SECRET_KEY: ${{ secrets.AML_SECRET_KEY }} + SENTRY_DSN: ${{ secrets.SENTRY_DSN }} + SQL_USER: ${{ secrets.SQL_USER }} + SQL_PASSWORD: ${{ secrets.SQL_PASSWORD }} + REACT_APP_SENTRY_DSN: ${{ secrets.REACT_APP_SENTRY_DSN }} + DJANGO_SUPERUSER_USERNAME: ${{ secrets.DJANGO_SUPERUSER_USERNAME }} + DJANGO_SUPERUSER_PASSWORD: ${{ secrets.DJANGO_SUPERUSER_PASSWORD }} + DJANGO_SUPERUSER_EMAIL: ${{ secrets.DJANGO_SUPERUSER_EMAIL }} + + # Prevent podman services from exiting after startup + RUNNER_TRACKING_ID: "" + + steps: + - uses: actions/checkout@v4 + - name: Create .env file + run: | + touch .env + echo "REACT_APP_API_ROOT=$REACT_APP_API_ROOT" >> .env + echo "REACT_APP_EXPERIMENT_SLUG=$REACT_APP_EXPERIMENT_SLUG" >> .env + echo "REACT_APP_AML_HOME=$REACT_APP_AML_HOME" >> .env + echo "REACT_APP_HTML_PAGE_TITLE=$REACT_APP_HTML_PAGE_TITLE" >> .env + echo "REACT_APP_SENTRY_DSN=$REACT_APP_SENTRY_DSN" >> .env + cp .env frontend/.env + - name: Build Podman images + run: podman-compose -f docker-compose-deploy.yml build + - name: Deploy Podman images + run: podman-compose -f docker-compose-deploy.yml up -d --force-recreate + - name: Check Podman images + run: podman-compose -f docker-compose-deploy.yml ps + - name: Check logs + run: podman-compose -f docker-compose-deploy.yml logs +