Skip to content

add M1 mac CI

add M1 mac CI #14

Workflow file for this run

name: CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
ci-ubuntu:
runs-on: ubuntu-22.04
steps:
- name: install clang-17
shell: bash
run: |
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
echo "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-17 main" >> ./llvm.list
echo "deb-src http://apt.llvm.org/jammy/ llvm-toolchain-jammy-17 main" >> ./llvm.list
sudo mv llvm.list /etc/apt/sources.list.d
sudo apt update -y
sudo apt install clang-17 -y
sudo update-alternatives --install /usr/local/bin/clang clang /usr/bin/clang-17 17
sudo update-alternatives --install /usr/local/bin/clang++ clang++ /usr/bin/clang++-17 17
sudo update-alternatives --install /usr/local/bin/cc cc /usr/local/bin/clang 10
sudo update-alternatives --install /usr/local/bin/cxx cxx /usr/local/bin/clang++ 10
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: Swatinem/rust-cache@v2
- uses: dtolnay/rust-toolchain@stable
- uses: actions/cache@v4
with:
path: images
key: key
- id: cached
uses: andstor/file-existence-action@v3
with:
files: images
- name: get benchmark suite
if: steps.cached.outputs.files_exists == 'false'
shell: bash
run: curl https://qoiformat.org/benchmark/qoi_benchmark_suite.tar | tar x
- name: build
shell: bash
run: |
export CC=cc
export CXX=cxx
make -j
- name: run
shell: bash
run: benchmark/bin/qoibench 10 images --threads=0
ci-mac:
runs-on: macos-14
steps:
- name: install clang-17
shell: bash
run: brew install llvm@17
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: Swatinem/rust-cache@v2
- uses: dtolnay/rust-toolchain@stable
- uses: actions/cache@v4
with:
path: images
key: key
- id: cached
uses: andstor/file-existence-action@v3
with:
files: images
- name: get benchmark suite
if: steps.cached.outputs.files_exists == 'false'
shell: bash
run: curl https://qoiformat.org/benchmark/qoi_benchmark_suite.tar | tar x
- name: build
shell: bash
run: |
export CC=$(brew --prefix llvm@17)/bin/clang
export CXX=$(brew --prefix llvm@17)/bin/clang++
mkdir bin
ln -s $(brew --prefix llvm@17)/bin/clang bin/cc
ln -s $(brew --prefix llvm@17)/bin/clang++ bin/cxx
export PATH="$(realpath bin):${PATH}"
make -j
- name: run
shell: bash
run: benchmark/bin/qoibench 10 images --threads=0