Fixed many issues with utils
, v0.2.0
#11
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Publish utilities on release | |
on: | |
push: | |
tags: [ 'utils-*.*.*' ] | |
env: | |
BINARIES: "--bin czutil --bin pakutil" | |
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 | |
zip -j lbee-utils_Windows-x86_64.zip target/x86_64-pc-windows-gnu/production/czutil.exe target/x86_64-pc-windows-gnu/production/pakutil.exe | |
gh release upload ${{ github.ref_name }} lbee-utils_Windows-x86_64.zip | |
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 | |
zip -j lbee-utils_Windows-x86.zip target/i686-pc-windows-gnu/production/czutil.exe target/i686-pc-windows-gnu/production/pakutil.exe | |
gh release upload ${{ github.ref_name }} lbee-utils_Windows-x86.zip | |
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 | |
zip -j lbee-utils_Linux-x86_64.zip target/x86_64-unknown-linux-gnu/production/czutil target/x86_64-unknown-linux-gnu/production/pakutil | |
gh release upload ${{ github.ref_name }} lbee-utils_Linux-x86_64.zip | |
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 | |
zip -j lbee-utils_Linux-Arm64.zip target/aarch64-unknown-linux-gnu/production/czutil target/aarch64-unknown-linux-gnu/production/pakutil | |
gh release upload ${{ github.ref_name }} lbee-utils_Linux-Arm64.zip | |
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 "utils/Cargo.toml" --profile production --target universal2-apple-darwin $BINARIES | |
zip -j lbee-utils_Mac-Universal.zip target/universal2-apple-darwin/production/czutil target/universal2-apple-darwin/production/pakutil | |
gh release upload ${{ github.ref_name }} lbee-utils_Mac-Universal.zip | |
env: | |
GITHUB_TOKEN: ${{ github.TOKEN }} | |
shell: bash |