Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
7765578
wip: workflows and actions refactoring
JuanPedroGHM Jun 13, 2025
ee2e39f
wip: we continue
JuanPedroGHM Apr 23, 2026
fa49855
fix: need to checkout stuff
JuanPedroGHM Apr 23, 2026
9d3d83b
fix: did not save
JuanPedroGHM Apr 23, 2026
b4edb8e
fix: correct actio definition
JuanPedroGHM Apr 23, 2026
6f2058e
fix: typos
JuanPedroGHM Apr 23, 2026
436952b
fix: secret handling in actions
JuanPedroGHM Apr 23, 2026
fdedcf3
fix: pre-execution bug for trigger steps
JuanPedroGHM Apr 23, 2026
e0e9370
fix: larger single step
JuanPedroGHM Apr 23, 2026
56be9bd
fix: simplified tests
JuanPedroGHM Apr 23, 2026
d285420
fix: simplified trigger actions
JuanPedroGHM Apr 23, 2026
cee02f7
fix: split pr update action
JuanPedroGHM Apr 23, 2026
4790da2
fix: forgot to checkout individual jobs
JuanPedroGHM Apr 23, 2026
753e328
fix: figuring out how this actually works
JuanPedroGHM Apr 23, 2026
e3018c1
fix: removed ready for review
JuanPedroGHM Apr 23, 2026
9fd947b
fix: more test configurations
JuanPedroGHM Apr 24, 2026
3888d94
--amend
JuanPedroGHM Apr 24, 2026
5bc5cd1
fix: uv - no system python
JuanPedroGHM Apr 24, 2026
3dacec8
fix: split python and uv action
JuanPedroGHM Apr 24, 2026
f2067d4
fix: addressing review comments
JuanPedroGHM Apr 24, 2026
70b38e1
Merge branch 'main' into cx/workflow_action_refactor
JuanPedroGHM Apr 24, 2026
6d3bd0a
Merge branch 'main' into cx/workflow_action_refactor
JuanPedroGHM Apr 27, 2026
f414294
fix: corrected support workflow branch
JuanPedroGHM Apr 28, 2026
46b29a4
Merge branch 'main' into cx/workflow_action_refactor
JuanPedroGHM Apr 28, 2026
864d1f7
fix: review comments
JuanPedroGHM Apr 28, 2026
dab9b7e
Apply suggestions from code review
JuanPedroGHM Apr 28, 2026
1462176
Merge branch 'main' into cx/workflow_action_refactor
JuanPedroGHM May 19, 2026
00defd4
fix: changed openmpi for mpich for gh tests
JuanPedroGHM May 19, 2026
9ba670a
fix: removed empty folder
JuanPedroGHM May 19, 2026
31d158f
Merge branch 'main' into cx/workflow_action_refactor
JuanPedroGHM May 20, 2026
1b3fb66
fix: missing flaky install
JuanPedroGHM May 20, 2026
709cdf2
fix: added flaky tests
JuanPedroGHM May 20, 2026
702e1e2
Apply suggestions from code review
JuanPedroGHM May 20, 2026
f114035
Fix indentation
brownbaerchen May 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 80 additions & 0 deletions .github/actions/gh_tests/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
name: GH Tests
description: "Run quick or full tests with a single configurable action."
inputs:
mode:
description: "Test mode: quick (only serial), medium (1 and 4 ranks), and full (1 to 4)."
required: false
default: "full"
sha:
description: "Commit SHA to checkout before running tests."
required: false
default: "${{ github.sha }}"
py-version:
description: "Python version for the test run."
required: false
default: "3.14"
mpi:
description: "MPI implementation to install."
required: false
default: "mpich"
install-options:
description: "Package install target/options for heat."
required: false
default: ".[dev]"
pytorch-version:
description: "Pinned torch/torchvision/torchaudio versions."
required: false
default: "torch==2.11.0 torchvision==0.26.0 torchaudio==2.11.0"
runs:
using: "composite"
steps:
- name: Setup MPI
uses: mpi4py/setup-mpi@3969f247e8fceef153418744f9d9ee6fdaeda29f # v1.2.0
with:
mpi: ${{ inputs.mpi }}
- name: "Set up Python"
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: "${{ inputs.py-version }}"
- name: Install uv and set the Python version
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
with:
enable-cache: true
# Installations
- name: Install heat
if: ${{ inputs.mode == 'full' || inputs.mode == 'medium' }}
shell: bash
env:
UV_SYSTEM_PYTHON: 1
run: |
uv pip install pytest flaky
uv pip install ${{ inputs.pytorch-version }} --extra-index-url https://download.pytorch.org/whl/cpu
uv pip install -e ${{ inputs.install-options }}
- name: Install quick test dependencies
if: ${{ inputs.mode == 'quick' }}
shell: bash
env:
UV_SYSTEM_PYTHON: 1
run: |
uv pip install pytest flaky
uv pip install .
# Running tests
- name: Run serial tests
shell: bash
run: |
mpirun -n 1 pytest -vv
- name: Run tests on 2 ranks
if: ${{ inputs.mode == 'full'}}
shell: bash
run: |
mpirun -n 2 pytest -vv
- name: Run tests on 3 ranks
if: ${{ inputs.mode == 'full'}}
shell: bash
run: |
mpirun -n 3 pytest -vv
- name: Run tests on 4 ranks
if: ${{ inputs.mode == 'full' || inputs.mode == 'medium' }}
shell: bash
run: |
mpirun -n 4 pytest -vv
45 changes: 45 additions & 0 deletions .github/actions/trigger_codebase_benchmarks/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Trigger Codebase Benchmarks
description: "Trigger benchmarks on Codebase for performance testing and analysis."
inputs:
branch:
description: "The branch to trigger benchmarks on. Defaults to 'main'."
required: false
default: "main"
sha:
description: "The commit SHA to trigger benchmarks on. Defaults to the current commit."
required: false
default: "${{ github.sha }}"
pr_number:
description: "The pull request number to trigger benchmarks on. Defaults to the current PR number."
required: false
default: ""
author:
description: "The author of the benchmarks. Defaults to the PR assignee or 'heat_team'."
required: false
default: "${{ github.event.pull_request.assignee.login || 'heat_team' }}"
trigger_token:
description: "The trigger token used to start the Codebase pipeline."
required: true
runs:
using: "composite"
steps:
- name: Trigger benchmarks
shell: bash
env:
AUTHOR: ${{ inputs.author}}
BRANCH: ${{ inputs.branch }}
API_TOKEN: ${{ inputs.trigger_token }}
SHA: ${{ inputs.sha }}
PR_NUMBER: ${{ inputs.pr_number }}
run: |
SHORT_SHA=$(git rev-parse --short $SHA)
curl -s -X POST \
--fail-with-body \
-F "token=$API_TOKEN" \
-F "ref=pipeline/cb/base" \
-F "variables[SHA]=$SHA" \
-F "variables[SHORT_SHA]=${SHORT_SHA}" \
-F "variables[BRANCH]=$BRANCH" \
-F "variables[PR]=$PR_NUMBER" \
-F "variables[AUTHOR]=${AUTHOR}" \
https://codebase.helmholtz.cloud/api/v4/projects/20697/trigger/pipeline
36 changes: 36 additions & 0 deletions .github/actions/trigger_codebase_tests/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Trigger Codebase Tests
description: "Trigger tests on Codebase for performance testing and analysis."
inputs:
branch:
description: "The branch to trigger tests on. Defaults to 'main'."
required: false
default: "main"
sha:
description: "The commit SHA to trigger tests on. Defaults to the current commit."
required: false
default: "${{ github.sha }}"
pr_number:
description: "The pull request number to trigger tests on. Defaults to the current PR number."
required: false
default: ""
trigger_token:
description: "The trigger token used to start the Codebase pipeline."
required: true
runs:
using: "composite"
steps:
- name: Trigger codebase tests
shell: bash
env:
API_TOKEN: ${{ inputs.trigger_token }}
BRANCH: ${{ inputs.branch }}
PR_NUMBER: ${{ inputs.pr_number }}
run: |
curl -s -X POST \
--fail-with-body \
-F "token=$API_TOKEN" \
-F "ref=pipeline/ci/base" \
-F "variables[BRANCH]=$BRANCH" \
-F "variables[PR]=$PR_NUMBER" \
-F "variables[SHA]=${{ inputs.sha }}" \
https://codebase.helmholtz.cloud/api/v4/projects/20697/trigger/pipeline
40 changes: 0 additions & 40 deletions .github/workflows/CIBase.yml

This file was deleted.

28 changes: 0 additions & 28 deletions .github/workflows/CISupport.yml

This file was deleted.

69 changes: 0 additions & 69 deletions .github/workflows/CommentPR.yml

This file was deleted.

50 changes: 0 additions & 50 deletions .github/workflows/ReceivePR.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .github/workflows/array-api.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
strategy:
matrix:
python-version: ['3.11', '3.12', '3.13', '3.14']
mpi: [ 'openmpi' ]
mpi: [ 'mpich' ]

steps:
- name: Checkout
Expand Down
Loading
Loading