Skip to content

Commit 2030697

Browse files
committed
Add release workflow
1 parent 7065652 commit 2030697

1 file changed

Lines changed: 53 additions & 0 deletions

File tree

.github/workflows/release.yml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: Build and Release
2+
3+
on:
4+
push:
5+
tags:
6+
- '[0-9][0-9][0-9][0-9].[0-9]*'
7+
8+
jobs:
9+
build:
10+
runs-on: ubuntu-latest
11+
container:
12+
image: archlinux:base-devel
13+
14+
steps:
15+
- name: Checkout
16+
uses: actions/checkout@v4
17+
18+
- name: Validate version
19+
run: |
20+
TAG_VERSION="${GITHUB_REF_NAME}"
21+
PKGBUILD_VERSION=$(grep -oP '^pkgver=\K.*' PKGBUILD)
22+
if [ "$TAG_VERSION" != "$PKGBUILD_VERSION" ]; then
23+
echo "::error::Tag ($TAG_VERSION) does not match PKGBUILD pkgver ($PKGBUILD_VERSION)"
24+
exit 1
25+
fi
26+
27+
- name: Create build user
28+
run: |
29+
useradd -m builder
30+
chown -R builder:builder .
31+
32+
- name: Build packages
33+
run: su builder -c 'makepkg'
34+
35+
- name: Build repo database
36+
run: su builder -c 'repo-add lemuel.db.tar.xz *.pkg.tar.zst'
37+
38+
- name: Prepare database files
39+
run: |
40+
cp lemuel.db.tar.xz lemuel.db
41+
cp lemuel.files.tar.xz lemuel.files
42+
43+
- name: Create GitHub Release
44+
uses: softprops/action-gh-release@v2
45+
with:
46+
tag_name: ${{ github.ref_name }}
47+
name: ${{ github.ref_name }}
48+
files: |
49+
*.pkg.tar.zst
50+
lemuel.db
51+
lemuel.db.tar.xz
52+
lemuel.files
53+
lemuel.files.tar.xz

0 commit comments

Comments
 (0)