diff --git a/.github/workflows/containerd_integration_tests.yaml b/.github/workflows/containerd_integration_tests.yaml new file mode 100644 index 0000000000..977d9dd328 --- /dev/null +++ b/.github/workflows/containerd_integration_tests.yaml @@ -0,0 +1,60 @@ +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + youki-build: + runs-on: ubuntu-22.04 + timeout-minutes: 15 + steps: + - uses: actions/checkout@v3 + - uses: actions-rs/toolchain@v1 + with: + toolchain: '1.64.0' + override: true + - name: Cache youki + uses: Swatinem/rust-cache@v1 + - run: sudo apt-get -y update + - run: sudo apt-get install -y pkg-config libsystemd-dev libdbus-glib-1-dev libelf-dev libseccomp-dev + - name: Build youki + run: make release-build + - name: Upload youki binary + uses: actions/upload-artifact@v3 + with: + name: youki + path: youki + + containerd-integration-tests: + runs-on: ubuntu-22.04 + needs: [youki-build] + timeout-minutes: 40 + steps: + - uses: actions/checkout@v3 + with: + repository: containerd/containerd + ref: v1.6.9 + - uses: actions/setup-go@v3 + with: + go-version: '1.18.3' + - run: sudo apt-get -y update + - run: sudo apt-get install -y pkg-config libsystemd-dev libdbus-glib-1-dev libelf-dev libseccomp-dev btrfs-progs libbtrfs-dev + - name: Build containerd + run: | + make build + make binaries + - name: Download youki binary + uses: actions/download-artifact@v3 + with: + name: youki + - name: Replace runc to youki + run: | + sudo rm -f /usr/bin/runc /usr/local/bin/runc /usr/sbin/runc + sudo chmod 755 youki + sudo cp youki /usr/bin/runc + runc --version + - name: Integration Test + run: sudo make TEST_RUNTIME=io.containerd.runc.v2 TESTFLAGS="-timeout 40m" integration