mirror of
https://github.com/Zedfrigg/ironbar.git
synced 2025-07-02 03:01:04 +02:00
Merge pull request #504 from slowsage/ci/binary
ci: Build binaries on new tag.
This commit is contained in:
commit
f9c746a7c3
5 changed files with 72 additions and 14 deletions
20
.github/scripts/ubuntu_setup.sh
vendored
Executable file
20
.github/scripts/ubuntu_setup.sh
vendored
Executable file
|
@ -0,0 +1,20 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# sudo needed for github runner, not available by default for cross images
|
||||||
|
if command -v sudo >/dev/null 2>&1; then
|
||||||
|
SUDO="sudo"
|
||||||
|
else
|
||||||
|
SUDO=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Needed for cross-compilation
|
||||||
|
if [ -n "$CROSS_DEB_ARCH" ]; then
|
||||||
|
$SUDO dpkg --add-architecture "$CROSS_DEB_ARCH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# CROSS_DEB_ARCH is empty for native builds
|
||||||
|
$SUDO apt-get update && $SUDO apt-get install --assume-yes \
|
||||||
|
libssl-dev${CROSS_DEB_ARCH:+:$CROSS_DEB_ARCH} \
|
||||||
|
libgtk-3-dev${CROSS_DEB_ARCH:+:$CROSS_DEB_ARCH} \
|
||||||
|
libgtk-layer-shell-dev${CROSS_DEB_ARCH:+:$CROSS_DEB_ARCH} \
|
||||||
|
libpulse-dev${CROSS_DEB_ARCH:+:$CROSS_DEB_ARCH}
|
39
.github/workflows/binary.yml
vendored
Normal file
39
.github/workflows/binary.yml
vendored
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
# .github/workflows/binary.yml
|
||||||
|
|
||||||
|
name: Binary
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types: [created]
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
platform:
|
||||||
|
- {target: x86_64-unknown-linux-gnu, zipext: ".tar.gz"}
|
||||||
|
- {target: aarch64-unknown-linux-gnu, zipext: ".tar.gz"}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: taiki-e/install-action@v2
|
||||||
|
with:
|
||||||
|
tool: cross
|
||||||
|
|
||||||
|
- name: Add OpenSSL crate (vendored)
|
||||||
|
run: cargo add openssl --features vendored
|
||||||
|
|
||||||
|
- name: Cross Build Release
|
||||||
|
run: cross build --locked --release --target=${{ matrix.platform.target }}
|
||||||
|
|
||||||
|
- name: Get name of Binary from metadata
|
||||||
|
run: echo "BINARY_NAME=$(cargo metadata --no-deps --format-version 1 | jq -r '.packages[].targets[] | select( .kind | map(. == "bin") | any ) | .name')" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Compress the built binary
|
||||||
|
if: ${{ matrix.platform.zipext == '.tar.gz' }}
|
||||||
|
run: tar -zcvf ${{env.BINARY_NAME}}-${{github.ref_name}}-${{matrix.platform.target}}.tar.gz -C target/${{matrix.platform.target}}/release ${{env.BINARY_NAME}}
|
||||||
|
|
||||||
|
- name: Upload to release
|
||||||
|
run: gh release upload ${GITHUB_REF#refs/*/} ${{env.BINARY_NAME}}-${{github.ref_name}}-${{matrix.platform.target}}${{matrix.platform.zipext}}
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
12
.github/workflows/build.yml
vendored
12
.github/workflows/build.yml
vendored
|
@ -32,9 +32,7 @@ jobs:
|
||||||
name: Cache dependencies
|
name: Cache dependencies
|
||||||
|
|
||||||
- name: Install build deps
|
- name: Install build deps
|
||||||
run: |
|
run: ./.github/scripts/ubuntu_setup.sh
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install libgtk-3-dev libgtk-layer-shell-dev libpulse-dev
|
|
||||||
|
|
||||||
- name: Clippy
|
- name: Clippy
|
||||||
run: cargo clippy --no-default-features --features config+json
|
run: cargo clippy --no-default-features --features config+json
|
||||||
|
@ -53,9 +51,7 @@ jobs:
|
||||||
name: Cache dependencies
|
name: Cache dependencies
|
||||||
|
|
||||||
- name: Install build deps
|
- name: Install build deps
|
||||||
run: |
|
run: ./.github/scripts/ubuntu_setup.sh
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install libgtk-3-dev libgtk-layer-shell-dev libpulse-dev
|
|
||||||
|
|
||||||
- name: Clippy
|
- name: Clippy
|
||||||
run: cargo clippy --all-targets --all-features
|
run: cargo clippy --all-targets --all-features
|
||||||
|
@ -72,9 +68,7 @@ jobs:
|
||||||
name: Cache dependencies
|
name: Cache dependencies
|
||||||
|
|
||||||
- name: Install build deps
|
- name: Install build deps
|
||||||
run: |
|
run: ./.github/scripts/ubuntu_setup.sh
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install libgtk-3-dev libgtk-layer-shell-dev libpulse-dev
|
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: cargo build --verbose
|
run: cargo build --verbose
|
||||||
|
|
4
.github/workflows/deploy.yml
vendored
4
.github/workflows/deploy.yml
vendored
|
@ -18,9 +18,7 @@ jobs:
|
||||||
override: true
|
override: true
|
||||||
|
|
||||||
- name: Install build deps
|
- name: Install build deps
|
||||||
run: |
|
run: ./.github/scripts/ubuntu_setup.sh
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install libgtk-3-dev libgtk-layer-shell-dev libpulse-dev
|
|
||||||
|
|
||||||
- name: Update CHANGELOG
|
- name: Update CHANGELOG
|
||||||
id: changelog
|
id: changelog
|
||||||
|
|
7
Cross.toml
Normal file
7
Cross.toml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
[build]
|
||||||
|
pre-build = "./.github/scripts/ubuntu_setup.sh"
|
||||||
|
[target.aarch64-unknown-linux-gnu]
|
||||||
|
image = "ghcr.io/cross-rs/aarch64-unknown-linux-gnu:main"
|
||||||
|
|
||||||
|
[target.x86_64-unknown-linux-gnu]
|
||||||
|
image = "ghcr.io/cross-rs/x86_64-unknown-linux-gnu:main"
|
Loading…
Add table
Add a link
Reference in a new issue