-
Notifications
You must be signed in to change notification settings - Fork 187
137 lines (127 loc) · 3.6 KB
/
validate.yml
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
name: Validate
on:
push:
branches:
- 2.x
pull_request:
branches:
- 2.x
env:
SKIP_CI_SPECS: |
components/fs/lustre-client/SPECS/lustre.spec
components/parallel-libs/trilinos/SPECS/trilinos.spec
jobs:
check_spec:
env:
JOB_SKIP_CI_SPECS: |
components/admin/ohpc-filesystem/SPECS/ohpc-filesystem.spec
runs-on: ubuntu-latest
container:
image: docker.io/library/rockylinux:8
steps:
- name: Setup
run: |
dnf install -y epel-release git python3
- uses: actions/checkout@v3
- id: files
uses: Ana06/get-changed-files@v2.2.0
- name: Validate Changes
run: |
export SKIP_CI_SPECS="${{ env.SKIP_CI_SPECS }}${{ env.JOB_SKIP_CI_SPECS }}"
tests/ci/check_spec.py ${{ steps.files.outputs.added_modified }}
lint_markdown:
name: Run markdown linter
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Lint markdown
uses: DavidAnson/markdownlint-cli2-action@v9
with:
globs: |
README.md
CONTRIBUTING.md
lint:
strategy:
matrix:
step: [codespell, flake8, shellcheck, whitespace]
name: Run ${{ matrix.step }} linter
runs-on: ubuntu-latest
container:
image: registry.fedoraproject.org/fedora:latest
steps:
- name: Setup
run: dnf -y install codespell make python3-flake8 ShellCheck
- uses: actions/checkout@v3
- name: Run ${{ matrix.step }}
run: make -C tests/ci/ ${{ matrix.step }}-lint
build_on_rhel:
runs-on: ubuntu-latest
name: Build on RHEL
container:
image: docker.io/library/rockylinux:8
steps:
- name: Install git
run: dnf -y install git
- uses: actions/checkout@v3
- name: Setup
run: tests/ci/prepare-ci-environment.sh
- id: files
uses: Ana06/get-changed-files@v2.2.0
- name: Validate Build
run: |
. /etc/profile.d/lmod.sh
tests/ci/run_build.py ohpc ${{ steps.files.outputs.added_modified }}
touch /tmp/empty
- uses: actions/upload-artifact@v3
with:
name: rhel-rpms
retention-days: 1
path: |
/home/ohpc/rpmbuild/RPMS/noarch/*rpm
/home/ohpc/rpmbuild/RPMS/x86_64/*rpm
/tmp/empty
test_on_rhel:
runs-on: ubuntu-latest
name: Test on RHEL
env:
JOB_SKIP_CI_SPECS: |
components/perf-tools/likwid/SPECS/likwid.spec
container:
image: docker.io/library/rockylinux:8
options: --privileged
needs: build_on_rhel
steps:
- name: Install git
run: dnf -y install git
- uses: actions/checkout@v3
- name: Setup
run: tests/ci/prepare-ci-environment.sh
- id: files
uses: Ana06/get-changed-files@v2.2.0
- uses: actions/download-artifact@v3
with:
name: rhel-rpms
path: /home/ohpc/rpmbuild/RPMS
- name: Run CI Tests
run: |
export SKIP_CI_SPECS="${{ env.SKIP_CI_SPECS }}${{ env.JOB_SKIP_CI_SPECS }}"
. /etc/profile.d/lmod.sh
chown ohpc -R tests
tests/ci/setup_slurm_and_run_tests.sh ohpc ${{ steps.files.outputs.added_modified }}
build_on_leap:
runs-on: ubuntu-latest
name: Build on LEAP
container:
image: registry.opensuse.org/opensuse/leap:15.3
steps:
- name: Install git
run: zypper -n install git
- uses: actions/checkout@v3
- name: Setup
run: tests/ci/prepare-ci-environment.sh
- id: files
uses: Ana06/get-changed-files@v2.2.0
- name: Validate Build
run: |
. /etc/profile.d/lmod.sh
tests/ci/run_build.py ohpc ${{ steps.files.outputs.added_modified }}