Skip to content

Update Docker Images #784

Update Docker Images

Update Docker Images #784

name: Update Docker Images
on:
workflow_dispatch:
schedule:
- cron: "50 6 * * 0-6"
push:
tags:
- "*.*.*"
branches:
- "release/*"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
AWS_REGION: us-east-1
jobs:
generate-docker-images:
runs-on: ubuntu-latest
steps:
- name: Force Install GIT latest
run: |
sudo apt-get install -y software-properties-common \
&& sudo apt-get update \
&& sudo add-apt-repository -y ppa:git-core/ppa \
&& sudo apt-get update \
&& sudo apt-get install -y git \
&& git --version
- name: Checkout code
uses: actions/checkout@v4
- name: Get commit date for the triggering commit
run: |
COMMIT_DATE=$(git show -s --format="%cd" ${{ github.sha }})
echo "COMMIT_DATE=$COMMIT_DATE" >> $GITHUB_ENV
# Checkout the repository to the GitHub Actions runner
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Check release tag
id: release-tag
uses: actions-ecosystem/action-regex-match@v2
with:
text: ${{ github.ref }}
regex: 'refs/tags/[0-9]{4}\.[0-9]+\.[0-9]+$'
- name: Check release candidate tag
id: release-candidate-tag
uses: actions-ecosystem/action-regex-match@v2
with:
text: ${{ github.ref }}
regex: 'refs/tags/[0-9]{4}\.[0-9]+\.[0-9]+-rc[0-9]+$'
- name: Build and push edge nextjs
if: ${{ github.ref == 'refs/heads/main' }}
uses: docker/build-push-action@v4
with:
push: true
file: frontend/apps/site/Dockerfile
tags: mintter/sitegw:main
build-args: |
SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}
SITE_SENTRY_DSN=${{ secrets.SITE_SENTRY_DSN }}
- name: Build and push rc nextjs
if: (startsWith(github.ref, 'refs/tags/') && (steps.release-candidate-tag.outputs.match || steps.release-tag.outputs.match)) || startsWith(github.ref, 'refs/heads/release/')
uses: docker/build-push-action@v4
with:
push: true
file: frontend/apps/site/Dockerfile
tags: mintter/sitegw:rc
build-args: |
SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}
SITE_SENTRY_DSN=${{ secrets.SITE_SENTRY_DSN }}
- name: Build and push stable nextjs
if: startsWith(github.ref, 'refs/tags/') && steps.release-tag.outputs.match
uses: docker/build-push-action@v4
with:
push: true
file: frontend/apps/site/Dockerfile
tags: mintter/sitegw:latest
build-args: |
SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}
SITE_SENTRY_DSN=${{ secrets.SITE_SENTRY_DSN }}
- name: Build and push edge mintter-site
if: ${{ github.ref == 'refs/heads/main' }}
uses: docker/build-push-action@v4
with:
push: true
build-args: |
COMMIT_HASH=${{ github.sha }}
BRANCH=${{ github.ref }}
DATE=${{ env.COMMIT_DATE }}
file: backend/cmd/mintter-site/Dockerfile
tags: mintter/mintter-site:main
- name: Build and push rc mintter-site
if: (startsWith(github.ref, 'refs/tags/') && (steps.release-candidate-tag.outputs.match || steps.release-tag.outputs.match)) || startsWith(github.ref, 'refs/heads/release/')
uses: docker/build-push-action@v4
with:
push: true
build-args: |
COMMIT_HASH=${{ github.sha }}
BRANCH=${{ github.ref }}
DATE=${{ env.COMMIT_DATE }}
file: backend/cmd/mintter-site/Dockerfile
tags: mintter/mintter-site:rc
- name: Build and push stable mintter-site
if: startsWith(github.ref, 'refs/tags/') && steps.release-tag.outputs.match
uses: docker/build-push-action@v4
with:
push: true
build-args: |
COMMIT_HASH=${{ github.sha }}
BRANCH=${{ github.ref }}
DATE=${{ env.COMMIT_DATE }}
file: backend/cmd/mintter-site/Dockerfile
tags: mintter/mintter-site:latest
- name: Build and push edge monitord
if: ${{ github.ref == 'refs/heads/main' }}
uses: docker/build-push-action@v4
with:
push: true
file: backend/cmd/monitord/Dockerfile
tags: mintter/monitord:main
- name: Build and push rc monitord
if: (startsWith(github.ref, 'refs/tags/') && (steps.release-candidate-tag.outputs.match || steps.release-tag.outputs.match)) || startsWith(github.ref, 'refs/heads/release/')
uses: docker/build-push-action@v4
with:
push: true
file: backend/cmd/monitord/Dockerfile
tags: mintter/monitord:rc
- name: Build and push stable monitord
if: startsWith(github.ref, 'refs/tags/') && steps.release-tag.outputs.match
uses: docker/build-push-action@v4
with:
push: true
file: backend/cmd/monitord/Dockerfile
tags: mintter/monitord:latest
- name: Build and push edge relay
if: ${{ github.ref == 'refs/heads/main' }}
uses: docker/build-push-action@v4
with:
push: true
file: backend/cmd/relayd/Dockerfile
tags: mintter/relayd:main
- name: Build and push rc relay
if: (startsWith(github.ref, 'refs/tags/') && (steps.release-candidate-tag.outputs.match || steps.release-tag.outputs.match)) || startsWith(github.ref, 'refs/heads/release/')
uses: docker/build-push-action@v4
with:
push: true
file: backend/cmd/relayd/Dockerfile
tags: mintter/relayd:rc
- name: Build and push stable relay
if: startsWith(github.ref, 'refs/tags/') && steps.release-tag.outputs.match
uses: docker/build-push-action@v4
with:
push: true
file: backend/cmd/relayd/Dockerfile
tags: mintter/relayd:latest