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: Java Integration Tests | |
| on: | |
| push: | |
| branches: | |
| - "**" | |
| pull_request: | |
| jobs: | |
| test-filesystem-isolation: | |
| name: "Language Gap: Java 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 libc6-dev openjdk-21-jdk | |
| - name: Run filesystem isolation subtest | |
| env: | |
| ENABLE_QUEUE: "false" | |
| run: sudo -E go test -v -run 'TestContainerizationAPISecurityIntegrationJava/file privacy across request IDs' ./... | |
| test-disk-cleanup: | |
| name: "Language Gap: Java 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 libc6-dev openjdk-21-jdk | |
| - name: Run disk cleanup subtest | |
| env: | |
| ENABLE_QUEUE: "false" | |
| run: sudo -E go test -v -run 'TestContainerizationAPISecurityIntegrationJava/disk spammer is terminated and data is reclaimed' ./... | |
| test-fork-bomb: | |
| name: "Language Gap: Java 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 libc6-dev openjdk-21-jdk | |
| - name: Run fork bomb subtest | |
| env: | |
| ENABLE_QUEUE: "false" | |
| run: sudo -E go test -v -run 'TestContainerizationAPISecurityIntegrationJava/fork bomb does not poison subsequent requests' ./... | |
| test-network-isolation: | |
| name: "Language Gap: Java 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 libc6-dev openjdk-21-jdk | |
| - name: Run network isolation subtest | |
| env: | |
| ENABLE_QUEUE: "false" | |
| run: sudo -E go test -v -run 'TestContainerizationAPISecurityIntegrationJava/network namespace blocks localhost bridge' ./... | |
| test-memory-oom: | |
| name: "Language Gap: Java 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 libc6-dev openjdk-21-jdk | |
| - name: Run memory OOM subtest | |
| env: | |
| ENABLE_QUEUE: "false" | |
| run: sudo -E go test -v -run 'TestContainerizationAPISecurityIntegrationJava/memory hard limit triggers oom kill' ./... | |
| test-io-flood: | |
| name: "Language Gap: Java 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 libc6-dev openjdk-21-jdk | |
| - name: Run I/O flood subtest | |
| env: | |
| ENABLE_QUEUE: "false" | |
| run: sudo -E go test -v -run 'TestContainerizationAPISecurityIntegrationJava/io flood is bounded and returns before timeout' ./... | |
| test-signal-trap: | |
| name: "Language Gap: Java 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 libc6-dev openjdk-21-jdk | |
| - name: Run signal trap subtest | |
| env: | |
| ENABLE_QUEUE: "false" | |
| run: sudo -E go test -v -run 'TestContainerizationAPISecurityIntegrationJava/signal trap cannot survive forced timeout' ./... | |
| test-orphan-reaping: | |
| name: "Language Gap: Java 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 libc6-dev openjdk-21-jdk | |
| - name: Run orphan reaping subtest | |
| env: | |
| ENABLE_QUEUE: "false" | |
| run: sudo -E go test -v -run 'TestContainerizationAPISecurityIntegrationJava/orphan grandchild is reaped after request exits' ./... | |
| test-inode-exhaustion: | |
| name: "Language Gap: Java 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 libc6-dev openjdk-21-jdk | |
| - name: Run inode exhaustion subtest | |
| env: | |
| ENABLE_QUEUE: "false" | |
| run: sudo -E go test -v -run 'TestContainerizationAPISecurityIntegrationJava/inode bomb does not poison host temp filesystem' ./... | |
| test-privileged-syscall: | |
| name: "Language Gap: Java 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 libc6-dev openjdk-21-jdk | |
| - name: Run privileged syscall subtest | |
| env: | |
| ENABLE_QUEUE: "false" | |
| run: sudo -E go test -v -run 'TestContainerizationAPISecurityIntegrationJava/privileged reboot syscall is denied' ./... |