Skip to content

Merge pull request #91 from dnv-opensource/dependency-updates-followi… #13

Merge pull request #91 from dnv-opensource/dependency-updates-followi…

Merge pull request #91 from dnv-opensource/dependency-updates-followi… #13

name: Build and Push to ACR
on:
workflow_dispatch:
push:
branches:
- "main"
- "rest-api-stc-integration"
permissions:
id-token: write
contents: read
env:
IMAGE_NAME: ship-traffic-generator
jobs:
build-and-push:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Read package version and create image tags
id: meta
run: |
if [[ "${GITHUB_REF}" == "refs/heads/main" ]]; then
IMAGE_TAG=$(python -c "import tomllib, pathlib; print(tomllib.loads(pathlib.Path('pyproject.toml').read_text(encoding='utf-8'))['project']['version'])")
else
IMAGE_TAG=$(echo "${GITHUB_REF_NAME}" | tr '[:upper:]' '[:lower:]' | sed -E 's|[^a-z0-9._-]+|-|g')
fi
echo "image_tag=${IMAGE_TAG}" >> $GITHUB_OUTPUT
echo "image=${{ secrets.ACR_LOGIN_SERVER }}/${IMAGE_NAME}:${IMAGE_TAG}" >> $GITHUB_OUTPUT
- name: Azure login (OIDC)
uses: azure/login@v2
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
- name: ACR login
run: az acr login --name ${{ secrets.ACR_NAME }}
- name: Build and push
uses: docker/build-push-action@v6
with:
context: .
file: ./Dockerfile
push: true
tags: ${{ steps.meta.outputs.image }}