vHive integration tests #3640
This file contains hidden or 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 integration tests | |
on: | |
push: | |
branches: [ main, legacy-firecracker-v0.24.0-with-upf-support ] | |
paths-ignore: | |
- 'docs/**' | |
- '**.md' | |
- 'function-images/**' | |
pull_request: | |
branches: [ main, legacy-firecracker-v0.24.0-with-upf-support ] | |
paths-ignore: | |
- 'docs/**' | |
- '**.md' | |
- 'function-images/**' | |
workflow_dispatch: | |
schedule: | |
- cron: '0 19 * * 1' | |
env: | |
GOOS: linux | |
GO111MODULE: on | |
jobs: | |
integration-tests: | |
name: Integration tests | |
runs-on: ubuntu-24.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
test-name: [test, test-man-bench] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Handle LFS Caching | |
uses: ./.github/actions/lfs-cache | |
with: | |
lfs_enabled: 'true' | |
- name: Set up Go version in go.mod file | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: ${{ github.workspace }}/go.mod | |
cache-dependency-path: | | |
**/go.sum | |
**/go.mod | |
- name: Set up Python 3.x | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
- name: Add rsync | |
run: | | |
sudo apt update | |
sudo apt install rsync -y | |
- name: Build setup scripts | |
run: pushd scripts && go build -o setup_tool && popd | |
- name: Pull binaries | |
run: ./scripts/setup_tool setup_firecracker_containerd | |
- name: Build | |
run: go build -race -v -a ./... | |
- name: Run vHive end-to-end tests | |
run: make ${{ matrix.test-name }} | |
- name: Archive log artifacts | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ctrd-logs-${{ matrix.test-name }} | |
path: | | |
/tmp/ctrd-logs/ | |
${{ github.workspace }}/*.log | |
${{ github.workspace }}/scripts/github_runner/*.log | |
- name: Cleaning | |
if: ${{ always() }} | |
run: ./scripts/setup_tool clean_fcctr |