diff --git a/.github/workflows/README.md b/.github/workflows/README.md index c58ba2d..d6a54ab 100644 --- a/.github/workflows/README.md +++ b/.github/workflows/README.md @@ -8,11 +8,12 @@ This folder contains the repository's GitHub Actions workflows. - `ci-full.yml`: broader matrix CI for pull requests to `develop` and `master`. - `docs.yml`: Documenter build and deployment workflow. - `TagBot.yml`: release-tag automation. +- `nightly.yml`: scheduled benchmarking on non-Linux platforms. ### Disabled - `format.yml.disabled`: disabled formatter workflow kept for reference. - `CompatHelper.yml.disabled`: dependency update automation. -- `nightly.yml.disabled`: scheduled regression sweep on non-Linux platforms. + See [`../../docs/src/ci-testing.md`](../../docs/src/ci-testing.md) for the user-facing workflow overview. diff --git a/.github/workflows/ci-full.yml b/.github/workflows/ci-full.yml index ae5236a..a706975 100644 --- a/.github/workflows/ci-full.yml +++ b/.github/workflows/ci-full.yml @@ -14,7 +14,7 @@ jobs: name: Julia ${{ matrix.julia-version }} – ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: - fail-fast: false + fail-fast: true matrix: julia-version: ['1.10', '1.11'] os: [ubuntu-latest, macos-latest, windows-latest] @@ -46,7 +46,7 @@ jobs: runs-on: ${{ matrix.os }} needs: test strategy: - fail-fast: false + fail-fast: true matrix: os: [ubuntu-latest, macos-latest, windows-latest] diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 40ecf2d..8d07813 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,7 +15,7 @@ jobs: name: Julia ${{ matrix.julia-version }} – Linux runs-on: ubuntu-latest strategy: - fail-fast: false + fail-fast: true matrix: julia-version: ['1.12'] diff --git a/.github/workflows/nightly.yml.disabled b/.github/workflows/nightly.yml similarity index 79% rename from .github/workflows/nightly.yml.disabled rename to .github/workflows/nightly.yml index f7f3a71..032c3d5 100644 --- a/.github/workflows/nightly.yml.disabled +++ b/.github/workflows/nightly.yml @@ -14,12 +14,10 @@ jobs: name: Nightly – Julia ${{ matrix.julia-version }} – ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: - fail-fast: false + fail-fast: true matrix: include: - - os: macos-latest - julia-version: '1.12' - - os: windows-latest + - os: ubuntu-latest julia-version: '1.12' steps: @@ -41,5 +39,5 @@ jobs: - name: Install dependencies run: julia --project=. -e 'using Pkg; Pkg.instantiate()' - - name: Run unit tests - run: julia --project=. -e 'using Pkg; Pkg.test()' + - name: Run benchmark + run: make ci diff --git a/Makefile b/Makefile index 3e8c929..50b648e 100644 --- a/Makefile +++ b/Makefile @@ -15,7 +15,9 @@ QMCPY_PYTHON_AUTO := $(shell \ done) PYTHON ?= $(if $(QMCPY_PYTHON_AUTO),$(QMCPY_PYTHON_AUTO),python) BENCH_COVERAGE ?= 0 +BENCH_BLAS_THREADS ?= 1 JULIA_BENCH_COVERAGE_FLAG := $(if $(filter 1,$(BENCH_COVERAGE)),--code-coverage=user,) +BENCH_THREAD_ENV := QMC_BENCH_BLAS_THREADS=$(BENCH_BLAS_THREADS) OPENBLAS_NUM_THREADS=$(BENCH_BLAS_THREADS) MKL_NUM_THREADS=$(BENCH_BLAS_THREADS) OMP_NUM_THREADS=$(BENCH_BLAS_THREADS) NUMEXPR_NUM_THREADS=$(BENCH_BLAS_THREADS) define RUN_TIMED @start=$$(date +%s); \ @@ -136,7 +138,7 @@ notebook-%: # Override output label with: make bench LABEL=gaus or make bench gaus # Saves results to benchmark/results/latest.json (default) or