-
Notifications
You must be signed in to change notification settings - Fork 126
145 lines (137 loc) · 4.42 KB
/
Copy pathmain.yml
File metadata and controls
145 lines (137 loc) · 4.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
name: ReFrame CI
on: [push, pull_request]
jobs:
unittest:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.10', '3.11', '3.12', '3.13', '3.14']
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
uv sync --group dev
- name: Generic Unittests
run: |
uv run coverage run --source=reframe ./test_reframe.py
uv run coverage xml -o coverage.xml
- name: Upload coverage reports
uses: codecov/codecov-action@v4.2.0
unittest-macos:
runs-on: macos-latest
strategy:
matrix:
python-version: ['3.10', '3.11', '3.12', '3.13', '3.14']
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
uv sync --group dev
- name: Generic Unittests
run: |
uv run coverage run --source=reframe ./test_reframe.py
uv run coverage xml -o coverage.xml
- name: Upload coverage reports
uses: codecov/codecov-action@v4.2.0
modulestest:
runs-on: ubuntu-latest
strategy:
matrix:
modules-version: [envmodules, lmod, spack]
steps:
- uses: actions/checkout@v4
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build Image for ${{ matrix.modules-version }}
run: |
docker build -f ci-scripts/dockerfiles/reframe-${{ matrix.modules-version }}.dockerfile -t reframe-${{ matrix.modules-version }}:latest .
- name: Run Unittests
run: |
docker run --name=reframe-${{ matrix.modules-version }} reframe-${{ matrix.modules-version }}:latest
docker cp reframe-${{ matrix.modules-version }}:/home/rfmuser/reframe/coverage.xml .
- name: Upload coverage reports
uses: codecov/codecov-action@v4.2.0
eb-spack-howto:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build Image for Tutorial Tests
run: |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin
docker build -f ci-scripts/dockerfiles/eb-spack-howto.dockerfile -t reframe-tutorials:latest .
docker logout
- name: Run Tutorial Tests
run: |
docker run reframe-tutorials:latest
unusedimports:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Lint Code Base
uses: super-linter/super-linter@v8.3.1
env:
VALIDATE_ALL_CODEBASE: false
VALIDATE_PYTHON_FLAKE8: true
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
wheelvalidation:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.10', '3.11', '3.12', '3.13', '3.14']
steps:
- uses: actions/checkout@v4
- name: Setup up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Generate Wheel
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
uv build
- name: Install Wheel
run: |
uv tool install dist/*.whl
- name: Test Installation
run: |
reframe -V
reframe -l
docvalidation:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.10', '3.11', '3.12', '3.13', '3.14']
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install Doc Requirements
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
uv sync --group docs
- name: Build documentation
run: |
uv run make -C docs