Skip to content

Commit ab4222e

Browse files
Rework how debian package is made in pipeline.
1 parent f28c48a commit ab4222e

2 files changed

Lines changed: 46 additions & 34 deletions

File tree

.github/workflows/build.yml

Lines changed: 45 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,21 @@ jobs:
88
runs-on: ubuntu-latest
99
steps:
1010
- name: Get code
11-
uses: actions/checkout@v4
11+
uses: actions/checkout@v7
1212
- name: Get dependencies
13-
uses: awalsh128/cache-apt-pkgs-action@latest
14-
with:
15-
packages: libgtk-4-1 openssl libsqlite3-0 libsqlite3-dev libglib2.0-dev sqlite3 libgtk-4-dev meson ninja-build cargo gettext desktop-file-utils
16-
version: cargo-deps-${{ hashFiles('**/Cargo.lock') }}
17-
- name: Cache Rust Artifacts
18-
uses: Swatinem/rust-cache@v2
19-
with:
20-
cache-directories: "./target"
13+
run: |
14+
sudo apt-get update
15+
sudo apt-get install -y openssl libsqlite3-dev sqlite3 meson ninja-build desktop-file-utils rustup
16+
- name: Set up Rust toolchain
17+
run: |
18+
rustup toolchain install stable
19+
rustup default stable
20+
- name: Add rustup cargo bin to PATH
21+
run: echo "${HOME}/.cargo/bin" >> $GITHUB_PATH
2122
- name: Build waytrogen
2223
run: cargo build --release
2324
- name: Upload compiled binary
24-
uses: actions/upload-artifact@v4
25+
uses: actions/upload-artifact@v7
2526
id: compiled-meson-project
2627
with:
2728
name: waytrogen_${{ github.ref_name }}_amd64
@@ -30,39 +31,50 @@ jobs:
3031
run: |
3132
tar -czf waytrogen-${{ github.ref_name }}-shell-completions.tar.gz ./target/completions
3233
- name: Upload completions
33-
uses: actions/upload-artifact@v4
34+
uses: actions/upload-artifact@v7
3435
id: shell-completions
3536
with:
37+
name: waytrogen-${{ github.ref_name }}-shell-completions.tar.gz
3638
path: waytrogen-${{ github.ref_name }}-shell-completions.tar.gz
3739

3840

3941
package-deb-file:
40-
runs-on: ubuntu-latest
42+
runs-on: ubuntu-26.04
4143
steps:
42-
- uses: actions/checkout@v4
43-
- uses: jtdor/build-deb-action@v1
44-
env:
45-
DEB_BUILD_OPTIONS: noautodbgsym
46-
with:
47-
buildpackage-opts: --build=binary --no-sign
44+
- name: Get code
45+
uses: actions/checkout@v7
46+
- name: Get dependencies
47+
run: |
48+
sudo apt-get update
49+
sudo apt-get install -y openssl libsqlite3-dev sqlite3 meson ninja-build desktop-file-utils devscripts build-essential debhelper-compat cargo rustc
50+
[ -d "$HOME/.cargo" ] && rm -rf "$HOME/.cargo" || echo "$HOME/.cargo does not exist, skipping"
51+
[ -d "$HOME/.rustup" ] && rm -rf "$HOME/.rustup" || echo "$HOME/.rustup does not exist, skipping"
52+
- uses: actions/checkout@v7
53+
- name: Create deb package
54+
run: |
55+
dpkg-buildpackage -us -uc -b
56+
- name: Move deb package
57+
run : mv ../waytrogen_${{ github.ref_name }}-1_amd64.deb .
4858
- name: Upload deb package
49-
uses: actions/upload-artifact@v4
59+
uses: actions/upload-artifact@v7
5060
with:
51-
name: "${{ env.PACKAGE_NAME }}_${{ github.ref_name }}_amd64.deb"
52-
path: "debian/artifacts/${{ env.PACKAGE_NAME }}_${{ github.ref_name }}_amd64.deb"
61+
name: "waytrogen_${{ github.ref_name }}-1_amd64.deb"
62+
path: "waytrogen_${{ github.ref_name }}-1_amd64.deb"
5363

5464
get-vendored-dependencies:
5565
runs-on: ubuntu-latest
5666
steps:
5767
- name: Get code
58-
uses: actions/checkout@v4
68+
uses: actions/checkout@v7
69+
- name: Set up Rust toolchain
70+
run: |
71+
rustup default stable
5972
- name: Generate vendor tarball
60-
uses: dtolnay/rust-toolchain@stable
61-
- run: |
73+
run: |
6274
cargo vendor vendor/
6375
tar -czf waytrogen-${{ github.ref_name }}-vendor.tar.gz vendor
6476
- name: Upload vendored dependencies
65-
uses: actions/upload-artifact@v4
77+
uses: actions/upload-artifact@v7
6678
with:
6779
name: waytrogen-${{ github.ref_name }}-vendor.tar.gz
6880
path: waytrogen-${{ github.ref_name }}-vendor.tar.gz
@@ -72,29 +84,29 @@ jobs:
7284
runs-on: ubuntu-latest
7385
steps:
7486
- name: Get generic build prefix usr binary
75-
uses: actions/download-artifact@v4
87+
uses: actions/download-artifact@v8
7688
with:
7789
name: waytrogen_${{ github.ref_name }}_amd64
7890
- name: Rename precompiled binary
7991
run: mv waytrogen waytrogen_${{ github.ref_name }}_amd64
8092
- name: Get deb file
81-
uses: actions/download-artifact@v4
93+
uses: actions/download-artifact@v8
8294
with:
83-
name: waytrogen_${{ github.ref_name }}_amd64.deb
95+
name: waytrogen_${{ github.ref_name }}-1_amd64.deb
8496
- name: Get vendor file
85-
uses: actions/download-artifact@v4
97+
uses: actions/download-artifact@v8
8698
with:
8799
name: waytrogen-${{ github.ref_name }}-vendor.tar.gz
88100
- name: Get shell completions file
89-
uses: actions/download-artifact@v4
101+
uses: actions/download-artifact@v8
90102
with:
91-
name: waytrogen-shell-completions.tar.gz
103+
name: waytrogen-${{ github.ref_name }}-shell-completions.tar.gz
92104
- name: Publish GitHub Release
93105
uses: softprops/action-gh-release@v2
94106
with:
95107
files: |
96108
waytrogen_${{ github.ref_name }}_amd64
97-
waytrogen_${{ github.ref_name }}_amd64.deb
109+
waytrogen_${{ github.ref_name }}-1_amd64.deb
98110
waytrogen-${{ github.ref_name }}-vendor.tar.gz
99111
waytrogen-${{ github.ref_name }}-shell-completions.tar.gz
100112
make_latest: 'true'
@@ -147,7 +159,7 @@ jobs:
147159
runs-on: ubuntu-latest
148160
steps:
149161
- name: Get code
150-
uses: actions/checkout@v4
162+
uses: actions/checkout@v7
151163
- name: Install API token for copr-cli
152164
env:
153165
API_TOKEN_CONTENT: ${{ secrets.COPR_CLI_CONFIG }}

debian/control

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Source: waytrogen
22
Priority: Optional
33
Section: utilities
44
Maintainer: nikolaizombie1 <fabio.matos999@gmail.com>
5-
Build-Depends: debhelper-compat (= 13), openssl, libsqlite3-0, libsqlite3-dev, pkg-config, ninja-build, cargo, meson
5+
Build-Depends: debhelper-compat (= 13), openssl, libsqlite3-0, libsqlite3-dev, pkg-config, ninja-build, meson
66
Standards-Version: 4.6.2
77
Rules-Requires-Root: no
88
Description: Lightning fast wallpaper setter for Wayland Compositors

0 commit comments

Comments
 (0)