vHive nightly integration tests #990
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: vHive nightly integration tests | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: '0 0 * * *' | |
env: | |
GOOS: linux | |
GO111MODULE: on | |
TMPDIR: /root/tmp/ | |
GOCACHE: /root/tmp/gocache | |
GOPATH: /root/tmp/gopath | |
jobs: | |
integration-tests: | |
name: Test all functions | |
runs-on: [self-hosted, nightly, integ] | |
steps: | |
- name: Setup TMPDIR | |
run: mkdir -p $TMPDIR | |
- name: Set up Go 1.19 | |
uses: actions/setup-go@v4 | |
with: | |
go-version: '1.19' | |
- name: Upgrade git | |
run: | | |
sudo add-apt-repository ppa:git-core/ppa -y | |
sudo apt update | |
sudo apt install git -y | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v3 | |
with: | |
lfs: true | |
- name: Pull binaries | |
run: ./scripts/setup_firecracker_containerd.sh | |
- name: Build | |
run: go build -race -v -a ./... | |
- name: Run all function tests | |
run: make nightly-test | |
- name: Cleaning | |
if: ${{ always() }} | |
run: ./scripts/clean_fcctr.sh | |
cri-tests: | |
name: CRI tests (nightly) | |
runs-on: [self-hosted, cri] | |
strategy: | |
fail-fast: false | |
matrix: | |
vhive_args: ["-dbg", "-dbg -snapshots", "-dbg -snapshots -upf"] | |
env: | |
GITHUB_RUN_ID: ${{ github.run_id }} | |
GITHUB_JOB: ${{ github.job }} | |
GITHUB_VHIVE_ARGS: ${{ matrix.vhive_args }} | |
steps: | |
- name: Host Info | |
run: | | |
echo HOSTNAME=$HOSTNAME | |
echo GITHUB_RUN_ID=$GITHUB_RUN_ID | |
echo GITHUB_JOB=$GITHUB_JOB | |
- name: Setup TMPDIR | |
run: mkdir -p $TMPDIR | |
- name: Set up Go 1.19 | |
uses: actions/setup-go@v4 | |
with: | |
go-version: '1.19' | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v3 | |
- name: Setup firecracker-containerd | |
run: ./scripts/setup_firecracker_containerd.sh | |
- name: Build | |
run: go build | |
- name: Run vHive CRI tests | |
run: | | |
echo vHive args are $GITHUB_VHIVE_ARGS | |
make test-cri | |
- name: Archive log artifacts | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ github.job }}-${{ matrix.vhive_args }}-ctrd-logs | |
path: | | |
/tmp/ctrd-logs/${{ github.run_id }} | |
- name: Cleaning | |
if: ${{ always() }} | |
run: ./scripts/github_runner/clean_cri_runner.sh |