This repository has been archived by the owner on Sep 19, 2024. It is now read-only.
br_sslio_close fix #250
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Makefile CI | |
on: | |
pull_request: | |
branches: [ "main" ] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
name: Checkout wasm-kernel-module | |
with: | |
submodules: recursive | |
path: wasm-kernel-module | |
# - name: Setup upterm session | |
# uses: lhotari/action-upterm@v1 | |
# with: | |
# ## limits ssh access and adds the ssh public key for the user which triggered the workflow | |
# limit-access-to-actor: true | |
- name: Install/setup prerequisites | |
working-directory: wasm-kernel-module | |
run: make setup-vm | |
- name: Build the kernel module | |
working-directory: wasm-kernel-module | |
run: make -j$(nproc) | |
# Proxywasm module loading freezes the kernel on the GitHub Actions VM | |
- name: Run the kernel module | |
working-directory: wasm-kernel-module | |
run: | | |
make insmod | |
sudo dmesg -T | |
- uses: actions/checkout@v3 | |
name: Checkout wasm-kernel-module-cli | |
with: | |
submodules: recursive | |
repository: cisco-open/wasm-kernel-module-cli | |
path: wasm-kernel-module-cli | |
- name: Build CLI | |
working-directory: wasm-kernel-module-cli | |
run: make build-cli | |
- name: Build OPA policy module | |
working-directory: wasm-kernel-module-cli | |
run: make build-opa-policy-wasm | |
- name: Run OPA policy module | |
working-directory: wasm-kernel-module-cli | |
run: | | |
make load-opa-policy-wasm | |
sudo dmesg -T | |
- name: Run proxy-wasm smoke test | |
working-directory: wasm-kernel-module | |
timeout-minutes: 1 | |
run: | | |
sudo ../wasm-kernel-module-cli/w3k server & | |
go run test/file-server.go & | |
docker run -d --rm -p 8080:80 nginx | |
sleep 2 | |
# Test downloading a bigger file | |
curl -v -o /tmp/opa_downloaded.o http://localhost:8000/opa.o | |
# Test uploading this file | |
curl -v -F "opa_downloaded.o.o=@/tmp/opa_downloaded.o" http://localhost:8000/upload | |
diff opa.o opa_downloaded.o | |
# Test bearssl with non-bearssl compatibility | |
# TODO somehow this test run locally but not on github | |
# python3 -m http.server 7000 & | |
# sleep 1 | |
# curl -k -v -o /dev/null https://localhost:7000/opa.o | |
# Test sendfile with NGiNX | |
curl -v http://localhost:8080 | |
sudo dmesg -T | tail -100 | |
sudo kill -9 $(jobs -p) | |
sudo pkill -9 w3k | |
- name: Cleanup module | |
working-directory: wasm-kernel-module | |
run: make rmmod | |
- name: Test DKMS | |
working-directory: wasm-kernel-module | |
run: | | |
sudo cp -r . /usr/src/wasm-0.1.0/ | |
sudo dkms add -m wasm -v 0.1.0 | |
if sudo dkms build -m wasm -v 0.1.0; then | |
echo "DKMS build succeeded" | |
else | |
echo "DKMS build failed" | |
cat /var/lib/dkms/wasm/0.1.0/build/make.log | |
exit 1 | |
fi | |
sudo dkms install -m wasm -v 0.1.0 | |
sudo dmesg -T |