mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-10-21 11:58:41 +00:00
golang.mk is not ready to deal with non GOPATH installs. This is breaking test on s390x. Since previous steps here are installing go and yq our way, we could skip this aditional check. A full refactor to golang.mk would be needed to work with different paths. Signed-off-by: Beraldo Leal <bleal@redhat.com>
115 lines
4.3 KiB
YAML
115 lines
4.3 KiB
YAML
on:
|
|
workflow_call:
|
|
inputs:
|
|
instance:
|
|
required: true
|
|
type: string
|
|
|
|
name: Build checks
|
|
jobs:
|
|
check:
|
|
runs-on: ${{ inputs.instance }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
component:
|
|
- agent
|
|
- dragonball
|
|
- runtime
|
|
- runtime-rs
|
|
- agent-ctl
|
|
- kata-ctl
|
|
- runk
|
|
- trace-forwarder
|
|
- genpolicy
|
|
command:
|
|
- "make vendor"
|
|
- "make check"
|
|
- "make test"
|
|
- "sudo -E PATH=\"$PATH\" make test"
|
|
include:
|
|
- component: agent
|
|
component-path: src/agent
|
|
- component: dragonball
|
|
component-path: src/dragonball
|
|
- component: runtime
|
|
component-path: src/runtime
|
|
- component: runtime-rs
|
|
component-path: src/runtime-rs
|
|
- component: agent-ctl
|
|
component-path: src/tools/agent-ctl
|
|
- component: kata-ctl
|
|
component-path: src/tools/kata-ctl
|
|
- component: runk
|
|
component-path: src/tools/runk
|
|
- component: trace-forwarder
|
|
component-path: src/tools/trace-forwarder
|
|
- install-libseccomp: no
|
|
- component: agent
|
|
install-libseccomp: yes
|
|
- component: runk
|
|
install-libseccomp: yes
|
|
- component: genpolicy
|
|
component-path: src/tools/genpolicy
|
|
steps:
|
|
- name: Adjust a permission for repo
|
|
run: |
|
|
sudo chown -R $USER:$USER $GITHUB_WORKSPACE $HOME
|
|
sudo rm -rf $GITHUB_WORKSPACE/* && echo "GITHUB_WORKSPACE removed" || { sleep 10 && sudo rm -rf $GITHUB_WORKSPACE/*; }
|
|
sudo rm -f /tmp/kata_hybrid* # Sometime we got leftover from test_setup_hvsock_failed()
|
|
if: ${{ inputs.instance != 'ubuntu-20.04' }}
|
|
|
|
- name: Checkout the code
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Install yq
|
|
run: |
|
|
./ci/install_yq.sh
|
|
env:
|
|
INSTALL_IN_GOPATH: false
|
|
- name: Install golang
|
|
if: ${{ matrix.component == 'runtime' }}
|
|
run: |
|
|
./tests/install_go.sh -f -p
|
|
echo "/usr/local/go/bin" >> $GITHUB_PATH
|
|
- name: Install rust
|
|
if: ${{ matrix.component != 'runtime' }}
|
|
run: |
|
|
./tests/install_rust.sh
|
|
echo "${HOME}/.cargo/bin" >> $GITHUB_PATH
|
|
- name: Install musl-tools
|
|
if: ${{ matrix.component != 'runtime' }}
|
|
run: sudo apt-get -y install musl-tools
|
|
- name: Install devicemapper
|
|
if: ${{ matrix.command == 'make check' && matrix.component == 'agent' }}
|
|
run: sudo apt-get -y install libdevmapper-dev
|
|
- name: Install libseccomp
|
|
if: ${{ matrix.command != 'make vendor' && matrix.command != 'make check' && matrix.install-libseccomp == 'yes' }}
|
|
run: |
|
|
libseccomp_install_dir=$(mktemp -d -t libseccomp.XXXXXXXXXX)
|
|
gperf_install_dir=$(mktemp -d -t gperf.XXXXXXXXXX)
|
|
./ci/install_libseccomp.sh "${libseccomp_install_dir}" "${gperf_install_dir}"
|
|
echo "Set environment variables for the libseccomp crate to link the libseccomp library statically"
|
|
echo "LIBSECCOMP_LINK_TYPE=static" >> $GITHUB_ENV
|
|
echo "LIBSECCOMP_LIB_PATH=${libseccomp_install_dir}/lib" >> $GITHUB_ENV
|
|
- name: Install protobuf-compiler
|
|
if: ${{ matrix.command != 'make vendor' && (matrix.component == 'agent' || matrix.component == 'runk' || matrix.component == 'genpolicy') }}
|
|
run: sudo apt-get -y install protobuf-compiler
|
|
- name: Install clang
|
|
if: ${{ matrix.command == 'make check' && matrix.component == 'agent' }}
|
|
run: sudo apt-get -y install clang
|
|
- name: Setup XDG_RUNTIME_DIR for the `runtime` tests
|
|
if: ${{ matrix.command != 'make vendor' && matrix.command != 'make check' && matrix.component == 'runtime' }}
|
|
run: |
|
|
XDG_RUNTIME_DIR=$(mktemp -d /tmp/kata-tests-$USER.XXX | tee >(xargs chmod 0700))
|
|
echo "XDG_RUNTIME_DIR=${XDG_RUNTIME_DIR}" >> $GITHUB_ENV
|
|
- name: Running `${{ matrix.command }}` for ${{ matrix.component }}
|
|
run: |
|
|
cd ${{ matrix.component-path }}
|
|
${{ matrix.command }}
|
|
env:
|
|
RUST_BACKTRACE: "1"
|
|
SKIP_GO_VERSION_CHECK: "1"
|