broken config link #9
This file contains 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: Build and Publish Docker Image | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- 'main' | |
- 'dev' | |
release: | |
types: [published] | |
jobs: | |
build-and-push-image: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
packages: write | |
env: | |
# Set up environment variables for the job | |
DOCKER_REGISTRY: ghcr.io | |
IMAGE_NAME: ${{ github.repository }} | |
TAG: ${{ github.sha }} | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Free Disk Space Before Build | |
run: | | |
sudo rm -rf /usr/local/.ghcup | |
sudo rm -rf /opt/hostedtoolcache/CodeQL | |
sudo rm -rf /usr/local/lib/android | |
sudo rm -rf /usr/share/dotnet | |
sudo rm -rf /opt/ghc | |
sudo rm -rf /usr/local/share/boost | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
with: | |
install: true | |
# Log in to the GitHub Container Registry only when not running on a pull request event | |
- name: Login to Docker Registry | |
uses: docker/login-action@v2 | |
with: | |
registry: ${{ env.DOCKER_REGISTRY }} | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Extract metadata (tags, labels) for Docker | |
id: meta | |
uses: docker/metadata-action@v4 | |
with: | |
images: ${{ env.DOCKER_REGISTRY }}/${{ env.IMAGE_NAME }} | |
# Build and push the Docker image, main branch | |
- name: Build and Push Docker Image | |
if: github.ref == 'refs/heads/main' | |
uses: docker/build-push-action@v4 | |
with: | |
context: . | |
file: Dockerfile | |
push: true | |
tags: ${{ env.DOCKER_REGISTRY }}/${{ env.IMAGE_NAME }}:latest | |
labels: version=${{ github.run_id }} | |
# dev branch | |
- name: Build and Push Docker Image | |
if: github.ref == 'refs/heads/dev' | |
uses: docker/build-push-action@v4 | |
with: | |
context: . | |
file: Dockerfile | |
push: true | |
tags: ${{ env.DOCKER_REGISTRY }}/${{ env.IMAGE_NAME }}:latest | |
labels: version=${{ github.run_id }} | |
# For tagged releases | |
- name: Build and Push Docker Image (Tagged) | |
if: startsWith(github.ref, 'refs/tags/') | |
uses: docker/build-push-action@v4 | |
with: | |
context: . | |
file: Dockerfile | |
push: true | |
tags: ${{ env.DOCKER_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }} | |
labels: version=${{ github.run_id }} |