mirror of
https://github.com/aljazceru/kata-containers.git
synced 2026-01-18 05:44:24 +01:00
Without this library the builds are failing with the following error:
```
...
error: failed to run custom build command for `devicemapper-sys v0.1.5`
Caused by: process didn't exit successfully:
`/kata-containers/src/agent/target/release/build/devicemapper-sys-d8eae524a127e049/build-script-build`
(exit status: 101) --- stderr thread 'main' panicked at 'Unable to
find libclang: "couldn't find any valid shared libraries matching:
['libclang.so', 'libclang-*.so', 'libclang.so.*', 'libclang-*.so.*'],
set the `LIBCLANG_PATH` environment variable to a path where one of
these files can be found (invalid: [])"',
/root/.cargo/registry/src/github.com-1ecc6299db9ec823/bindgen-0.63.0/./lib.rs:2338:31
```
Fixes: #7580
Signed-off-by: Suraj Deshmukh <suraj.deshmukh@microsoft.com>
96 lines
3.7 KiB
YAML
96 lines
3.7 KiB
YAML
on:
|
|
pull_request:
|
|
types:
|
|
- opened
|
|
- edited
|
|
- reopened
|
|
- synchronize
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
name: Static checks
|
|
jobs:
|
|
static-checks:
|
|
runs-on: garm-ubuntu-2004
|
|
strategy:
|
|
matrix:
|
|
cmd:
|
|
- "make vendor"
|
|
- "make static-checks"
|
|
- "make check"
|
|
- "make test"
|
|
- "sudo -E PATH=\"$PATH\" make test"
|
|
env:
|
|
RUST_BACKTRACE: "1"
|
|
target_branch: ${{ github.base_ref }}
|
|
GOPATH: ${{ github.workspace }}
|
|
steps:
|
|
- name: Free disk space
|
|
run: |
|
|
sudo rm -rf /usr/share/dotnet
|
|
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
|
|
- name: Checkout code
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
path: ./src/github.com/${{ github.repository }}
|
|
- name: Install dependencies
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y --no-install-recommends \
|
|
build-essential \
|
|
haveged \
|
|
libdevmapper-dev \
|
|
clang
|
|
- name: Install Go
|
|
uses: actions/setup-go@v3
|
|
with:
|
|
go-version: 1.19.3
|
|
- name: Check kernel config version
|
|
run: |
|
|
cd "${{ github.workspace }}/src/github.com/${{ github.repository }}"
|
|
kernel_dir="tools/packaging/kernel/"
|
|
kernel_version_file="${kernel_dir}kata_config_version"
|
|
modified_files=$(git diff --name-only origin/CCv0..HEAD)
|
|
if git diff --name-only origin/CCv0..HEAD "${kernel_dir}" | grep "${kernel_dir}"; then
|
|
echo "Kernel directory has changed, checking if $kernel_version_file has been updated"
|
|
if echo "$modified_files" | grep -v "README.md" | grep "${kernel_dir}" >>"/dev/null"; then
|
|
echo "$modified_files" | grep "$kernel_version_file" >>/dev/null || ( echo "Please bump version in $kernel_version_file" && exit 1)
|
|
else
|
|
echo "Readme file changed, no need for kernel config version update."
|
|
fi
|
|
echo "Check passed"
|
|
fi
|
|
- name: Set PATH
|
|
if: ${{ !contains(github.event.pull_request.labels.*.name, 'force-skip-ci') }}
|
|
run: |
|
|
echo "${{ github.workspace }}/bin" >> $GITHUB_PATH
|
|
- name: Setup
|
|
if: ${{ !contains(github.event.pull_request.labels.*.name, 'force-skip-ci') }}
|
|
run: |
|
|
cd ${GOPATH}/src/github.com/${{ github.repository }} && ./ci/setup.sh
|
|
- name: Installing rust
|
|
if: ${{ !contains(github.event.pull_request.labels.*.name, 'force-skip-ci') }}
|
|
run: |
|
|
cd ${GOPATH}/src/github.com/${{ github.repository }} && ./ci/install_rust.sh
|
|
PATH=$PATH:"$HOME/.cargo/bin"
|
|
rustup target add x86_64-unknown-linux-musl
|
|
rustup component add rustfmt clippy
|
|
- name: Setup seccomp
|
|
if: ${{ !contains(github.event.pull_request.labels.*.name, 'force-skip-ci') }}
|
|
run: |
|
|
libseccomp_install_dir=$(mktemp -d -t libseccomp.XXXXXXXXXX)
|
|
gperf_install_dir=$(mktemp -d -t gperf.XXXXXXXXXX)
|
|
cd ${GOPATH}/src/github.com/${{ github.repository }} && ./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: Run check
|
|
if: ${{ !contains(github.event.pull_request.labels.*.name, 'force-skip-ci') }}
|
|
run: |
|
|
export PATH=$PATH:"$HOME/.cargo/bin"
|
|
export XDG_RUNTIME_DIR=$(mktemp -d /tmp/kata-tests-$USER.XXX | tee >(xargs chmod 0700))
|
|
cd ${GOPATH}/src/github.com/${{ github.repository }} && ${{ matrix.cmd }}
|