Skip to content

v2.0.13

v2.0.13 #20

Workflow file for this run

name: Release new version
on:
release:
types:
- published
workflow_dispatch:
inputs:
tag:
description: 'Tag to create a floating tag for'
required: true
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}/artsdata-rdf-fetcher
jobs:
build-and-publish:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Log in to GHCR
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
- name: Build and push Docker image
uses: docker/build-push-action@v6
with:
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
create-floating-tag:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set major version
run: |
git config --local user.email "[email protected]"
git config --local user.name "GitHub Actions"
git fetch --tags
current_version=${{ github.event.release.tag_name || github.event.inputs.tag }}
if [[ ! "$current_version" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo "Error: current_version does not follow semantic versioning (vX.Y.Z)."
exit 1
fi
major_version="${current_version%%.*}"
git tag -d "$major_version" 2>/dev/null || echo "Tag $major_version not found."
git tag $major_version $current_version
git push origin $major_version --force