/
githubmirror
/
libnet
Обзор
Документация
Войти
/
githubmirror
/
libnet
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
.github/workflows/build.yml
120 строк
4 KB
Joachim Wiberg
.github: reduce number of required runners
15 фев 2025, 09:51
Не верифицирован
15 фев 2025, 09:51
81465b3
Код
Авторство
О чём код?
name: Linux/macOS on: pull_request: push: branches: main env: # https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners MAKEFLAGS: -j3 GCC_CFLAGS: "-Wall -Wextra -Wshadow -Wunused -Wpedantic -Wmisleading-indentation -Wduplicated-cond -Wduplicated-branches -Wlogical-op" CLANG_CFLAGS: "-Wall -Wextra -Wshadow -Wunused -Wpedantic" jobs: build: strategy: matrix: name: [ ubuntu-latest-gcc, ubuntu-latest-clang, macos-latest-clang ] include: - name: ubuntu-latest-gcc os: ubuntu-latest cc: gcc - name: ubuntu-latest-clang os: ubuntu-latest cc: clang - name: macos-latest-clang os: macos-latest cc: clang runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - name: Install MacOS dependencies if: startsWith(matrix.os,'macos') run: | brew update brew install autoconf automake libtool tree doxygen - name: Install Linux dependencies if: startsWith(matrix.os,'ubuntu') run: | sudo apt-get update sudo apt-get install -y build-essential autoconf automake libtool clang tree doxygen - name: Configure run: | ./autogen.sh ./configure --prefix=/usr CC=${{ matrix.cc }} - name: Build run: | make V=1 make install-strip DESTDIR=/tmp tree /tmp/usr unit-tests: strategy: matrix: name: [ ubuntu-latest-gcc, ubuntu-latest-clang, macos-latest-clang ] include: - name: ubuntu-latest-gcc os: ubuntu-latest cc: gcc - name: ubuntu-latest-clang os: ubuntu-latest cc: clang - name: macos-latest-clang os: macos-latest cc: clang runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - name: Install MacOS dependencies if: startsWith(matrix.os,'macos') run: | brew update brew install autoconf automake libtool pkg-config tree doxygen cmocka - name: Install Linux dependencies if: startsWith(matrix.os,'ubuntu') run: | sudo apt-get update sudo apt-get install -y build-essential autoconf automake libtool pkg-config tree doxygen libcmocka-dev - name: Configure run: | if ${{ matrix.cc == 'gcc' }}; then ./autogen.sh ./configure --prefix=/usr CC=${{ matrix.cc }} CFLAGS="${GCC_CFLAGS}" --enable-tests else ./autogen.sh ./configure --prefix=/usr CC=${{ matrix.cc }} CFLAGS="${CLANG_CFLAGS}" --enable-tests fi - name: Build run: | make V=1 - name: Enable unprivileged userns (unshare) if: startsWith(matrix.os,'ubuntu') run: | sudo sysctl kernel.apparmor_restrict_unprivileged_userns=0 - name: Run Linux unit tests if: startsWith(matrix.os,'ubuntu') run: | rc=true make check || rc=false echo "## Test Results" >> $GITHUB_STEP_SUMMARY echo '```' >> $GITHUB_STEP_SUMMARY cat test/test-suite.log >> $GITHUB_STEP_SUMMARY echo '```' >> $GITHUB_STEP_SUMMARY cat test/test-suite.log eval $rc - name: Run macOS unit tests if: startsWith(matrix.os,'macos') run: | rc=true sudo make check || rc=false echo "## Test Results" >> $GITHUB_STEP_SUMMARY echo '```' >> $GITHUB_STEP_SUMMARY cat test/test-suite.log >> $GITHUB_STEP_SUMMARY echo '```' >> $GITHUB_STEP_SUMMARY cat test/test-suite.log ls -l /dev/bpf* || true eval $rc