1
0
Fork 0
mirror of synced 2024-05-10 07:22:36 +12:00
czkawka/.github/workflows/mac.yml

85 lines
2.5 KiB
YAML

name: 🍎 MacOS
on:
push:
pull_request:
schedule:
- cron: '0 0 * * 2'
env:
CARGO_TERM_COLOR: always
jobs:
macos:
strategy:
matrix:
toolchain: [ stable ]
type: [ release ]
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Install Homebrew
run: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- name: Install GTK4
run: |
brew link --overwrite python@3.11
brew install rust gtk4 libheif || true
brew link --overwrite python@3.11
- name: Setup rust version
run: rustup default ${{ matrix.toolchain }}
- name: Enable LTO
run: sed -i '' 's/#lto = "thin"/lto = "thin"/g' Cargo.toml
if: ${{ (matrix.type == 'release') }}
- name: Build Release
run: cargo build --release
if: ${{ matrix.type == 'release'}}
- name: Store MacOS CLI
uses: actions/upload-artifact@v4
with:
name: czkawka_cli-${{ runner.os }}-${{ matrix.toolchain }}
path: target/release/czkawka_cli
if: ${{ matrix.type == 'release' }}
- name: Store MacOS GUI
uses: actions/upload-artifact@v4
with:
name: czkawka_gui-${{ runner.os }}-${{ matrix.toolchain }}
path: target/release/czkawka_gui
if: ${{ matrix.type == 'release' }}
- name: Store MacOS Krokiet
uses: actions/upload-artifact@v4
with:
name: krokiet-${{ runner.os }}-${{ matrix.toolchain }}
path: target/release/krokiet
if: ${{ matrix.type == 'release' }}
- name: Build Release Heif
run: cargo build --release --features heif
if: ${{ matrix.type == 'release'}}
- name: Store MacOS CLI Heif
uses: actions/upload-artifact@v4
with:
name: czkawka_cli-${{ runner.os }}-${{ matrix.toolchain }}-heif
path: target/release/czkawka_cli
if: ${{ matrix.type == 'release' }}
- name: Store MacOS GUI Heif
uses: actions/upload-artifact@v4
with:
name: czkawka_gui-${{ runner.os }}-${{ matrix.toolchain }}-heif
path: target/release/czkawka_gui
if: ${{ matrix.type == 'release' }}
- name: Store MacOS Krokiet Heif
uses: actions/upload-artifact@v4
with:
name: krokiet-${{ runner.os }}-${{ matrix.toolchain }}-heif
path: target/release/krokiet
if: ${{ matrix.type == 'release' }}