diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7d6426b..6e58f1c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,7 +1,16 @@ name: CI -on: [push] +on: + push: + branches: [main] + pull_request: + branches: [main] + schedule: + # Run monthly on the 1st at midnight UTC to test with latest pixi + - cron: '0 0 1 * *' jobs: run-slater-gpu: uses: ./.github/workflows/slater-gpu-base.yml + with: + use-latest-pixi: ${{ github.event_name == 'schedule' }} diff --git a/.github/workflows/slater-gpu-base.yml b/.github/workflows/slater-gpu-base.yml index 17bd1a8..77771aa 100644 --- a/.github/workflows/slater-gpu-base.yml +++ b/.github/workflows/slater-gpu-base.yml @@ -1,24 +1,48 @@ name: SlaterGPU Base -on: [workflow_call] +on: + workflow_call: + inputs: + use-latest-pixi: + type: boolean + default: false jobs: build: runs-on: gpu - + defaults: run: shell: bash steps: - - uses: prefix-dev/setup-pixi@v0.9.1 + - uses: actions/checkout@v4 + + - name: Extract minimum pixi version from pixi.toml + id: pixi-version + run: | + VERSION=$(grep 'requires-pixi' pixi.toml | sed 's/.*>=\([0-9.]*\).*/\1/') + echo "version=$VERSION" >> $GITHUB_OUTPUT + echo "Using minimum pixi version: $VERSION" + + - name: Set up Pixi (minimum version) + if: ${{ !inputs.use-latest-pixi }} + uses: prefix-dev/setup-pixi@v0.9.1 with: - pixi-version: v0.54.0 + pixi-version: v${{ steps.pixi-version.outputs.version }} log-level: v run-install: false # cache: true continue-on-error: true - - uses: actions/checkout@v4 - + + - name: Set up Pixi (latest version for scheduled builds) + if: ${{ inputs.use-latest-pixi }} + uses: prefix-dev/setup-pixi@v0.9.1 + with: + log-level: v + run-install: false + # cache: true + continue-on-error: true + # Cache NVHPC installation - name: Cache NVHPC id: cache-nvhpc @@ -28,14 +52,14 @@ jobs: /home/runner/work/Linux_x86_64 /home/runner/work/modulefiles key: nvhpc-25.1-cuda-12.6-v1-${{ runner.os }} - + - name: Install nvhpc run: | source .github/workflows/install_nvhpc.sh env: CACHE_HIT: ${{ steps.cache-nvhpc.outputs.cache-hit }} continue-on-error: true - + - name: Install and test SlaterGPU run: | source ~/.pixi/envs/environment-modules/init/bash diff --git a/pixi.lock b/pixi.lock index 0ccb010..fc1d13e 100644 --- a/pixi.lock +++ b/pixi.lock @@ -15,7 +15,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_16.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_16.conda - conda: . - subdir: linux-64 + build: hb0f4dca_0 linux-aarch64: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-2_gnu.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcint-5.3.0-h0037855_0.conda @@ -23,7 +23,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-15.2.0-he9431aa_16.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_16.conda - conda: . - subdir: linux-aarch64 + build: he8cfe8b_0 pytest: channels: - url: https://conda.anaconda.org/nvidia/ @@ -75,7 +75,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - conda: . - subdir: linux-64 + build: hb0f4dca_0 linux-aarch64: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-2_gnu.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_8.conda @@ -119,7 +119,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - conda: . - subdir: linux-aarch64 + build: he8cfe8b_0 packages: - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 sha256: fe51de6107f9edc7aa4f786a70f4a883943bc9d39b3bb7307c04c41410990726 @@ -877,17 +877,19 @@ packages: - conda: . name: slatergpu version: 0.1.14 - build: hbf21a9e_0 + build: hb0f4dca_0 subdir: linux-64 - variants: {} + variants: + target_platform: linux-64 depends: - libcint >=5.3,<5.4.0a0 - conda: . name: slatergpu version: 0.1.14 - build: hbf21a9e_0 + build: he8cfe8b_0 subdir: linux-aarch64 - variants: {} + variants: + target_platform: linux-aarch64 depends: - libcint >=5.3,<5.4.0a0 - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_ha0e22de_103.conda diff --git a/pixi.toml b/pixi.toml index b8d5f08..a4ac406 100644 --- a/pixi.toml +++ b/pixi.toml @@ -2,7 +2,7 @@ channels = ["nvidia", "conda-forge"] platforms = ["linux-64", "linux-aarch64"] preview = ["pixi-build"] -requires-pixi = ">=0.54" +requires-pixi = ">=0.60.0" [package] name = "slatergpu" @@ -10,7 +10,7 @@ version = "0.1.14" [package.build.backend] name = "pixi-build-cmake" -version = "==0.3.4" +version = ">=0.3.6,<=0.3.8" [package.build.config] compilers = []