Skip to content

Deploy update monitor #8

Deploy update monitor

Deploy update monitor #8

name: Deploy update monitor
concurrency:
group: update-monitor-deployment
permissions: {}
on:
workflow_dispatch: {}
schedule:
- cron: "45 * * * *"
jobs:
deploy-update-monitor:
name: Deploy update monitor
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Set up Docker.io mirror
uses: docker/setup-buildx-action@v3
with:
buildkitd-config-inline: |
[registry."docker.io"]
mirrors = ["mirror.gcr.io"]
- name: Install heroku CLI
run: curl https://cli-assets.heroku.com/install-ubuntu.sh | sh
- name: Login to heroku container registry
uses: docker/login-action@v3
with:
username: "_"
password: ${{ secrets.HEROKU_TOKEN }}
registry: registry.heroku.com
- name: Build and publish containers
run: |
docker build --push \
--build-arg TURBO_TEAM=${TURBO_TEAM} \
--build-arg TURBO_TOKEN=${TURBO_TOKEN} \
-t ${TAG_DEV} -t ${TAG_PROD} \
-f ${DOCKERFILE} .
env:
DOCKERFILE: Dockerfile.backend
TAG_DEV: registry.heroku.com/${{ secrets.HEROKU_UPDATE_MONITOR_DEV }}/web
TAG_PROD: registry.heroku.com/${{ secrets.HEROKU_UPDATE_MONITOR_PROD }}/web
TURBO_TEAM: ${{ vars.TURBO_TEAM }}
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
- name: Release published containers
run: |
set -ex
heroku container:release -a ${{ secrets.HEROKU_UPDATE_MONITOR_DEV }} -v web
heroku container:release -a ${{ secrets.HEROKU_UPDATE_MONITOR_PROD }} -v web
env:
HEROKU_ORGANIZATION: ${{ vars.HEROKU_ORG }}
HEROKU_API_KEY: ${{ secrets.HEROKU_TOKEN }}