[new] inspect_virus: use parallel collector to run clamav on all CPUs #2
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: Oracle Linux | |
on: | |
push: | |
branches: [ main ] | |
paths-ignore: | |
- AUTHORS.md | |
- CC-BY-4.0.txt | |
- CHANGES.md | |
- CODE_OF_CONDUCT.md | |
- CONTRIBUTING.md | |
- COPYING | |
- COPYING.LIB | |
- HISTORY | |
- LICENSE-2.0.txt | |
- MISSING | |
- MIT.txt | |
- README.md | |
- RELEASE | |
- TODO | |
- 'contrib/**' | |
- 'data/**' | |
- 'doc/**' | |
- 'po/**' | |
- 'regress/**' | |
jobs: | |
linux: | |
# Use containers on their ubuntu latest image | |
runs-on: ubuntu-latest | |
# Set up the matrix of distributions to test | |
strategy: | |
matrix: | |
container: [ "oraclelinux:8", "oraclelinux:9" ] | |
container: | |
image: ${{ matrix.container }} | |
# All of these steps run from within the main source | |
# directory, so think of that as your $PWD | |
steps: | |
# Requirements before the git clone can happen | |
- name: git clone requirements | |
run: | | |
. /etc/os-release | |
V="$(echo "${VERSION}" | cut -d '.' -f 1)" | |
# Oracle's EPEL copy | |
REPO="/etc/yum.repos.d/ol-epel.repo" | |
mkdir -p /etc/yum.repos.d | |
echo '[ol_developer_EPEL]' > ${REPO} | |
echo 'name=Oracle Linux $releasever EPEL ($basearch)' >> ${REPO} | |
echo "baseurl=https://yum.oracle.com/repo/OracleLinux/OL${V}/developer/EPEL/$(uname -m)/" >> "${REPO}" | |
echo 'gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle' >> "${REPO}" | |
echo 'gpgcheck=1' >> "${REPO}" | |
echo 'enabled=1' >> "${REPO}" | |
# Turn on all the other repos | |
sed -i -e 's|enabled=0|enabled=1|g' /etc/yum.repos.d/*.repo | |
dnf upgrade -y | |
dnf install -y git | |
# This means clone the git repo | |
- uses: actions/checkout@v4 | |
# Within the container, install the dependencies, build, | |
# and run the test suite | |
- name: Build and run the test suite | |
run: | | |
# Install make(1) so we can use the instreqs target | |
dnf install -y make | |
# Install build dependencies and set up the target | |
make instreqs | |
# Use the latest Python | |
PYTHON_PROG="$(basename $(ls -1 /usr/bin/python*.* | grep -v config | sort -V | tail -n 1))" | |
# Build the software and run the test suite | |
make debug PYTHON=${PYTHON_PROG} | |
make check PYTHON=${PYTHON_PROG} | |
ninja -C build coverage && ( curl -s https://codecov.io/bash | bash ) || : |