Skip to content

build(deps): bump DavidAnson/markdownlint-cli2-action from 24.1.0 to 24.2.0 #4073

build(deps): bump DavidAnson/markdownlint-cli2-action from 24.1.0 to 24.2.0

build(deps): bump DavidAnson/markdownlint-cli2-action from 24.1.0 to 24.2.0 #4073

Workflow file for this run

name: Validate
on:
push:
branches:
- 4.x
pull_request:
branches:
- 4.x
permissions:
actions: write
contents: read
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: ghcr.io/openhpc/ohpc-analysis:latest
steps:
- uses: actions/checkout@v7
- id: files
uses: Ana06/get-changed-files@v2.3.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 }}
build_on_rhel:
strategy:
matrix:
os: [ubuntu-latest, ubuntu-24.04-arm]
compiler: [gnu15, intel]
include:
- os: ubuntu-latest
arch: x86_64
- os: ubuntu-24.04-arm
arch: aarch64
exclude:
- os: ubuntu-24.04-arm
compiler: intel
runs-on: ${{ matrix.os }}
name: Build on RHEL (${{ matrix.arch }}/${{ matrix.compiler }})
container:
image: ghcr.io/openhpc/ohpc-validate-almalinux:latest
volumes:
- /usr:/host/usr
- /opt:/host/opt
steps:
- name: Delete unneeded tools on the host
# Needed to have enough space to install the Intel compiler
run: |
rm -rf /host/usr/share/dotnet /host/usr/local/lib/android /host/opt/ghc
- name: Update packages
run: dnf -y update
- uses: actions/checkout@v7
- name: Restore ccache
uses: actions/cache/restore@v6
with:
path: /var/cache/ccache
key: ccache-rhel-${{ matrix.arch }}-${{ matrix.compiler }}-${{ github.sha }}
restore-keys: |
ccache-rhel-${{ matrix.arch }}-${{ matrix.compiler }}-
- name: Restore oneAPI package cache
if: matrix.compiler == 'intel'
uses: ./.github/actions/oneapi-cache
with:
mode: restore
- name: Setup
run: tests/ci/prepare-ci-environment.sh ${{ matrix.compiler }}
- id: files
uses: Ana06/get-changed-files@v2.3.0
- name: Validate Build
run: |
export SKIP_CI_SPECS="${{ env.SKIP_CI_SPECS }}"
if [ "${{ matrix.compiler }}" == "intel" ]; then
export SKIP_CI_SPECS="${SKIP_CI_SPECS} components/serial-libs/openblas/SPECS/openblas.spec"
export SKIP_CI_SPECS="${SKIP_CI_SPECS} components/dev-tools/scipy/SPECS/python-scipy.spec"
export SKIP_CI_SPECS="${SKIP_CI_SPECS} components/serial-libs/R/SPECS/R.spec"
export SKIP_CI_SPECS="${SKIP_CI_SPECS} components/parallel-libs/opencoarrays/SPECS/opencoarrays.spec"
fi
if [ "${{ matrix.os }}" == "ubuntu-24.04-arm" ]; then
export SKIP_CI_SPECS="${SKIP_CI_SPECS} components/compiler-families/intel-compilers-devel/SPECS/intel-compilers-devel.spec"
export SKIP_CI_SPECS="${SKIP_CI_SPECS} components/mpi-families/impi-devel/SPECS/intel-mpi.spec"
export SKIP_CI_SPECS="${SKIP_CI_SPECS} components/perf-tools/geopm/SPECS/geopm.spec"
export SKIP_CI_SPECS="${SKIP_CI_SPECS} components/perf-tools/likwid/SPECS/likwid.spec"
fi
. /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@v7
with:
name: rhel-rpms-${{ matrix.compiler }}-${{ matrix.os }}
retention-days: 1
path: |
/home/ohpc/rpmbuild/RPMS/aarch64/*rpm
/home/ohpc/rpmbuild/RPMS/noarch/*rpm
/home/ohpc/rpmbuild/RPMS/x86_64/*rpm
/tmp/empty
- name: Save oneAPI package cache
if: always() && matrix.compiler == 'intel'
uses: ./.github/actions/oneapi-cache
with:
mode: save
- name: Save ccache
if: always()
uses: actions/cache/save@v6
with:
path: /var/cache/ccache
key: ccache-rhel-${{ matrix.arch }}-${{ matrix.compiler }}-${{ github.sha }}-${{ github.run_id }}-build
test_on_rhel:
strategy:
matrix:
os: [ubuntu-latest, ubuntu-24.04-arm]
compiler: [gnu15, intel]
include:
- os: ubuntu-latest
arch: x86_64
- os: ubuntu-24.04-arm
arch: aarch64
exclude:
- os: ubuntu-24.04-arm
compiler: intel
runs-on: ${{ matrix.os }}
name: Test on RHEL (${{ matrix.arch }}/${{ matrix.compiler }})
env:
JOB_SKIP_CI_SPECS: |
components/perf-tools/likwid/SPECS/likwid.spec
container:
image: ghcr.io/openhpc/ohpc-validate-almalinux:latest
options: --privileged --security-opt seccomp=unconfined --security-opt apparmor=unconfined
volumes:
- /usr:/host/usr
- /opt:/host/opt
needs: build_on_rhel
steps:
- name: Delete unneeded tools on the host
# Needed to have enough space to install the Intel compiler
run: |
rm -rf /host/usr/share/dotnet /host/usr/local/lib/android /host/opt/ghc
- name: Update packages
run: dnf -y update
- uses: actions/checkout@v7
- name: Restore ccache
uses: actions/cache/restore@v6
with:
path: /var/cache/ccache
key: ccache-rhel-${{ matrix.arch }}-${{ matrix.compiler }}-${{ github.sha }}-${{ github.run_id }}-build
restore-keys: |
ccache-rhel-${{ matrix.arch }}-${{ matrix.compiler }}-
- name: Restore oneAPI package cache
if: matrix.compiler == 'intel'
uses: ./.github/actions/oneapi-cache
with:
mode: restore
- name: Setup
run: tests/ci/prepare-ci-environment.sh ${{ matrix.compiler }}
- id: files
uses: Ana06/get-changed-files@v2.3.0
- uses: actions/download-artifact@v8
with:
name: rhel-rpms-${{ matrix.compiler }}-${{ matrix.os }}
path: /home/ohpc/rpmbuild/RPMS
- name: Check for ALL tests marker
id: check_all
uses: ./.github/actions/check-tests-all
- name: Enable unprivileged user namespaces
run: |
sysctl -w kernel.unprivileged_userns_clone=1 || true
sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 || true
- name: Run CI Tests
run: |
export SKIP_CI_SPECS="${{ env.SKIP_CI_SPECS }}${{ env.JOB_SKIP_CI_SPECS }}"
if [ "${{ matrix.compiler }}" == "intel" ]; then
export SKIP_CI_SPECS="${SKIP_CI_SPECS} components/serial-libs/openblas/SPECS/openblas.spec"
export SKIP_CI_SPECS="${SKIP_CI_SPECS} components/dev-tools/scipy/SPECS/python-scipy.spec"
export SKIP_CI_SPECS="${SKIP_CI_SPECS} components/dev-tools/spack/SPECS/spack.spec"
export SKIP_CI_SPECS="${SKIP_CI_SPECS} components/dev-tools/cmake/SPECS/cmake.spec"
export SKIP_CI_SPECS="${SKIP_CI_SPECS} components/serial-libs/R/SPECS/R.spec"
export SKIP_CI_SPECS="${SKIP_CI_SPECS} components/parallel-libs/opencoarrays/SPECS/opencoarrays.spec"
fi
if [ "${{ matrix.os }}" == "ubuntu-24.04-arm" ]; then
export SKIP_CI_SPECS="${SKIP_CI_SPECS} components/compiler-families/intel-compilers-devel/SPECS/intel-compilers-devel.spec"
export SKIP_CI_SPECS="${SKIP_CI_SPECS} components/mpi-families/impi-devel/SPECS/intel-mpi.spec"
export SKIP_CI_SPECS="${SKIP_CI_SPECS} components/perf-tools/geopm/SPECS/geopm.spec"
export SKIP_CI_SPECS="${SKIP_CI_SPECS} components/perf-tools/likwid/SPECS/likwid.spec"
fi
. /etc/profile.d/lmod.sh
chown ohpc -R tests
if [ "${{ steps.check_all.outputs.run_all }}" == "true" ] && [ "${{ matrix.compiler }}" != "intel" ]; then
tests/ci/setup_slurm_and_run_tests.sh ohpc ${{ matrix.compiler }} ALL
else
tests/ci/setup_slurm_and_run_tests.sh ohpc ${{ matrix.compiler }} ${{ steps.files.outputs.added_modified }}
fi
- 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@v7
with:
name: test-results-${{ matrix.compiler }}-${{ matrix.os }}
retention-days: 1
path: tests/**/*.log.xml
- name: Save oneAPI package cache
if: always() && matrix.compiler == 'intel'
uses: ./.github/actions/oneapi-cache
with:
mode: save
- name: Save ccache
if: always()
uses: actions/cache/save@v6
with:
path: /var/cache/ccache
key: ccache-rhel-${{ matrix.arch }}-${{ matrix.compiler }}-${{ github.sha }}-${{ github.run_id }}
- name: Upload ccache stats
if: always()
uses: ./.github/actions/upload-ccache-stats
with:
job-name: "RHEL (${{ matrix.arch }}/${{ matrix.compiler }})"
artifact-suffix: rhel-${{ matrix.arch }}-${{ matrix.compiler }}
integration_test:
strategy:
fail-fast: false
matrix:
provisioner: [warewulf, openchami]
runs-on: ubuntu-latest
name: AlmaLinux 10 ${{ matrix.provisioner }} Slurm Integration
needs: build_on_rhel
steps:
- uses: actions/checkout@v7
- uses: actions/download-artifact@v8
with:
name: rhel-rpms-gnu15-ubuntu-latest
path: rpms
- name: Disable AppArmor
run: |
sudo aa-teardown || true
sudo systemctl disable apparmor
- name: Start AlmaLinux 10 container
run: >-
sudo mkdir -p /mnt/nested-container;
sudo podman run
-w /home/ohpc
--privileged
--security-opt seccomp=unconfined
--security-opt apparmor=unconfined
-v /home:/home
-v /opt:/opt
-v /mnt/nested-container:/var/lib/containers
-v ${{ github.workspace }}:/home/ohpc
-v ${{ github.workspace }}/rpms:/tmp/RPMS
-d
--systemd=true
--hostname sms
quay.io/almalinuxorg/10-init
/usr/lib/systemd/systemd
- name: Run integration test
run: >-
sudo podman exec -it -l
bash -c "cd /home/ohpc; bash tests/ci/integration-test.sh -p ${{ matrix.provisioner }}"
- name: Debug via SSH
if: failure()
uses: mxschmitt/action-tmate@v3
with:
limit-access-to-actor: true
build_on_openEuler:
strategy:
matrix:
os: [ubuntu-latest, ubuntu-24.04-arm]
include:
- os: ubuntu-latest
arch: x86_64
- os: ubuntu-24.04-arm
arch: aarch64
env:
JOB_SKIP_CI_SPECS: |
components/admin/docs/SPECS/docs.spec
components/provisioning/warewulf/SPECS/warewulf.spec
runs-on: ${{ matrix.os }}
name: Build on openEuler (${{ matrix.arch }})
container:
image: ghcr.io/openhpc/ohpc-validate-openeuler:latest
steps:
- name: Update packages
run: dnf -y update
- uses: actions/checkout@v7
- name: Restore ccache
uses: actions/cache/restore@v6
with:
path: /var/cache/ccache
key: ccache-openeuler-${{ matrix.arch }}-${{ github.sha }}
restore-keys: |
ccache-openeuler-${{ matrix.arch }}-
- name: Setup
run: tests/ci/prepare-ci-environment.sh ${{ matrix.compiler }}
- id: files
uses: Ana06/get-changed-files@v2.3.0
- name: Validate Build
run: |
export SKIP_CI_SPECS="${{ env.SKIP_CI_SPECS }}${{ env.JOB_SKIP_CI_SPECS }}"
if [ "${{ matrix.os }}" == "ubuntu-24.04-arm" ]; then
export SKIP_CI_SPECS="${SKIP_CI_SPECS} components/compiler-families/intel-compilers-devel/SPECS/intel-compilers-devel.spec"
export SKIP_CI_SPECS="${SKIP_CI_SPECS} components/mpi-families/impi-devel/SPECS/intel-mpi.spec"
export SKIP_CI_SPECS="${SKIP_CI_SPECS} components/perf-tools/geopm/SPECS/geopm.spec"
export SKIP_CI_SPECS="${SKIP_CI_SPECS} components/perf-tools/likwid/SPECS/likwid.spec"
fi
. /etc/profile.d/lmod.sh
tests/ci/run_build.py ohpc ${{ steps.files.outputs.added_modified }}
touch /tmp/empty
- uses: actions/upload-artifact@v7
with:
name: openEuler-rpms-${{ matrix.os }}
retention-days: 1
path: |
/home/ohpc/rpmbuild/RPMS/aarch64/*rpm
/home/ohpc/rpmbuild/RPMS/noarch/*rpm
/home/ohpc/rpmbuild/RPMS/x86_64/*rpm
/tmp/empty
- name: Save ccache
if: always()
uses: actions/cache/save@v6
with:
path: /var/cache/ccache
key: ccache-openeuler-${{ matrix.arch }}-${{ github.sha }}-${{ github.run_id }}-build
test_on_openEuler:
strategy:
matrix:
compiler: [gnu15]
os: [ubuntu-latest, ubuntu-24.04-arm]
include:
- os: ubuntu-latest
arch: x86_64
- os: ubuntu-24.04-arm
arch: aarch64
env:
JOB_SKIP_CI_SPECS: |
components/admin/docs/SPECS/docs.spec
components/runtimes/charliecloud/SPECS/charliecloud.spec
components/perf-tools/likwid/SPECS/likwid.spec
components/provisioning/warewulf/SPECS/warewulf.spec
runs-on: ${{ matrix.os }}
name: Test on openEuler (${{ matrix.arch }}/${{ matrix.compiler }})
container:
image: ghcr.io/openhpc/ohpc-validate-openeuler:latest
options: --privileged --security-opt seccomp=unconfined --security-opt apparmor=unconfined
needs: build_on_openEuler
steps:
- name: Update packages
run: dnf -y update
- uses: actions/checkout@v7
- name: Restore ccache
uses: actions/cache/restore@v6
with:
path: /var/cache/ccache
key: ccache-openeuler-${{ matrix.arch }}-${{ github.sha }}-${{ github.run_id }}-build
restore-keys: |
ccache-openeuler-${{ matrix.arch }}-
- name: Setup
run: tests/ci/prepare-ci-environment.sh ${{ matrix.compiler }}
- id: files
uses: Ana06/get-changed-files@v2.3.0
- uses: actions/download-artifact@v8
with:
name: openEuler-rpms-${{ matrix.os }}
path: /home/ohpc/rpmbuild/RPMS
- name: Check for ALL tests marker
id: check_all
uses: ./.github/actions/check-tests-all
- name: Enable unprivileged user namespaces
run: |
sysctl -w kernel.unprivileged_userns_clone=1 || true
sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 || true
- name: Run CI Tests
run: |
export SKIP_CI_SPECS="${{ env.SKIP_CI_SPECS }}${{ env.JOB_SKIP_CI_SPECS }}"
if [ "${{ matrix.os }}" == "ubuntu-24.04-arm" ]; then
export SKIP_CI_SPECS="${SKIP_CI_SPECS} components/compiler-families/intel-compilers-devel/SPECS/intel-compilers-devel.spec"
export SKIP_CI_SPECS="${SKIP_CI_SPECS} components/mpi-families/impi-devel/SPECS/intel-mpi.spec"
export SKIP_CI_SPECS="${SKIP_CI_SPECS} components/perf-tools/geopm/SPECS/geopm.spec"
export SKIP_CI_SPECS="${SKIP_CI_SPECS} components/perf-tools/likwid/SPECS/likwid.spec"
fi
. /etc/profile.d/lmod.sh
chown ohpc -R tests
if [ "${{ steps.check_all.outputs.run_all }}" == "true" ]; then
tests/ci/setup_slurm_and_run_tests.sh ohpc ${{ matrix.compiler }} ALL
else
tests/ci/setup_slurm_and_run_tests.sh ohpc ${{ matrix.compiler }} ${{ steps.files.outputs.added_modified }}
fi
- name: Save ccache
if: always()
uses: actions/cache/save@v6
with:
path: /var/cache/ccache
key: ccache-openeuler-${{ matrix.arch }}-${{ github.sha }}-${{ github.run_id }}
- name: Upload ccache stats
if: always()
uses: ./.github/actions/upload-ccache-stats
with:
job-name: "openEuler (${{ matrix.arch }})"
artifact-suffix: openeuler-${{ matrix.arch }}
event_file:
name: "Event File"
runs-on: ubuntu-latest
steps:
- name: Upload
if: always()
uses: actions/upload-artifact@v7
with:
name: event-file
retention-days: 1
path: ${{ github.event_path }}