Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
70 lines
2.1 KiB
YAML
70 lines
2.1 KiB
YAML
name: Build
|
|
|
|
on:
|
|
push:
|
|
branches: [ master ]
|
|
pull_request:
|
|
branches: [ master ]
|
|
types: [assigned, opened, synchronize, reopened]
|
|
|
|
jobs:
|
|
build-library-and-examples:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
- name: Prepare
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y libssl-dev libcurl4-openssl-dev libwebsockets-dev uncrustify valgrind
|
|
- name: Prepare libyaml
|
|
run: |
|
|
git clone https://github.com/yaml/libyaml --depth 1 --branch release/0.2.5
|
|
cd libyaml
|
|
mkdir build
|
|
cd build
|
|
cmake .. -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=ON
|
|
make -j $(cat /proc/cpuinfo | grep processor | wc -l)
|
|
sudo make install
|
|
- name: Build client library
|
|
run: |
|
|
cd kubernetes
|
|
mkdir build
|
|
cd build
|
|
cmake ..
|
|
make -j $(cat /proc/cpuinfo | grep processor | wc -l)
|
|
- name: Build authentication plugin - oidc
|
|
run: |
|
|
cd kubernetes/config/authn_plugin/plugins/oidc
|
|
mkdir build
|
|
cd build
|
|
cmake ..
|
|
make
|
|
- name: Build Debian package
|
|
run: |
|
|
cd kubernetes/build
|
|
cpack -G DEB
|
|
- name: Build examples
|
|
run: |
|
|
cd examples/
|
|
make
|
|
- name: Create k8s kind cluster
|
|
uses: helm/kind-action@v1.12.0
|
|
- name: Test examples
|
|
run: |
|
|
kubectl cluster-info --context kind-chart-testing
|
|
kubectl describe node
|
|
cd examples/
|
|
LD_LIBRARY_PATH=$GITHUB_WORKSPACE/kubernetes/build/:/usr/local/lib make test
|
|
- name: Valgrind memory check for examples
|
|
run: |
|
|
kubectl cluster-info --context kind-chart-testing
|
|
kubectl describe node
|
|
cd examples/
|
|
LD_LIBRARY_PATH=$GITHUB_WORKSPACE/kubernetes/build/:/usr/local/lib make memcheck
|
|
- name: use bazel for examples
|
|
run: |
|
|
curl -LO "https://github.com/bazelbuild/bazelisk/releases/latest/download/bazelisk-linux-amd64"
|
|
chmod +x bazelisk-linux-amd64
|
|
sudo mv bazelisk-linux-amd64 /usr/local/bin/bazel
|
|
bazel build kube_c_library
|
|
|