Skip to content

Commit 88fc3b6

Browse files
committed
ci: add workflow to build on Alpine, too
1 parent 7e4125c commit 88fc3b6

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

.github/workflows/alpine.yml

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: Alpine
2+
3+
on: push
4+
5+
jobs:
6+
alpine:
7+
runs-on: ubuntu-22.04
8+
container: alpine:latest
9+
steps:
10+
# Git is required so that actions/checkout does a proper Git checkout.
11+
- name: Install Git in container
12+
run: |
13+
apk update
14+
apk add git
15+
git config --global --add safe.directory "$GITHUB_WORKSPACE"
16+
# Checks-out the repository under $GITHUB_WORKSPACE.
17+
- uses: actions/checkout@v4
18+
with:
19+
fetch-depth: 0
20+
submodules: 'recursive'
21+
- name: Install packages
22+
run: |
23+
apk update
24+
apk add cmake g++ git make
25+
- name: Build statically linked binaries
26+
run: |
27+
cd "$GITHUB_WORKSPACE"
28+
mkdir build-static
29+
cd build-static
30+
cmake ../ -DENABLE_LTO=ON -DENABLE_STATIC_LINKING=ON
31+
# Only build the executable, no tests.
32+
cmake --build . -j2 --target sha256
33+
- name: Collect files
34+
run: |
35+
mkdir -p "$GITHUB_WORKSPACE"/artifacts
36+
cd "$GITHUB_WORKSPACE"
37+
cp build-static/sha256/sha256 artifacts/
38+
cp ReadMe.de.txt artifacts/
39+
cp ReadMe.en.txt artifacts/
40+
cp ChangeLog.md artifacts/
41+
cp LICENSE artifacts/
42+
VERSION=$(git describe --always)
43+
mv artifacts sha256_$VERSION
44+
tar czf sha256_${VERSION}_linux-amd64-generic.tar.gz sha256_$VERSION
45+
- name: Upload artifact
46+
uses: actions/upload-artifact@v4
47+
with:
48+
name: sha256_linux-amd64-generic
49+
path: |
50+
sha256_*_linux-amd64-generic.tar.gz

0 commit comments

Comments
 (0)