diff --git a/.github/workflows/deploy-staging.yml b/.github/workflows/deploy-staging.yml new file mode 100644 index 000000000..3c8d6735a --- /dev/null +++ b/.github/workflows/deploy-staging.yml @@ -0,0 +1,49 @@ +name: Build and deploy to heroku staging. + +on: + push: + branches: [staging] + +jobs: + build_and_deploy_app: + runs-on: ubuntu-latest + environment: "staging" + steps: + - name: Checkout + uses: actions/checkout@v2 + - uses: actions/setup-node@v2 + with: + node-version: ${{ env.NODE_VERSION }} + - uses: actions/cache@v4 + with: + path: ~/.npm + key: npm-${{ hashFiles('package-lock.json') }} + restore-keys: npm- + - run: npm i + - run: npm run test + - run: npm run build + env: + AUTH0_DOMAIN: ${{ secrets.AUTH0_DOMAIN }} + AUTH0_CLIENT_ID: ${{ secrets.AUTH0_CLIENT_ID }} + AUTH0_AUDIENCE: ${{ secrets.AUTH0_AUDIENCE }} + AUTH0_REDIRECT_URI: ${{ secrets.AUTH0_REDIRECT_URI }} + GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }} + GOOGLE_ANALYTICS_GA4_ID: ${{ secrets.GOOGLE_ANALYTICS_GA4_ID }} + ALGOLIA_INDEX_PREFIX: ${{ secrets.ALGOLIA_INDEX_PREFIX }} + ALGOLIA_APPLICATION_ID: ${{ secrets.ALGOLIA_APPLICATION_ID }} + ALGOLIA_READ_ONLY_API_KEY: ${{ secrets.ALGOLIA_READ_ONLY_API_KEY }} + STRAPI_API_TOKEN: ${{ secrets.STRAPI_API_TOKEN }} + STRAPI_API_URL: ${{ secrets.STRAPI_API_URL }} + - name: Install Heroku CLI + run: | + curl https://cli-assets.heroku.com/install.sh | sh + - name: Build, Push and Release a Docker container to Heroku. + uses: gonuit/heroku-docker-deploy@v1.3.3 + with: + email: ${{ secrets.HEROKU_EMAIL }} + heroku_api_key: ${{ secrets.HEROKU_API_KEY }} + heroku_app_name: our415-staging + dockerfile_directory: ./ + dockerfile_name: Dockerfile + docker_options: "--no-cache" + process_type: web