diff --git a/.github/workflows/ci-python.yml b/.github/workflows/ci-python.yml
index b42cb68e1..34f8c64bb 100644
--- a/.github/workflows/ci-python.yml
+++ b/.github/workflows/ci-python.yml
@@ -7,13 +7,13 @@ on:
- compass/**
- .github/workflows/ci-python.yml
- pyproject.toml
- - "*.lock"
+ - pixi.lock
pull_request:
paths:
- compass/**
- .github/workflows/ci-python.yml
- pyproject.toml
- - "*.lock"
+ - pixi.lock
workflow_dispatch:
jobs:
@@ -56,6 +56,7 @@ jobs:
environments: pdev
- run: |
+ pixi reinstall -e pdev --locked NREL-COMPASS
pixi run -e pdev --locked tests-u
unit-tests:
diff --git a/.github/workflows/ci-rust.yml b/.github/workflows/ci-rust_code.yml
similarity index 96%
rename from .github/workflows/ci-rust.yml
rename to .github/workflows/ci-rust_code.yml
index 42e52eae0..debc93f5e 100644
--- a/.github/workflows/ci-rust.yml
+++ b/.github/workflows/ci-rust_code.yml
@@ -1,4 +1,4 @@
-name: Rust checks
+name: Rust Checks
on:
push:
@@ -12,7 +12,7 @@ on:
- Cargo.lock
- .github/workflows/ci-rust.yml
- pyproject.toml
- - "*.lock"
+ - pixi.lock
pull_request:
paths:
- crates/**
@@ -20,13 +20,13 @@ on:
- Cargo.lock
- .github/workflows/ci-rust.yml
- pyproject.toml
- - "*.lock"
+ - pixi.lock
schedule:
- cron: '0 5 * * 1'
jobs:
check:
- name: Rust - Check
+ name: Rust - Cargo Check
runs-on: ubuntu-latest
steps:
- name: Checkout sources
@@ -53,7 +53,7 @@ jobs:
lints:
# Only run tests if code looks OK
needs: check
- name: Rust - Lint
+ name: Rust - Clippy Lint
runs-on: ubuntu-latest
steps:
- name: Checkout sources
@@ -84,7 +84,7 @@ jobs:
test:
# Only run tests if code looks OK
needs: check
- name: Rust - Test
+ name: Rust - Tests
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
@@ -110,7 +110,7 @@ jobs:
- run: pixi run -e rdev tests-r
publish-dry:
- name: Rust - Publish (dry-run)
+ name: Rust - Publishing (dry-run)
# Only run tests if code looks OK
needs: check
runs-on: ubuntu-latest
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
index 0699b57c5..df057f593 100644
--- a/.github/workflows/docs.yml
+++ b/.github/workflows/docs.yml
@@ -8,14 +8,14 @@ on:
- compass/**
- .github/workflows/docs.yml
- pyproject.toml
- - "*.lock"
+ - pixi.lock
push:
branches: [main]
paths:
- compass/**
- .github/workflows/docs.yml
- pyproject.toml
- - "*.lock"
+ - pixi.lock
release:
types: [created, published]
workflow_dispatch:
diff --git a/.github/workflows/update_pixi_lock.yaml b/.github/workflows/update_pixi_lock.yaml
deleted file mode 100644
index 80127ee0c..000000000
--- a/.github/workflows/update_pixi_lock.yaml
+++ /dev/null
@@ -1,70 +0,0 @@
-name: Update Pixi lockfile
-
-on:
- workflow_dispatch:
- release:
- types: [published]
- schedule:
- - cron: "0 3 * * 1"
-
-permissions:
- contents: write
- pull-requests: write
-
-jobs:
- update:
- runs-on: ubuntu-latest
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v5
- with:
- ref: main
- fetch-depth: 0
- fetch-tags: true
-
- - uses: prefix-dev/setup-pixi@v0.9.3
- with:
- pixi-version: v0.59.0
- cache: false
-
- - name: Run Pixi update
- run: |
- pixi update
- pixi update nrel-compass
- pixi reinstall -e pdev
-
- - name: Determine trigger message
- id: trigger
- run: |
- if [ "${{ github.event_name }}" = "release" ]; then
- rel_url="${{ github.event.release.html_url }}"
- rel_tag="${{ github.event.release.tag_name }}"
- echo "msg=Triggered by [release ${rel_tag}](${rel_url})." >> $GITHUB_OUTPUT
- elif [ "${{ github.event_name }}" = "schedule" ]; then
- echo "msg=Triggered by a scheduled run." >> $GITHUB_OUTPUT
- elif [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
- echo "msg=Triggered manually by ${{ github.actor }}." >> $GITHUB_OUTPUT
- else
- echo "msg=Triggered automatically by ${{ github.event_name }}." >> $GITHUB_OUTPUT
- fi
-
- - name: Create PR
- uses: peter-evans/create-pull-request@v7
- with:
- commit-message: "chore: update pixi dependencies"
- title: "Update pixi lockfile"
- body: |
- This PR was automatically generated by the **Pixi lockfile update workflow**.
-
- ${{ steps.trigger.outputs.msg }}
-
- **Workflow details:**
- - Actor: `${{ github.actor }}`
- - Branch: `${{ github.ref_name }}`
- - Workflow run: [View run](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})
-
- branch: "auto/pixi-update"
- base: "main"
- delete-branch: true
- labels: dependencies, github_actions, chore
diff --git a/docs/source/dev/README.rst b/docs/source/dev/README.rst
index ee5e992be..25baa8d1f 100644
--- a/docs/source/dev/README.rst
+++ b/docs/source/dev/README.rst
@@ -377,10 +377,17 @@ When you are ready to release a new version of COMPASS, please follow these step
5) Click on the "Select Tag" dropdown and type in a **new** tag. Be sure to follow `Semantic Versioning `_. You may be prompted to create the new tag - make sure to do so
6) Proofread the release notes and make any necessary adjustments
7) Click "Publish Release"
-8) Once the release is published and the tag has been created, verify that a PR has been opened to update the pixi lockfile (you may have to wait some time for the GHA to run)
-9) Fill out any missing details in the PR (set yourself as the assignee, add any relevant project and milestone details, etc.)
-10) Request a review from another core COMPASS developer and merge the PR once approved
+8) Once the release is published and the tag has been created, you need to manually update the pixi lockfile:
+
+ a) Check out a new branch (e.g., ``update-lockfile-vX.Y.Z``)
+ b) Run ``pixi update nrel-compass`` to update the lockfile with the new COMPASS version
+ c) If needed, run ``pixi reinstall`` or ``pixi reinstall -e pdev`` to ensure the environment is consistent
+ d) Commit the updated ``pixi.lock`` file
+ e) Push your branch and open a PR with a title like "Update pixi lockfile for vX.Y.Z release"
+ f) Fill out any missing details in the PR (set yourself as the assignee, add any relevant project and milestone details, etc.)
+ g) Request a review from another core COMPASS developer and merge the PR once approved
Congratulations, you have just released a new version of COMPASS!
+
You may want to verify that the release has been published to `PyPi `_
(if not, check the "Upload to PyPi" GitHub Action).