Skip to content

Initial version of CI/CD #17

Initial version of CI/CD

Initial version of CI/CD #17

Workflow file for this run

name: Build and Push Docker Image
on:
push:
branches: [ "main" ]
paths: ['Dockerfile']
pull_request:
branches: [ "main" ]
paths: ['Dockerfile']
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
CARGO_TERM_COLOR: always
jobs:
build-and-push-image:
runs-on: ubuntu-latest
permissions:
packages: write
steps:
- name: Set image name to lowercase
id: img-name
run: |
echo "image_name=${REGISTRY}/${IMAGE_NAME}" | tr '[:upper:]' '[:lower:]' >>${GITHUB_OUTPUT}
- name: Login to container registry
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- if: github.ref_name == github.event.repository.default_branch
name: Build and push
uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75 # v6.9.0
with:
push: true
tags: ${{ steps.img-name.outputs.image_name }}:latest,${{ steps.img-name.outputs.image_name }}:${{ github.sha }}
- if: github.ref_name != github.event.repository.default_branch
name: Build and push
uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75 # v6.9.0
with:
push: true
tags: ${{ steps.img-name.outputs.image_name }}:${{ github.sha }}