Skip to content

Commit a968c57

Browse files
committed
testing release
1 parent da8b7d7 commit a968c57

File tree

1 file changed

+35
-29
lines changed

1 file changed

+35
-29
lines changed
Lines changed: 35 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Build and Push Docker Image
1+
name: Build and Publish Docker Image
22

33
on:
44
release:
@@ -15,14 +15,14 @@ on:
1515
env:
1616
REGISTRY: ghcr.io
1717
IMAGE_NAME: ${{ github.repository }}
18+
IMAGE_NAME_LOWER: ${{ github.repository_owner }}/${{ github.event.repository.name }}
1819

1920
jobs:
2021
build-and-push:
2122
name: Build and Push Docker Image
2223
runs-on: ubuntu-latest
23-
2424
permissions:
25-
contents: read
25+
contents: write
2626
packages: write
2727

2828
steps:
@@ -32,46 +32,52 @@ jobs:
3232
- name: Set up Docker Buildx
3333
uses: docker/setup-buildx-action@v3
3434

35-
- name: Log in to GitHub Container Registry
35+
- name: Log in to GHCR
3636
uses: docker/login-action@v3
3737
with:
3838
registry: ${{ env.REGISTRY }}
3939
username: ${{ github.actor }}
4040
password: ${{ secrets.GITHUB_TOKEN }}
4141

42-
- name: Extract tag name
43-
id: vars
42+
- name: Extract tag
43+
id: extract_tag
4444
run: |
45-
TAG_NAME=${GITHUB_REF#refs/tags/}
46-
IMAGE_NAME_LOWER=$(echo "${GITHUB_REPOSITORY}" | tr '[:upper:]' '[:lower:]')
47-
echo "tag=${TAG_NAME}" >> $GITHUB_OUTPUT
48-
echo "image_name=${IMAGE_NAME_LOWER}" >> $GITHUB_OUTPUT
49-
50-
if [[ "$TAG_NAME" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
51-
echo "latest=true" >> $GITHUB_OUTPUT
52-
else
53-
echo "latest=false" >> $GITHUB_OUTPUT
54-
fi
45+
VERSION_TAG=${GITHUB_REF##*/}
46+
echo "version=$VERSION_TAG" >> "$GITHUB_OUTPUT"
47+
echo "image=ghcr.io/${{ env.IMAGE_NAME_LOWER }}" >> "$GITHUB_OUTPUT"
5548
56-
- name: Build and push Docker image
49+
- name: Build and Push Docker image
5750
uses: docker/build-push-action@v5
5851
with:
5952
context: .
60-
file: ./src/docker/Dockerfile
53+
file: src/docker/Dockerfile
6154
push: true
6255
tags: |
63-
ghcr.io/${{ steps.vars.outputs.image_name }}:${{ steps.vars.outputs.tag }}
64-
${{ steps.vars.outputs.latest == 'true' && format('ghcr.io/{0}:latest', steps.vars.outputs.image_name) || '' }}
56+
${{ steps.extract_tag.outputs.image }}:${{ steps.extract_tag.outputs.version }}
57+
${{ steps.extract_tag.outputs.image }}:latest
6558
labels: |
6659
org.opencontainers.image.source=${{ github.repositoryUrl }}
67-
org.opencontainers.image.version=${{ steps.vars.outputs.tag }}
68-
org.opencontainers.image.created=${{ github.event.head_commit.timestamp || github.event.release.published_at || github.event.repository.updated_at }}
60+
org.opencontainers.image.version=${{ steps.extract_tag.outputs.version }}
6961
org.opencontainers.image.revision=${{ github.sha }}
70-
org.opencontainers.image.title=${{ github.repository }}
7162
72-
- name: Confirm tags pushed
73-
run: |
74-
echo "Published ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.vars.outputs.tag }}"
75-
if [ "${{ steps.vars.outputs.latest }}" = "true" ]; then
76-
echo "Also tagged as :latest"
77-
fi
63+
- name: Generate Release Notes
64+
uses: softprops/action-gh-release@v2
65+
with:
66+
tag_name: ${{ steps.extract_tag.outputs.version }}
67+
generate_release_notes: true
68+
env:
69+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
70+
71+
- name: Generate CHANGELOG.md
72+
uses: heinrichreimer/action-github-changelog-generator@v2.3
73+
with:
74+
token: ${{ secrets.GITHUB_TOKEN }}
75+
output: CHANGELOG.md
76+
tag: ${{ steps.extract_tag.outputs.version }}
77+
78+
- name: Commit updated CHANGELOG.md
79+
uses: stefanzweifel/git-auto-commit-action@v5
80+
with:
81+
commit_message: "chore: update CHANGELOG.md for ${{ steps.extract_tag.outputs.version }}"
82+
branch: main
83+
file_pattern: CHANGELOG.md

0 commit comments

Comments
 (0)