[feat] Modernize ReFrame installation #2184
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Test Flux Scheduler | |
| on: [push, pull_request] | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| packages: read | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| container: ['fluxrm/flux-sched:noble'] | |
| container: | |
| image: ${{ matrix.container }} | |
| options: "--platform=linux/amd64 --user root -it --init" | |
| name: ${{ matrix.container }} | |
| steps: | |
| - name: Make Space | |
| run: | | |
| rm -rf /usr/share/dotnet | |
| rm -rf /opt/ghc | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| # Flux Python bindings are installed in the container; we need to create | |
| # and include them in the venv, because the simple `uv run` command runs | |
| # in an isolated venv | |
| - name: Install ReFrame | |
| run: | | |
| apt-get update && apt-get install -y curl | |
| curl -LsSf https://astral.sh/uv/install.sh | sh | |
| . $HOME/.local/bin/env | |
| uv venv --system-site-packages | |
| . .venv/bin/activate | |
| uv sync --group dev | |
| # Any additional examples added here will be tested | |
| - name: Start Flux and Run Test | |
| run: | | |
| # export PATH=$PWD/bin:$PATH | |
| flux start uv run reframe -c examples/howto/flux -C examples/howto/flux/settings.py -l | |
| flux start uv run reframe -c examples/howto/flux -C examples/howto/flux/settings.py -r | |
| flux start uv run coverage run --source=reframe ./test_reframe.py --rfm-user-config=examples/howto/flux/settings.py | |
| uv run coverage xml -o coverage.xml | |
| - name: Upload coverage reports | |
| uses: codecov/codecov-action@v4.2.0 |