on: push: branches: - main pull_request: branches: - main jobs: changes: runs-on: ubuntu-latest outputs: dirs: ${{ steps.filter.outputs.changes }} steps: - uses: actions/checkout@v2 - uses: dorny/paths-filter@v2 id: filter with: filters: | ./integration_test: crates/integration_test/** ./runtimetest : runtimetest/** validate: needs: [changes] if: ${{ !contains(needs.changes.outputs.dirs, '[]') }} runs-on: ubuntu-latest strategy: matrix: rust: [1.58.1] steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: toolchain: ${{ matrix.rust }} 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: Install runc 1.1.0 run: | wget -q https://github.com/opencontainers/runc/releases/download/v1.1.0/runc.amd64 sudo mv runc.amd64 /usr/bin/runc sudo chmod 755 /usr/bin/runc - name: Build run: ./build.sh - name: Validate tests on runc run: runc --version && cd ./crates/integration_test && sudo ./tests.sh run runc - name: Validate tests on youki run: cd ./crates/integration_test && sudo ./tests.sh run ../../youki