Skip to content

ci: add Rocky Linux 9.4 #3847

ci: add Rocky Linux 9.4

ci: add Rocky Linux 9.4 #3847

Workflow file for this run

name: C/C++ CI Build and Test
# https://github.com/ossf/scorecard/blob/9ff40de429d0c7710076070387c8755494a9f187/docs/checks.md#token-permissions
permissions:
contents: read
on:
workflow_dispatch:
push:
branches:
- master
- feature/**
paths-ignore:
- 'python/**'
- 'tools/extra/fpgabist/**'
- 'tools/extra/packager/*.py'
- 'tools/extra/packager/metadata/**'
- 'tools/extra/packager/test/*.py'
- 'tools/extra/pac_hssi_config/*.py'
- 'tools/extra/fpgadiag/**'
- 'tools/utilities/**'
- 'scripts/*.py'
- 'platforms/scripts/platmgr/**'
- '.github/workflows/python-static-analysis.yml'
pull_request:
branches:
- master
- feature/**
paths-ignore:
- 'python/**'
- 'tools/extra/fpgabist/**'
- 'tools/extra/packager/*.py'
- 'tools/extra/packager/metadata/**'
- 'tools/extra/packager/test/*.py'
- 'tools/extra/pac_hssi_config/*.py'
- 'tools/extra/fpgadiag/**'
- 'tools/utilities/**'
- 'scripts/*.py'
- 'platforms/scripts/platmgr/**'
- '.github/workflows/python-static-analysis.yml'
jobs:
coding-style:
runs-on: ubuntu-latest
strategy:
matrix:
lang-type: [c, cpp]
steps:
- uses: actions/checkout@v3
- name: bugfix
run: sudo rm -f /var/cache/debconf/config.dat
- name: disable_snap
run: |
echo 'Package: snapd' | sudo tee /etc/apt/preferences.d/nosnap.pref
echo 'Pin: release a=*' | sudo tee -a /etc/apt/preferences.d/nosnap.pref
echo 'Pin-Priority: -10' | sudo tee -a /etc/apt/preferences.d/nosnap.pref
sudo -E DEBIAN_FRONTEND=noninteractive apt-get autopurge -y snapd
- name: update
run: sudo apt-get update -y
- name: upgrade
run: sudo -E DEBIAN_FRONTEND=noninteractive apt-get upgrade -y
- name: install
run: sudo -E DEBIAN_FRONTEND=noninteractive apt-get install -y clang-format
- name: test ${{ matrix.lang-type }}
run: ${{ github.workspace }}/scripts/test-codingstyle-all.sh ${{ matrix.lang-type }}
build:
runs-on: ubuntu-latest
strategy:
matrix:
build-type: [Debug, Release, RelWithDebInfo]
steps:
- uses: actions/checkout@v3
- name: bugfix
run: sudo rm -f /var/cache/debconf/config.dat
- name: disable_snap
run: |
echo 'Package: snapd' | sudo tee /etc/apt/preferences.d/nosnap.pref
echo 'Pin: release a=*' | sudo tee -a /etc/apt/preferences.d/nosnap.pref
echo 'Pin-Priority: -10' | sudo tee -a /etc/apt/preferences.d/nosnap.pref
sudo -E DEBIAN_FRONTEND=noninteractive apt-get autopurge -y snapd
- name: update
run: sudo apt-get update -y
- name: upgrade
run: sudo -E DEBIAN_FRONTEND=noninteractive apt-get upgrade -y
- name: install
run: sudo -E DEBIAN_FRONTEND=noninteractive apt-get install -y uuid-dev libjson-c-dev libhwloc-dev lcov libtbb-dev linux-headers-generic libedit-dev libudev-dev libcap-dev
- name: Get Python packages
run: python3 -m pip install setuptools --user
- name: configure ${{ matrix.build-type }}
run: mkdir ${{ github.workspace }}/.build && cd ${{ github.workspace }}/.build && cmake .. -DCMAKE_BUILD_TYPE=${{ matrix.build-type }}
- name: make ${{ matrix.build-type }}
run: cd ${{ github.workspace }}/.build && make -j $(nproc)
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: bugfix
run: sudo rm -f /var/cache/debconf/config.dat
- name: disable_snap
run: |
echo 'Package: snapd' | sudo tee /etc/apt/preferences.d/nosnap.pref
echo 'Pin: release a=*' | sudo tee -a /etc/apt/preferences.d/nosnap.pref
echo 'Pin-Priority: -10' | sudo tee -a /etc/apt/preferences.d/nosnap.pref
sudo -E DEBIAN_FRONTEND=noninteractive apt-get autopurge -y snapd
- name: update
run: sudo apt-get update -y
- name: upgrade
run: sudo -E DEBIAN_FRONTEND=noninteractive apt-get upgrade -y
- name: install
run: sudo -E DEBIAN_FRONTEND=noninteractive apt-get install -y uuid-dev libjson-c-dev libhwloc-dev lcov libtbb-dev libedit-dev libudev-dev libcap-dev
- name: set hugepages
run: sudo sysctl -w vm.nr_hugepages=8
- name: run unit tests
run: ${{ github.workspace }}/scripts/cover.sh
- name: Coveralls
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: unittests/coverage.info.cleaned
build-doc:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: update
run: sudo apt-get update -y
- name: Build Docker image
run: docker build . -f docker/docs/Dockerfile -t opae/docs-builder
- name: Build Documentation
run: docker run --rm -v ${{ github.workspace }}:/root opae/docs-builder ./scripts/build-documentation.sh
- name: Upload latest to github.io
if: ${{ github.ref == 'refs/heads/master' }}
working-directory: ${{ github.workspace }}/mybuild_docs
run: ${{ github.workspace }}/scripts/push-documentation.sh latest
- name: Upload tag to github.io
if: startsWith(github.ref, 'refs/tags/')
working-directory: ${{ github.workspace }}/mybuild_docs
run: ${{ github.workspace }}/scripts/push-documentation.sh "${GITHUB_TAG##*/}"
- name: Archive html docs
uses: actions/upload-artifact@v3
with:
name: docs
path: mybuild_docs/sphinx/html
- name: (lychee) Link Checker
uses: lycheeverse/lychee-action@v1
with:
args: --verbose --no-progress mybuild_docs/sphinx/html
output: ${{ github.workspace }}/lychee
- name: Archive lychee results
uses: actions/upload-artifact@v3
with:
name: link-checker
path: ${{ github.workspace }}/lychee