From 6023884147f72d9df88a2397d518909c34c40181 Mon Sep 17 00:00:00 2001 From: Luohao Wang Date: Sun, 15 Feb 2026 02:22:11 +0800 Subject: [PATCH] ci: add conda package workflow for linux and macos variants --- .github/workflows/conda-package.yml | 57 +++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 .github/workflows/conda-package.yml diff --git a/.github/workflows/conda-package.yml b/.github/workflows/conda-package.yml new file mode 100644 index 0000000000..85506772a1 --- /dev/null +++ b/.github/workflows/conda-package.yml @@ -0,0 +1,57 @@ +name: Conda Package Build + +on: + push: + branches: ["master"] + paths: + - ".github/workflows/conda-package.yml" + - "conda-recipe/**" + - "src/**" + pull_request: + branches: ["**"] + types: [opened, reopened, synchronize, labeled, unlabeled] + paths: + - ".github/workflows/conda-package.yml" + - "conda-recipe/**" + - "src/**" + workflow_dispatch: + +jobs: + build-conda-package: + name: Build (${{ matrix.os }} | mpi=${{ matrix.mpi }}, openmp=${{ matrix.openmp }}) + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest] + mpi: [nompi, openmpi, mpich] + openmp: [on, off] + steps: + - name: Checkout sources + uses: actions/checkout@v6 + + - name: Setup Miniconda + uses: conda-incubator/setup-miniconda@v3 + with: + activate-environment: conda-build-env + auto-update-conda: true + channels: conda-forge + channel-priority: strict + python-version: "3.12" + + - name: Install conda-build + shell: bash -el {0} + run: | + conda install -n conda-build-env -y conda-build + + - name: Build package variant + shell: bash -el {0} + env: + CONDA_BLD_PATH: ${{ runner.temp }}/conda-bld + run: | + echo "Building variant: mpi=${{ matrix.mpi }}, openmp=${{ matrix.openmp }}" + variant_json="{\"mpi\":\"${{ matrix.mpi }}\",\"openmp\":\"${{ matrix.openmp }}\"}" + conda build conda-recipe \ + --channel conda-forge \ + --override-channels \ + --variants "${variant_json}"