diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index beea94ccc3..b58351bfac 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,7 @@ concurrency: jobs: build-libs-linux: name: build-libs-linux-${{ matrix.arch }} 😁 (${{ matrix.name }}) - runs-on: ${{ (matrix.arch == 'arm64' && 'actuated-arm64-8cpu-16gb') || 'ubuntu-22.04' }} + runs-on: ${{ (matrix.arch == 'arm64' && 'github-arm64-2c-8gb') || 'ubuntu-22.04' }} strategy: fail-fast: false matrix: diff --git a/.github/workflows/drivers_ci.yml b/.github/workflows/drivers_ci.yml index 953d8312b1..d30b16dac2 100644 --- a/.github/workflows/drivers_ci.yml +++ b/.github/workflows/drivers_ci.yml @@ -39,7 +39,7 @@ jobs: # This job run all engine tests and scap-open test-scap: name: test-scap-${{ matrix.arch }} 😆 (bundled_deps) - runs-on: ${{ (matrix.arch == 'arm64' && 'actuated-arm64-8cpu-16gb') || 'ubuntu-22.04' }} + runs-on: ${{ (matrix.arch == 'arm64' && 'github-arm64-2c-8gb') || 'ubuntu-22.04' }} needs: paths-filter strategy: matrix: @@ -63,23 +63,11 @@ jobs: if: needs.paths-filter.outputs.driver == 'true' || needs.paths-filter.outputs.libscap == 'true' || needs.paths-filter.outputs.libpman == 'true' run: | sudo apt update - sudo apt install -y --no-install-recommends ca-certificates cmake build-essential clang-14 llvm-14 git pkg-config autoconf automake libtool libelf-dev libcap-dev - sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-14 90 - sudo update-alternatives --install /usr/bin/llvm-strip llvm-strip /usr/bin/llvm-strip-14 90 - sudo update-alternatives --install /usr/bin/llc llc /usr/bin/llc-14 90 + sudo apt install -y --no-install-recommends ca-certificates cmake build-essential clang llvm git pkg-config autoconf automake libtool libelf-dev libcap-dev linux-headers-$(uname -r) git clone https://github.com/libbpf/bpftool.git --branch v7.3.0 --single-branch cd bpftool git submodule update --init cd src && sudo make install - - - name: Install kernel headers (actuated) - uses: self-actuated/get-kernel-sources@201eed7d915ac0a6021fb402cde5be7a6b945b59 - if: (needs.paths-filter.outputs.driver == 'true' || needs.paths-filter.outputs.libscap == 'true' || needs.paths-filter.outputs.libpman == 'true') && matrix.arch == 'arm64' - - - name: Install kernel headers - if: (needs.paths-filter.outputs.driver == 'true' || needs.paths-filter.outputs.libscap == 'true' || needs.paths-filter.outputs.libpman == 'true') && matrix.arch == 'amd64' - run: | - sudo apt install -y --no-install-recommends linux-headers-$(uname -r) - name: Build scap-open and drivers 🏗️ if: needs.paths-filter.outputs.driver == 'true' || needs.paths-filter.outputs.libscap == 'true' || needs.paths-filter.outputs.libpman == 'true' @@ -116,7 +104,7 @@ jobs: test-drivers: name: test-drivers-${{ matrix.arch }} 😇 (bundled_deps) - runs-on: ${{ (matrix.arch == 'arm64' && 'actuated-arm64-8cpu-16gb') || 'ubuntu-22.04' }} + runs-on: ${{ (matrix.arch == 'arm64' && 'github-arm64-2c-8gb') || 'ubuntu-22.04' }} needs: paths-filter strategy: matrix: @@ -133,23 +121,16 @@ jobs: if: needs.paths-filter.outputs.driver == 'true' || needs.paths-filter.outputs.libscap == 'true' || needs.paths-filter.outputs.libpman == 'true' run: | sudo apt update - sudo apt install -y --no-install-recommends ca-certificates cmake build-essential git pkg-config autoconf automake libelf-dev libcap-dev clang-14 llvm-14 libtool - sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-14 90 - sudo update-alternatives --install /usr/bin/llvm-strip llvm-strip /usr/bin/llvm-strip-14 90 - sudo update-alternatives --install /usr/bin/llc llc /usr/bin/llc-14 90 + sudo apt install -y --no-install-recommends ca-certificates cmake build-essential git pkg-config autoconf automake libelf-dev libcap-dev clang llvm libtool linux-headers-$(uname -r) git clone https://github.com/libbpf/bpftool.git --branch v7.3.0 --single-branch cd bpftool git submodule update --init cd src && sudo make install - - name: Install kernel headers (actuated) - uses: self-actuated/get-kernel-sources@201eed7d915ac0a6021fb402cde5be7a6b945b59 - if: (needs.paths-filter.outputs.driver == 'true' || needs.paths-filter.outputs.libscap == 'true' || needs.paths-filter.outputs.libpman == 'true') && matrix.arch == 'arm64' - - - name: Install kernel headers and gcc + - name: Install multilib compilers for ia32 tests if: (needs.paths-filter.outputs.driver == 'true' || needs.paths-filter.outputs.libscap == 'true' || needs.paths-filter.outputs.libpman == 'true') && matrix.arch == 'amd64' run: | - sudo apt install -y --no-install-recommends linux-headers-$(uname -r) gcc-multilib g++-multilib + sudo apt install -y --no-install-recommends gcc-multilib g++-multilib - name: Build drivers tests 🏗️ if: needs.paths-filter.outputs.driver == 'true' || needs.paths-filter.outputs.libscap == 'true' || needs.paths-filter.outputs.libpman == 'true' diff --git a/.github/workflows/e2e_ci.yml b/.github/workflows/e2e_ci.yml index 48fcfc4ad2..59261f8a4d 100644 --- a/.github/workflows/e2e_ci.yml +++ b/.github/workflows/e2e_ci.yml @@ -15,7 +15,7 @@ concurrency: jobs: build-test-e2e: name: build-test-e2e-${{ matrix.arch }} 😇 (bundled_deps) - runs-on: ${{ (matrix.arch == 'arm64' && 'actuated-arm64-8cpu-16gb') || 'ubuntu-22.04' }} + runs-on: ${{ (matrix.arch == 'arm64' && 'github-arm64-2c-8gb') || 'ubuntu-22.04' }} strategy: matrix: arch: [amd64, arm64] @@ -32,7 +32,8 @@ jobs: ca-certificates \ cmake \ build-essential \ - clang-14 llvm-14 \ + clang \ + llvm \ git \ clang \ ccache \ @@ -54,24 +55,18 @@ jobs: libgrpc++-dev \ protobuf-compiler-grpc \ libgtest-dev \ - libprotobuf-dev - sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-14 90 - sudo update-alternatives --install /usr/bin/llvm-strip llvm-strip /usr/bin/llvm-strip-14 90 - sudo update-alternatives --install /usr/bin/llc llc /usr/bin/llc-14 90 + libprotobuf-dev \ + linux-headers-$(uname -r) sudo .github/install-deps.sh git clone https://github.com/libbpf/bpftool.git --branch v7.3.0 --single-branch cd bpftool git submodule update --init cd src && sudo make install - - name: Install kernel headers (actuated) - uses: self-actuated/get-kernel-sources@201eed7d915ac0a6021fb402cde5be7a6b945b59 - if: matrix.arch == 'arm64' - - - name: Install kernel headers and gcc + - name: Install multilib compilers for ia32 tests if: matrix.arch == 'amd64' run: | - sudo apt install -y --no-install-recommends linux-headers-$(uname -r) gcc-multilib g++-multilib + sudo apt install -y --no-install-recommends gcc-multilib g++-multilib - name: Run sccache-cache uses: mozilla-actions/sccache-action@2e7f9ec7921547d4b46598398ca573513895d0bd # v0.0.4 @@ -110,7 +105,7 @@ jobs: test-e2e: name: test-e2e-${{ matrix.arch }}-${{ matrix.driver.name }} 😇 (bundled_deps) needs: [build-test-e2e] - runs-on: ${{ (matrix.arch == 'arm64' && 'actuated-arm64-8cpu-16gb') || 'ubuntu-22.04' }} + runs-on: ${{ (matrix.arch == 'arm64' && 'github-arm64-2c-8gb') || 'ubuntu-22.04' }} strategy: matrix: arch: [amd64, arm64] @@ -140,23 +135,14 @@ jobs: run: | sudo apt update - - name: Install multilib + - name: Install multilib compilers for ia32 tests if: matrix.arch == 'amd64' run: | sudo apt install -y --no-install-recommends gcc-multilib g++-multilib - name: Install deps run: | - sudo apt install -y --no-install-recommends clang gcc llvm build-essential cmake python3 quota - - - name: Install kernel headers (actuated) - uses: self-actuated/get-kernel-sources@201eed7d915ac0a6021fb402cde5be7a6b945b59 - if: matrix.arch == 'arm64' - - - name: Install kernel headers and gcc - if: matrix.arch == 'amd64' - run: | - sudo apt install -y --no-install-recommends linux-headers-$(uname -r) gcc-multilib g++-multilib + sudo apt install -y --no-install-recommends clang gcc llvm build-essential cmake python3 quota linux-headers-$(uname -r) # We have no guarantees that the kernel version is the same for the # different workers, so we rebuild the drivers. @@ -170,19 +156,8 @@ jobs: popd - name: Run e2e tests with ${{ matrix.driver.name }} 🏎️ - if: matrix.arch == 'amd64' env: UBSAN_OPTIONS: print_stacktrace=1 run: | cd build/test/libsinsp_e2e/ sudo -E ./libsinsp_e2e_tests ${{ matrix.driver.option }} - - # the actuated arm64 workers doesn't have the CONFIG_QFMT_V2 flag - # which is needed for the quotactl_ok test (cmd=QQUOTA_ON + id=QFMT_VFS_V0). - - name: Run e2e tests with ${{ matrix.driver.name }} 🏎️ - if: matrix.arch == 'arm64' - env: - UBSAN_OPTIONS: print_stacktrace=1 - run: | - cd build/test/libsinsp_e2e/ - sudo -E ./libsinsp_e2e_tests ${{ matrix.driver.option }} --gtest_filter=-sys_call_test.quotactl_ok