Compare commits

...

5 commits

3 changed files with 162 additions and 20 deletions

114
.github/workflows/build_pak_explorer.yml vendored Normal file
View file

@ -0,0 +1,114 @@
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

View file

@ -17,28 +17,46 @@ jobs:
steps: steps:
- name: '📄 Checkout' - name: '📄 Checkout'
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: 'Set up Rust environment'
- name: '⚙️ Set up Rust environment'
uses: dtolnay/rust-toolchain@master uses: dtolnay/rust-toolchain@master
with: with:
toolchain: stable toolchain: stable
targets: x86_64-pc-windows-gnu, x86_64-unknown-linux-gnu targets: x86_64-pc-windows-gnu, i686-pc-windows-gnu, x86_64-unknown-linux-gnu, aarch64-unknown-linux-gnu
- name: 'Cache Rust dependencies'
- name: '🔽 Cache Rust dependencies'
uses: actions/cache@v4 uses: actions/cache@v4
with: with:
path: target path: target
key: ${{ runner.OS }}-build-${{ hashFiles('**/Cargo.lock') }} key: ${{ runner.OS }}-build-${{ hashFiles('**/Cargo.lock') }}
restore-keys: | restore-keys: |
${{ runner.OS }}-build- ${{ 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' - name: '📦 Package Windows x86_64'
run: | run: |
cd ${{github.workspace}} cd ${{github.workspace}}
sudo apt-get install -y gcc-mingw-w64
cargo build --profile production --target x86_64-pc-windows-gnu $BINARIES 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 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 gh release upload ${{ github.ref_name }} lbee-utils_Windows-x86_64.zip
env: env:
GITHUB_TOKEN: ${{ github.TOKEN }} GITHUB_TOKEN: ${{ github.TOKEN }}
shell: bash 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' - name: '📦 Package Linux x86_64'
run: | run: |
cd ${{github.workspace}} cd ${{github.workspace}}
@ -48,39 +66,49 @@ jobs:
env: env:
GITHUB_TOKEN: ${{ github.TOKEN }} GITHUB_TOKEN: ${{ github.TOKEN }}
shell: bash 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: build-mac:
name: Build binaries for MacOS name: Build binaries for MacOS
runs-on: macos-14 runs-on: macos-14
steps: steps:
- name: '📄 Checkout' - name: '📄 Checkout'
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: 'Set up Rust environment'
- name: '⚙️ Set up Rust environment'
uses: dtolnay/rust-toolchain@master uses: dtolnay/rust-toolchain@master
with: with:
toolchain: stable toolchain: stable
targets: x86_64-apple-darwin, aarch64-apple-darwin targets: x86_64-apple-darwin, aarch64-apple-darwin
- name: 'Cache Rust dependencies'
- name: '🔽 Cache Rust dependencies'
uses: actions/cache@v4 uses: actions/cache@v4
with: with:
path: target path: target
key: ${{ runner.OS }}-build-${{ hashFiles('**/Cargo.lock') }} key: ${{ runner.OS }}-build-${{ hashFiles('**/Cargo.lock') }}
restore-keys: | restore-keys: |
${{ runner.OS }}-build- ${{ runner.OS }}-build-
- name: '📦 Package MacOS x86_64'
- name: '🔄 Set up additional requirements'
run: |
brew install zig
cargo install --locked cargo-zigbuild
- name: '📦 Package MacOS Universal2'
run: | run: |
cd ${{github.workspace}} cd ${{github.workspace}}
cargo build --profile production --target x86_64-apple-darwin $BINARIES cargo zigbuild --manifest-path "utils/Cargo.toml" --profile production --target universal2-apple-darwin $BINARIES
zip -j lbee-utils_Mac-x86_64.zip target/x86_64-apple-darwin/production/czutil target/x86_64-apple-darwin/production/pakutil 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-x86_64.zip gh release upload ${{ github.ref_name }} lbee-utils_Mac-Universal.zip
env:
GITHUB_TOKEN: ${{ github.TOKEN }}
shell: bash
- name: '📦 Package MacOS Arm'
run: |
cd ${{github.workspace}}
cargo build --profile production --target aarch64-apple-darwin $BINARIES
zip -j lbee-utils_Mac-Arm.zip target/aarch64-apple-darwin/production/czutil target/aarch64-apple-darwin/production/pakutil
gh release upload ${{ github.ref_name }} lbee-utils_Mac-Arm.zip
env: env:
GITHUB_TOKEN: ${{ github.TOKEN }} GITHUB_TOKEN: ${{ github.TOKEN }}
shell: bash shell: bash

View file

@ -1,7 +1,7 @@
[package] [package]
name = "pak_explorer" name = "pak_explorer"
edition = "2021" edition = "2021"
version = "0.1.1" version = "0.1.2"
description = """ description = """
A simple GUI for exploring and making modifications to LUCA System PAK files. A simple GUI for exploring and making modifications to LUCA System PAK files.
""" """