Files
grim/.forgejo/workflows/linux.yaml
T

60 lines
2.3 KiB
YAML

on:
workflow_call:
inputs:
version:
required: true
type: string
jobs:
release:
runs-on: ubuntu
steps:
- uses: actions/checkout@v6
with:
submodules: recursive
- run: mkdir release
- name: Restore cargo cache
id: cache-cargo-restore
uses: actions/cache/restore@v5
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Release Linux x86
run: cargo zigbuild --release --target x86_64-unknown-linux-gnu
- name: AppImage x86
run: |
cp target/x86_64-unknown-linux-gnu/release/grim linux/Grim.AppDir/AppRun
appimagetool linux/Grim.AppDir grim-${{ inputs.version }}-linux-x86_64.AppImage
cp grim-${{ inputs.version }}-linux-x86_64.AppImage release/
- name: Checksum AppImage x86
working-directory: release
run: sha256sum grim-${{ inputs.version }}-linux-x86_64.AppImage > grim-${{ inputs.version }}-linux-x86_64-appimage-sha256sum.txt
- name: Release Linux ARM
run: cargo zigbuild --release --target aarch64-unknown-linux-gnu
- name: Save cargo cache
uses: actions/cache/save@v5
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ steps.cache-cargo-restore.outputs.cache-primary-key }}
- name: AppImage ARM
run: |
cp target/aarch64-unknown-linux-gnu/release/grim linux/Grim.AppDir/AppRun
appimagetool linux/Grim.AppDir grim-${{ inputs.version }}-linux-arm.AppImage
cp grim-${{ inputs.version }}-linux-arm.AppImage release/
- name: Checksum AppImage ARM
working-directory: release
run: sha256sum grim-${{ inputs.version }}-linux-arm.AppImage > grim-${{ inputs.version }}-linux-arm-appimage-sha256sum.txt
- name: Upload artifacts
run: |
tar -czf linux.tar.gz release
curl -v -u ${{ secrets.MAVEN_USER }}:${{ secrets.MAVEN_PASSWORD }} --upload-file linux.tar.gz ${{ secrets.MAVEN_HOST }}/repository/grim-ci-artifacts/linux.tar.gz