ci: also build and test with the Intel compiler #1615
Workflow file for this run
This file contains 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: Validate | |
on: | |
push: | |
branches: | |
- 3.x | |
pull_request: | |
branches: | |
- 3.x | |
env: | |
SKIP_CI_SPECS: | | |
components/fs/lustre-client/SPECS/lustre.spec | |
components/parallel-libs/trilinos/SPECS/trilinos.spec | |
components/admin/docs/SPECS/docs.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:9 | |
steps: | |
- name: Setup | |
run: | | |
dnf install -y epel-release git python3 | |
- uses: actions/checkout@v3 | |
- id: files | |
uses: Ana06/[email protected] | |
- 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: | |
strategy: | |
matrix: | |
compiler: [gnu12, gnu13, intel] | |
runs-on: ubuntu-latest | |
name: Build on RHEL (${{ matrix.compiler}}) | |
container: | |
image: docker.io/library/rockylinux:9 | |
volumes: | |
- /usr:/host/usr | |
- /opt:/host/opt | |
steps: | |
- name: Delete unneeded tools on the host | |
run: | | |
df -h | |
rm -rf /host/usr/share/dotnet /host/usr/local/lib/android /host/opt/ghc | |
df -h | |
- name: Install git | |
run: dnf -y install git | |
- uses: actions/checkout@v3 | |
- name: Setup | |
run: tests/ci/prepare-ci-environment.sh ${{ matrix.compiler }} | |
- id: files | |
uses: Ana06/[email protected] | |
- name: Validate Build | |
run: | | |
. /etc/profile.d/lmod.sh | |
tests/ci/run_build.py ohpc ${{ steps.files.outputs.added_modified }} --compiler-family ${{ matrix.compiler }} | |
touch /tmp/empty | |
- uses: actions/upload-artifact@v3 | |
if: matrix.compiler == 'gnu12' | |
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: | |
strategy: | |
matrix: | |
compiler: [gnu12, intel] | |
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:9 | |
options: --privileged | |
volumes: | |
- /usr:/host/usr | |
- /opt:/host/opt | |
needs: build_on_rhel | |
steps: | |
- name: Delete unneeded tools on the host | |
run: | | |
df -h | |
rm -rf /host/usr/share/dotnet /host/usr/local/lib/android /host/opt/ghc | |
df -h | |
- name: Install git | |
run: dnf -y install git | |
- uses: actions/checkout@v3 | |
- name: Setup | |
run: tests/ci/prepare-ci-environment.sh ${{ matrix.compiler }} | |
- id: files | |
uses: Ana06/[email protected] | |
- 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 ${{ matrix.compiler }} ${{ steps.files.outputs.added_modified }} | |
- name: Upload Test Results | |
# To display test results from forked repositories they need to | |
# be uploaded and then analyzed. | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: test-results-${{ matrix.compiler }} | |
retention-days: 1 | |
path: tests/**/*.log.xml | |
build_on_openEuler: | |
runs-on: ubuntu-latest | |
name: Build on openEuler | |
container: | |
image: docker.io/openeuler/openeuler:22.03-lts | |
steps: | |
- name: Switch repo | |
run: sed -i "[email protected]@repo.huaweicloud.com/openeuler@g" /etc/yum.repos.d/openEuler.repo | |
- 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/[email protected] | |
- 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: openEuler-rpms | |
retention-days: 1 | |
path: | | |
/home/ohpc/rpmbuild/RPMS/noarch/*rpm | |
/home/ohpc/rpmbuild/RPMS/x86_64/*rpm | |
/tmp/empty | |
test_on_openEuler: | |
strategy: | |
matrix: | |
compiler: [gnu12] | |
env: | |
JOB_SKIP_CI_SPECS: | | |
components/runtimes/charliecloud/SPECS/charliecloud.spec | |
components/perf-tools/likwid/SPECS/likwid.spec | |
runs-on: ubuntu-latest | |
name: Test on openEuler | |
container: | |
image: docker.io/openeuler/openeuler:22.03-lts | |
needs: build_on_openEuler | |
steps: | |
- name: Switch repo | |
run: sed -i "[email protected]@repo.huaweicloud.com/openeuler@g" /etc/yum.repos.d/openEuler.repo | |
- 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/[email protected] | |
- uses: actions/download-artifact@v3 | |
with: | |
name: openEuler-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 ${{ matrix.compiler }} ${{ steps.files.outputs.added_modified }} | |
build_on_leap: | |
runs-on: ubuntu-latest | |
name: Build on LEAP | |
container: | |
image: registry.opensuse.org/opensuse/leap:15.4 | |
steps: | |
- name: Install git | |
run: zypper -n update; zypper -n install git | |
- uses: actions/checkout@v3 | |
- name: Setup | |
run: tests/ci/prepare-ci-environment.sh | |
- id: files | |
uses: Ana06/[email protected] | |
- 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: leap-rpms | |
retention-days: 1 | |
path: | | |
/home/ohpc/rpmbuild/RPMS/noarch/*rpm | |
/home/ohpc/rpmbuild/RPMS/x86_64/*rpm | |
/tmp/empty | |
test_on_leap: | |
strategy: | |
matrix: | |
compiler: [gnu12] | |
env: | |
JOB_SKIP_CI_SPECS: | | |
components/runtimes/charliecloud/SPECS/charliecloud.spec | |
components/perf-tools/likwid/SPECS/likwid.spec | |
runs-on: ubuntu-latest | |
name: Test on LEAP | |
container: | |
image: registry.opensuse.org/opensuse/leap:15.4 | |
needs: build_on_leap | |
steps: | |
- name: Install git | |
run: zypper -n update; zypper -n install git | |
- uses: actions/checkout@v3 | |
- name: Setup | |
run: tests/ci/prepare-ci-environment.sh | |
- id: files | |
uses: Ana06/[email protected] | |
- uses: actions/download-artifact@v3 | |
with: | |
name: leap-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 ${{ matrix.compiler }} ${{ steps.files.outputs.added_modified }} | |
event_file: | |
name: "Event File" | |
runs-on: ubuntu-latest | |
steps: | |
- name: Upload | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: event-file | |
retention-days: 1 | |
path: ${{ github.event_path }} |