feat(misc): implement Deb package building pipeline. Fix #932
This commit is contained in:
parent
d7ee3b3833
commit
671fd3c532
23
.github/scripts/ubuntu/build_deb.sh
vendored
Executable file
23
.github/scripts/ubuntu/build_deb.sh
vendored
Executable file
|
@ -0,0 +1,23 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
echo "Installing cargo-deb"
|
||||
cargo install cargo-deb
|
||||
|
||||
cd espanso
|
||||
|
||||
echo "Building X11 deb package"
|
||||
cargo deb -p espanso
|
||||
|
||||
echo "Building Wayland deb package"
|
||||
cargo deb -p espanso --variant wayland -- --features wayland
|
||||
|
||||
cp espanso/target/debian/espanso_*.deb espanso-debian-x11-amd64.deb
|
||||
sha256sum espanso-debian-x11-amd64.deb > espanso-debian-x11-amd64-sha256.txt
|
||||
cp espanso/target/debian/espanso-wayland*.deb espanso-debian-wayland-amd64.deb
|
||||
sha256sum espanso-debian-wayland-amd64.deb > espanso-debian-wayland-amd64-sha256.txt
|
||||
ls -la
|
||||
|
||||
echo "Copying to mounted volume"
|
||||
cp espanso-debian-* /shared
|
28
.github/workflows/release.yml
vendored
28
.github/workflows/release.yml
vendored
|
@ -117,6 +117,34 @@ jobs:
|
|||
if: ${{ github.ref == 'refs/heads/master' }}
|
||||
run: |
|
||||
gh release upload ${{ needs.extract-version.outputs.espanso_version }} Espanso-X11.AppImage Espanso-X11.AppImage.sha256.txt
|
||||
|
||||
linux-deb:
|
||||
needs: ["extract-version", "create-release"]
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Print target version
|
||||
run: |
|
||||
echo Using version ${{ needs.extract-version.outputs.espanso_version }}
|
||||
- name: Build docker image
|
||||
run: |
|
||||
sudo docker build -t espanso-ubuntu . -f .github/scripts/ubuntu/Dockerfile
|
||||
- name: Build AppImage
|
||||
run: |
|
||||
sudo docker run --rm -v "$(pwd):/shared" espanso-ubuntu espanso/.github/scripts/ubuntu/build_deb.sh
|
||||
- uses: actions/upload-artifact@v2
|
||||
name: "Upload artifacts"
|
||||
with:
|
||||
name: Ubuntu/Debian Artifacts
|
||||
path: |
|
||||
espanso-debian-x11-amd64.deb
|
||||
espanso-debian-wayland-amd64.deb
|
||||
- name: Upload artifacts to Github Releases (if master)
|
||||
if: ${{ github.ref == 'refs/heads/master' }}
|
||||
run: |
|
||||
gh release upload ${{ needs.extract-version.outputs.espanso_version }} espanso-debian-x11-amd64.deb espanso-debian-wayland-amd64.deb espanso-debian-x11-amd64-sha256.txt espanso-debian-wayland-amd64-sha256.txt
|
||||
|
||||
|
||||
macos-intel:
|
||||
needs: ["extract-version", "create-release"]
|
||||
|
|
|
@ -72,4 +72,16 @@ espanso-mac-utils = { path = "../espanso-mac-utils" }
|
|||
[target.'cfg(target_os="linux")'.dependencies]
|
||||
caps = "0.5.2"
|
||||
const_format = "0.2.14"
|
||||
regex = "1.4.3"
|
||||
regex = "1.4.3"
|
||||
|
||||
[package.metadata.deb]
|
||||
maintainer = "Federico Terzi <federicoterzi96@gmail.com>"
|
||||
depends = "$auto, systemd, libxtst6, xclip, libnotify-bin, libxkbcommon0, libwxgtk3.0-0v5"
|
||||
section = "utility"
|
||||
license-file = ["../LICENSE", "1"]
|
||||
|
||||
[package.metadata.deb.variants.wayland]
|
||||
depends = "$auto, systemd, libnotify-bin, libxkbcommon0, libwxgtk3.0-0v5"
|
||||
# TODO: once this issue [1] is fixed, we should create a variant for
|
||||
# wayland to automatically run the setcap script.
|
||||
# [1]: https://github.com/mmstick/cargo-deb/issues/151
|
||||
|
|
Loading…
Reference in New Issue
Block a user