calcifer/.github/workflows/release.yml
2024-07-22 20:28:06 +02:00

70 lines
2.1 KiB
YAML

permissions:
contents: write
actions: read
checks: write
deployments: write
issues: write
packages: write
pull-requests: write
statuses: write
on:
release:
types: [created]
jobs:
release:
name: release ${{ matrix.target }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
target:
# Temporarily disabling Windows compilation
# - x86_64-pc-windows-gnu
- x86_64-unknown-linux-musl
steps:
- uses: actions/checkout@v2
- name: Set up Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- name: Install target
run: rustup target add ${{ matrix.target }}
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y libxkbcommon-x11-0 libglib2.0-dev libgl1-mesa-dev libglu1-mesa-dev libatk1.0-dev libgdk-pixbuf2.0-dev libwebkit2gtk-4.0-dev libgtk-3-dev
- name: Verify installed dependencies
run: |
ldconfig -p | grep xkbcommon
ldconfig -p | grep libGL
ldconfig -p | grep libGLU
ldconfig -p | grep libatk-1.0.so.0
ldconfig -p | grep libgdk_pixbuf-2.0.so.0
ldconfig -p | grep libwebkit2gtk-4.0.so.37
ldconfig -p | grep libgtk-3.so.0
- name: Compile the app
run: |
echo "Compiling for target: ${{ matrix.target }}"
RUST_BACKTRACE=1 cargo build --release --target ${{ matrix.target }}
- name: Create tarball
run: |
release_tag=${{ github.event.release.tag_name }}
tar -czvf calcifer_v${release_tag}.tar.gz -C target/${{ matrix.target }}/release calcifer
- name: Upload release assets
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: calcifer_v${{ github.event.release.tag_name }}.tar.gz
asset_name: calcifer_v${{ github.event.release.tag_name }}.tar.gz
asset_content_type: application/gzip