Skip to content

Commit 4298f40

Browse files
committed
add sbuild nightly workflow
1 parent accdd7e commit 4298f40

1 file changed

Lines changed: 97 additions & 0 deletions

File tree

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
name: sbuild nightly
2+
3+
on:
4+
push:
5+
tags:
6+
- nightly-sbuild
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: write
11+
12+
jobs:
13+
14+
remove-nightly-tag:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- name: Checkout
18+
uses: actions/checkout@v4
19+
20+
- name: Remove existing nightly tag
21+
run: |
22+
gh release delete nightly-sbuild --cleanup-tag || true
23+
env:
24+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
25+
publish-nightly:
26+
name: Publish nightly binaries
27+
runs-on: ubuntu-latest
28+
strategy:
29+
fail-fast: false
30+
matrix:
31+
build:
32+
- {
33+
NAME: x86_64-linux,
34+
TARGET: x86_64-unknown-linux-musl,
35+
}
36+
- {
37+
NAME: aarch64-linux,
38+
TARGET: aarch64-unknown-linux-musl,
39+
}
40+
steps:
41+
- name: Checkout
42+
uses: actions/checkout@v4
43+
44+
- name: Get version info
45+
id: version
46+
run: |
47+
SHORT_SHA=$(git rev-parse --short HEAD)
48+
echo "version=nightly-sbuild-${SHORT_SHA}" >> $GITHUB_OUTPUT
49+
50+
- name: Install dependencies
51+
shell: bash
52+
run: |
53+
sudo apt-get update
54+
sudo apt-get install -y --no-install-recommends \
55+
--allow-unauthenticated musl-tools b3sum
56+
57+
- name: Install Rust toolchain
58+
uses: dtolnay/rust-toolchain@nightly
59+
with:
60+
targets: ${{ matrix.build.TARGET }}
61+
62+
- name: Install cross-compilation tools
63+
uses: taiki-e/setup-cross-toolchain-action@v1
64+
with:
65+
target: ${{ matrix.build.TARGET }}
66+
67+
- name: Build
68+
run: cargo build --bin sbuild --release --locked --target ${{ matrix.build.TARGET }}
69+
70+
- name: Prepare release assets
71+
shell: bash
72+
run: |
73+
mkdir -p release
74+
cp {LICENSE,README.md} release/
75+
cp "target/${{ matrix.build.TARGET }}/release/sbuild" release/
76+
77+
- name: Create release artifacts
78+
shell: bash
79+
run: |
80+
cp release/sbuild sbuild-${{ matrix.build.NAME }}
81+
b3sum sbuild-${{ matrix.build.NAME }} \
82+
> sbuild-${{ matrix.build.NAME }}.b3sum
83+
tar -czvf sbuild-${{ matrix.build.NAME }}.tar.gz \
84+
release/
85+
b3sum sbuild-${{ matrix.build.NAME }}.tar.gz \
86+
> sbuild-${{ matrix.build.NAME }}.tar.gz.b3sum
87+
88+
- name: Publish to GitHub (nightly)
89+
uses: svenstaro/upload-release-action@v2
90+
with:
91+
repo_token: ${{ secrets.GITHUB_TOKEN }}
92+
file: sbuild-${{ matrix.build.NAME }}*
93+
file_glob: true
94+
overwrite: true
95+
tag: nightly-sbuild
96+
release_name: "${{ steps.version.outputs.version }}"
97+
prerelease: true

0 commit comments

Comments
 (0)