Skip to content

Commit b6ba993

Browse files
authored
Merge pull request #52 from rtCamp/feat/workflows
Add GitHub Actions for automated releases and multi-arch Docker builds
2 parents 3732f29 + 2aee346 commit b6ba993

File tree

3 files changed

+69
-0
lines changed

3 files changed

+69
-0
lines changed

.github/dependabot.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: github-actions
4+
directory: "/"
5+
schedule:
6+
interval: "weekly"
7+
- package-ecosystem: docker
8+
directory: "/"
9+
schedule:
10+
interval: "weekly"

.github/workflows/build.yaml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
on:
2+
workflow_dispatch:
3+
push:
4+
tags:
5+
- '*'
6+
7+
permissions:
8+
contents: read
9+
packages: write
10+
11+
jobs:
12+
build:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Checkout
16+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
17+
- name: Set up QEMU
18+
uses: docker/setup-qemu-action@v3
19+
- name: Set up Docker Buildx
20+
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
21+
- name: Login to GitHub Container Registry
22+
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
23+
- name: Set Lowercase Image Tag
24+
id: prep
25+
run: |
26+
IMAGE_TAG="ghcr.io/${{ github.repository }}:${{ github.ref_name }}"
27+
IMAGE_TAG_LOWER=$(echo "$IMAGE_TAG" | tr '[:upper:]' '[:lower:]')
28+
echo "IMAGE_TAG_LOWER=$IMAGE_TAG_LOWER" >> $GITHUB_ENV
29+
- name: Build and Push Multi-Arch Docker Image
30+
run: |
31+
docker buildx build --platform linux/amd64,linux/arm64 -t "$IMAGE_TAG_LOWER" --push .

.github/workflows/release.yaml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
on:
2+
push:
3+
tags:
4+
- "v*"
5+
name: Release Creation
6+
7+
permissions:
8+
contents: write
9+
10+
jobs:
11+
release:
12+
name: Create a Draft Release on GitHub
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Get Release Name
16+
id: get_release_name
17+
run: |
18+
echo "release_name=${GITHUB_REF_NAME/v/Version }" >> $GITHUB_ENV
19+
- name: Publish a Draft Release
20+
uses: softprops/action-gh-release@a06a81a03ee405af7f2048a818ed3f03bbf83c7b # v2.5.0
21+
with:
22+
body: |
23+
## What's Changed
24+
25+
draft: true # Creates a Draft Release
26+
name: ${{ env.release_name }}
27+
generate_release_notes: true
28+
append_body: true

0 commit comments

Comments
 (0)