@@ -2,24 +2,29 @@ name: Debian/RPM Packaging Release
22
33on :
44 push :
5- tags :
6- - " v*"
5+ branches : ["main"]
6+ pull_request :
7+ branches : ["main"]
78
89jobs :
910 build-debian :
1011 name : Build Debian Package
1112 runs-on : ubuntu-latest
1213 steps :
1314 - uses : actions/checkout@v4
14-
1515 - name : Install dependencies
1616 run : |
1717 sudo apt-get update
1818 sudo apt-get install -y build-essential debhelper dh-cargo devscripts pkg-config libssl-dev
1919
20+ - name : Install Rust
21+ uses : dtolnay/rust-toolchain@stable
22+ with :
23+ toolchain : stable
24+
2025 - name : Build Debian package
2126 run : |
22- debuild -us -uc -b
27+ debuild --preserve-envvar PATH - us -uc -b
2328 mkdir -p dist
2429 mv ../*.deb ./dist/
2530
@@ -34,30 +39,39 @@ jobs:
3439 runs-on : ubuntu-latest
3540 steps :
3641 - uses : actions/checkout@v4
37-
3842 - name : Install dependencies
3943 run : |
4044 sudo apt-get update
41- sudo apt-get install -y rpm cargo rustc pkg-config libssl-dev
45+ sudo apt-get install -y rpm pkg-config libssl-dev
46+ sudo apt-get install -y rpm
4247
43- - name : Install rpmdevtools
44- run : sudo apt-get install -y rpm
48+ - name : Install Rust
49+ uses : dtolnay/rust-toolchain@stable
50+ with :
51+ toolchain : stable
4552
4653 - name : Prepare RPM build environment
4754 run : |
4855 mkdir -p ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
4956 cp rpm/ddg-rs.spec ~/rpmbuild/SPECS/
5057
51- # Extract version from GitHub ref
52- VERSION=${GITHUB_REF#refs/tags/v}
53- sed -i "s/Version:.*$/Version: $VERSION/" ~/rpmbuild/SPECS/ddg-rs.spec
58+ if [[ $GITHUB_REF == refs/tags/v* ]]; then
59+ VERSION=${GITHUB_REF#refs/tags/v}
60+ else
61+ VERSION=$(grep -m 1 "^version =" Cargo.toml | cut -d '"' -f 2)-${GITHUB_SHA::8}
62+ fi
63+
64+ VERSION_CLEAN=$(echo $VERSION | sed 's|/|-|g')
65+
66+ sed -i "s\|Version:.*$|Version: ${VERSION_CLEAN%%-*}|" ~/rpmbuild/SPECS/ddg-rs.spec
67+
68+ tar -czvf ~/rpmbuild/SOURCES/ddg-rs-${VERSION_CLEAN}.tar.gz --transform "s,^\.,ddg-rs-${VERSION_CLEAN}," --exclude=.git .
5469
55- # Archive sources
56- tar -czvf ~/rpmbuild/SOURCES/ddg-rs-${VERSION}.tar.gz .
70+ echo "VERSION_CLEAN=$VERSION_CLEAN" >> $GITHUB_ENV
5771
5872 - name : Build RPM package
5973 run : |
60- rpmbuild -bb ~/rpmbuild/SPECS/ddg-rs.spec
74+ rpmbuild -bb --nodeps ~/rpmbuild/SPECS/ddg-rs.spec
6175 mkdir -p dist
6276 mv ~/rpmbuild/RPMS/*/*.rpm ./dist/
6377
6983
7084 release :
7185 name : Publish Linux Packages Release
86+ if : startsWith(github.ref, 'refs/tags/v')
7287 needs : [build-debian, build-rpm]
7388 runs-on : ubuntu-latest
7489 permissions :
0 commit comments