hint: Optimize byte ops in i/o and patch applying #1071
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: Build openSUSE | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
workflow_dispatch: {} | |
# Cancel the workflow if a new one is requested for the same PR/branch, but still test all commits on the master branch. | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: ${{ github.ref != 'refs/heads/master'}} | |
jobs: | |
CI: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
llvm: [18, 19, 20] | |
build-type: [DEBUG] | |
include: | |
- llvm: 20 | |
build-type: ASAN | |
- llvm: 20 | |
build-type: UBSAN | |
- llmv: 20 | |
build-type: RelWithDebInfo | |
extra-flags: -flto=auto | |
- llmv: 20 | |
build-type: RelWithDebInfo | |
env: CC=clang CXX=clang++ | |
fail-fast: false | |
container: | |
image: opensuse/tumbleweed | |
steps: | |
- run: zypper -n install | |
binutils clang${{ matrix.llvm }}-devel cmake flex gcc-c++ llvm${{ matrix.llvm }}-devel | |
python3-Pebble python3-pytest python3-pytest-mock python3-pytest-subprocess python3-pytest-xdist | |
unifdef python3-psutil curl git python3-chardet findutils sudo wget python3-pip python3-jsonschema | |
python3-msgspec python3-zstandard | |
- run: zypper -n install sqlite-devel python3 | |
- run: pip install --break-system-packages pytest-cov | |
- uses: rui314/setup-mold@v1 | |
- run: ld --version | |
- run: nproc | |
- uses: actions/checkout@v4 | |
- name: build | |
run: | | |
mkdir objdir | |
cd objdir | |
${{ matrix.env }} cmake .. -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} -DCMAKE_CXX_FLAGS=${{ matrix.extra-flags }} | |
make -j`nproc` VERBOSE=1 | |
- name: test | |
run: pytest -n $(($(nproc) + 1)) | |
working-directory: objdir | |
ruff: | |
runs-on: ubuntu-latest | |
container: | |
image: opensuse/tumbleweed | |
steps: | |
- run: zypper -n install python3-pip | |
- uses: actions/checkout@v4 | |
- run: pip install --break-system-packages ruff | |
- run: ruff check --target-version py38 | |
- run: ruff format --target-version py38 --diff | |
pytype: | |
runs-on: ubuntu-latest | |
container: | |
image: opensuse/tumbleweed | |
steps: | |
- run: zypper -n install binutils clang-devel cmake flex gcc-c++ llvm-devel python312 | |
- uses: actions/checkout@v4 | |
- name: prepare venv | |
# Pytype currently only supports Python <=3.12 | |
run: | | |
python3.12 -m venv ~/venv | |
source ~/venv/bin/activate | |
pip install chardet jsonschema msgspec pebble psutil pytest pytest-mock pytest-subprocess pytype zstandard | |
- name: build | |
run: | | |
source ~/venv/bin/activate | |
mkdir objdir | |
cd objdir | |
${{ matrix.env }} cmake .. -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} -DCMAKE_CXX_FLAGS=${{ matrix.extra-flags }} | |
make -j`nproc` VERBOSE=1 | |
- name: pytype | |
run: | | |
source ~/venv/bin/activate | |
pytype --keep-going --jobs=auto objdir |