Skip to content

evaluator: Make std::mem::find_sequence a lot faster #643

evaluator: Make std::mem::find_sequence a lot faster

evaluator: Make std::mem::find_sequence a lot faster #643

Workflow file for this run

name: "Build"
on:
push:
branches: [ '*' ]
pull_request:
branches: [ '*' ]
jobs:
win:
name: πŸͺŸ Windows
runs-on: windows-2022
defaults:
run:
shell: msys2 {0}
steps:
- name: 🧰 Checkout
uses: actions/checkout@v3
with:
submodules: recursive
- name: 🟦 Install msys2
uses: msys2/setup-msys2@v2
with:
msystem: mingw64
pacboy: >-
gcc:p
lld:p
cmake:p
make:p
ccache:p
- name: πŸ“œ Setup ccache
uses: hendrikmuhs/ccache-action@v1
with:
key: ${{ runner.os }}-build-${{ github.run_id }}
restore-keys: ${{ runner.os }}-build
max-size: 1G
- name: πŸ› οΈ Build
run: |
mkdir -p build
cd build
cmake -G "MinGW Makefiles" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="$PWD/install" \
-DCMAKE_C_FLAGS="-fuse-ld=lld" \
-DCMAKE_CXX_FLAGS="-fuse-ld=lld" \
-DLIBPL_ENABLE_TESTS=OFF \
-DLIBPL_ENABLE_CLI=ON \
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
..
mingw32-make -j4 install DESTDIR=install
- name: ⬆️ Upload Artifact
uses: actions/upload-artifact@v3
with:
name: plcli Windows
path: |
build/install/*
macos:
name: 🍎 macOS
runs-on: macos-13
permissions:
actions: read
contents: read
security-events: write
steps:
- name: 🧰 Checkout
uses: actions/checkout@v3
with:
submodules: recursive
- name: ⬇️ Install dependencies
run: |
brew install llvm ccache
- name: πŸ“œ Setup ccache
uses: hendrikmuhs/ccache-action@v1
with:
key: ${{ runner.os }}-build-${{ github.run_id }}
restore-keys: ${{ runner.os }}-build
max-size: 1G
- name: πŸ› οΈ Build
run: |
mkdir -p build
cd build
CC=$(brew --prefix gcc@12)/bin/gcc-12 \
CXX=$(brew --prefix gcc@12)/bin/g++-12 \
OBJC=$(brew --prefix llvm)/bin/clang \
OBJCXX=$(brew --prefix llvm)/bin/clang++ \
cmake \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_INSTALL_PREFIX="$PWD/install" \
-DLIBPL_ENABLE_TESTS=OFF \
-DLIBPL_ENABLE_CLI=ON \
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
..
make -j4 install DESTDIR=install
- name: ⬆️ Upload Artifact
uses: actions/upload-artifact@v3
with:
name: plcli macOS
path: |
build/install/*
linux:
name: 🐧 Linux
runs-on: ubuntu-22.04
steps:
- name: 🧰 Checkout
uses: actions/checkout@v3
with:
submodules: recursive
- name: ⬇️ Install dependencies
run: |
sudo apt update
sudo apt install -y \
build-essential \
gcc-12 \
g++-12 \
lld \
cmake \
make \
ccache
- name: πŸ“œ Setup ccache
uses: hendrikmuhs/ccache-action@v1
with:
key: ${{ runner.os }}-build-${{ github.run_id }}
restore-keys: ${{ runner.os }}-build
max-size: 1G
- name: πŸ› οΈ Build
run: |
mkdir -p build
cd build
CC=gcc-12 CXX=g++-12 cmake \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_INSTALL_PREFIX="/usr" \
-DCMAKE_C_FLAGS="-fuse-ld=lld" \
-DCMAKE_CXX_FLAGS="-fuse-ld=lld" \
-DLIBPL_ENABLE_TESTS=OFF \
-DLIBPL_ENABLE_CLI=ON \
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
..
make -j4 install DESTDIR=install
- name: ⬆️ Upload Artifact
uses: actions/upload-artifact@v3
with:
name: plcli Linux
path: |
build/install/*