language based test segregation #2
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: C++ Integration Tests | |
| on: | |
| push: | |
| branches: | |
| - "**" | |
| pull_request: | |
| jobs: | |
| test-filesystem-isolation: | |
| name: "Language Gap: C++ Filesystem Isolation (Expected Fail)" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version-file: go.mod | |
| - name: Install native dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y gcc g++ libc6-dev | |
| - name: Run filesystem isolation subtest | |
| env: | |
| ENABLE_QUEUE: "false" | |
| run: sudo -E go test -v -run 'TestContainerizationAPISecurityIntegrationCpp/file privacy across request IDs' ./... | |
| test-disk-cleanup: | |
| name: "Language Gap: C++ Disk Cleanup (Expected Fail)" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version-file: go.mod | |
| - name: Install native dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y gcc g++ libc6-dev | |
| - name: Run disk cleanup subtest | |
| env: | |
| ENABLE_QUEUE: "false" | |
| run: sudo -E go test -v -run 'TestContainerizationAPISecurityIntegrationCpp/disk spammer is terminated and data is reclaimed' ./... | |
| test-fork-bomb: | |
| name: "Language Gap: C++ Fork Bomb Containment (Expected Fail)" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version-file: go.mod | |
| - name: Install native dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y gcc g++ libc6-dev | |
| - name: Run fork bomb subtest | |
| env: | |
| ENABLE_QUEUE: "false" | |
| run: sudo -E go test -v -run 'TestContainerizationAPISecurityIntegrationCpp/fork bomb does not poison subsequent requests' ./... | |
| test-network-isolation: | |
| name: "Language Gap: C++ Network Isolation (Expected Fail)" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version-file: go.mod | |
| - name: Install native dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y gcc g++ libc6-dev | |
| - name: Run network isolation subtest | |
| env: | |
| ENABLE_QUEUE: "false" | |
| run: sudo -E go test -v -run 'TestContainerizationAPISecurityIntegrationCpp/network namespace blocks localhost bridge' ./... | |
| test-memory-oom: | |
| name: "Language Gap: C++ Memory OOM (Expected Fail)" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version-file: go.mod | |
| - name: Install native dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y gcc g++ libc6-dev | |
| - name: Run memory OOM subtest | |
| env: | |
| ENABLE_QUEUE: "false" | |
| run: sudo -E go test -v -run 'TestContainerizationAPISecurityIntegrationCpp/memory hard limit triggers oom kill' ./... | |
| test-io-flood: | |
| name: "Language Gap: C++ I/O Flood (Expected Fail)" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version-file: go.mod | |
| - name: Install native dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y gcc g++ libc6-dev | |
| - name: Run I/O flood subtest | |
| env: | |
| ENABLE_QUEUE: "false" | |
| run: sudo -E go test -v -run 'TestContainerizationAPISecurityIntegrationCpp/io flood is bounded and returns before timeout' ./... | |
| test-signal-trap: | |
| name: "Language Gap: C++ Signal Trap Timeout (Expected Fail)" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version-file: go.mod | |
| - name: Install native dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y gcc g++ libc6-dev | |
| - name: Run signal trap subtest | |
| env: | |
| ENABLE_QUEUE: "false" | |
| run: sudo -E go test -v -run 'TestContainerizationAPISecurityIntegrationCpp/signal trap cannot survive forced timeout' ./... | |
| test-orphan-reaping: | |
| name: "Language Gap: C++ Orphan Reaping (Expected Fail)" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version-file: go.mod | |
| - name: Install native dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y gcc g++ libc6-dev | |
| - name: Run orphan reaping subtest | |
| env: | |
| ENABLE_QUEUE: "false" | |
| run: sudo -E go test -v -run 'TestContainerizationAPISecurityIntegrationCpp/orphan grandchild is reaped after request exits' ./... | |
| test-inode-exhaustion: | |
| name: "Language Gap: C++ Inode Exhaustion (Expected Fail)" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version-file: go.mod | |
| - name: Install native dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y gcc g++ libc6-dev | |
| - name: Run inode exhaustion subtest | |
| env: | |
| ENABLE_QUEUE: "false" | |
| run: sudo -E go test -v -run 'TestContainerizationAPISecurityIntegrationCpp/inode bomb does not poison host temp filesystem' ./... | |
| test-privileged-syscall: | |
| name: "Language Gap: C++ Privileged Syscall Denial (Expected Fail)" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version-file: go.mod | |
| - name: Install native dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y gcc g++ libc6-dev | |
| - name: Run privileged syscall subtest | |
| env: | |
| ENABLE_QUEUE: "false" | |
| run: sudo -E go test -v -run 'TestContainerizationAPISecurityIntegrationCpp/privileged reboot syscall is denied' ./... |