mirror of
https://github.com/G2-Games/lbee-utils.git
synced 2025-04-19 07:12:55 -05:00
114 lines
4.1 KiB
YAML
114 lines
4.1 KiB
YAML
name: Publish PAK Explorer on release
|
|
|
|
on:
|
|
push:
|
|
tags: [ 'explorer-*.*.*' ]
|
|
|
|
env:
|
|
BINARIES: "--bin pak_explorer"
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
jobs:
|
|
build:
|
|
name: Build binaries for Windows and Linux
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: '📄 Checkout'
|
|
uses: actions/checkout@v4
|
|
|
|
- name: '⚙️ Set up Rust environment'
|
|
uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: stable
|
|
targets: x86_64-pc-windows-gnu, i686-pc-windows-gnu, x86_64-unknown-linux-gnu, aarch64-unknown-linux-gnu
|
|
|
|
- name: '🔽 Cache Rust dependencies'
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: target
|
|
key: ${{ runner.OS }}-build-${{ hashFiles('**/Cargo.lock') }}
|
|
restore-keys: |
|
|
${{ runner.OS }}-build-
|
|
|
|
- name: '🔄 Set up additional requirements'
|
|
run: |
|
|
sudo apt-get install -y gcc-mingw-w64
|
|
pip install cargo-zigbuild
|
|
|
|
- name: '📦 Package Windows x86_64'
|
|
run: |
|
|
cd ${{github.workspace}}
|
|
cargo build --profile production --target x86_64-pc-windows-gnu $BINARIES
|
|
cp target/x86_64-pc-windows-gnu/production/pak_explorer.exe PAK-Explorer_Windows-x86_64.exe
|
|
gh release upload ${{ github.ref_name }} PAK-Explorer_Windows-x86_64.exe
|
|
env:
|
|
GITHUB_TOKEN: ${{ github.TOKEN }}
|
|
shell: bash
|
|
|
|
- name: '📦 Package Windows i686'
|
|
run: |
|
|
cd ${{github.workspace}}
|
|
cargo build --profile production --target i686-pc-windows-gnu $BINARIES
|
|
cp target/i686-pc-windows-gnu/production/pak_explorer.exe PAK-Explorer_Windows-x86.exe
|
|
gh release upload ${{ github.ref_name }} PAK-Explorer_Windows-x86.exe
|
|
env:
|
|
GITHUB_TOKEN: ${{ github.TOKEN }}
|
|
shell: bash
|
|
|
|
- name: '📦 Package Linux x86_64'
|
|
run: |
|
|
cd ${{github.workspace}}
|
|
cargo build --profile production --target x86_64-unknown-linux-gnu $BINARIES
|
|
cp target/x86_64-unknown-linux-gnu/production/pak_explorer PAK-Explorer_Linux-x86_64
|
|
gh release upload ${{ github.ref_name }} PAK-Explorer_Linux-x86_64
|
|
env:
|
|
GITHUB_TOKEN: ${{ github.TOKEN }}
|
|
shell: bash
|
|
|
|
- name: '📦 Package Linux aarch64'
|
|
run: |
|
|
cd ${{github.workspace}}
|
|
cargo zigbuild --profile production --target aarch64-unknown-linux-gnu $BINARIES
|
|
cp target/aarch64-unknown-linux-gnu/production/pak_explorer PAK-Explorer_Linux-Arm64
|
|
gh release upload ${{ github.ref_name }} PAK-Explorer_Linux-Arm64
|
|
env:
|
|
GITHUB_TOKEN: ${{ github.TOKEN }}
|
|
shell: bash
|
|
|
|
build-mac:
|
|
name: Build binaries for MacOS
|
|
runs-on: macos-14
|
|
steps:
|
|
- name: '📄 Checkout'
|
|
uses: actions/checkout@v4
|
|
|
|
- name: '⚙️ Set up Rust environment'
|
|
uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: stable
|
|
targets: x86_64-apple-darwin, aarch64-apple-darwin
|
|
|
|
- name: '🔽 Cache Rust dependencies'
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: target
|
|
key: ${{ runner.OS }}-build-${{ hashFiles('**/Cargo.lock') }}
|
|
restore-keys: |
|
|
${{ runner.OS }}-build-
|
|
|
|
- name: '🔄 Set up additional requirements'
|
|
run: |
|
|
brew install zig
|
|
cargo install --locked cargo-zigbuild
|
|
|
|
- name: '📦 Package MacOS Universal2'
|
|
run: |
|
|
cd ${{github.workspace}}
|
|
cargo zigbuild --manifest-path "pak_explorer/Cargo.toml" --profile production --target universal2-apple-darwin $BINARIES
|
|
cp target/universal2-apple-darwin/production/pak_explorer PAK-Explorer_Mac-Universal
|
|
gh release upload ${{ github.ref_name }} PAK-Explorer_Mac-Universal
|
|
env:
|
|
GITHUB_TOKEN: ${{ github.TOKEN }}
|
|
shell: bash
|