|
1 | | -name: Build and Push |
| 1 | +name: Build, Push, and Test |
2 | 2 |
|
3 | 3 | on: |
4 | 4 | pull_request: |
|
77 | 77 | ghcr.io/ls1intum/eos:${{ steps.compute-tag.outputs.result }} |
78 | 78 | platforms: linux/amd64,linux/arm64/v8 |
79 | 79 | push: ${{ !startsWith(steps.compute-tag.outputs.result, 'pr-') }} |
| 80 | + |
| 81 | + test-solution: |
| 82 | + name: Run Tests for Solution |
| 83 | + needs: buildx |
| 84 | + runs-on: ubuntu-latest |
| 85 | + container: ls1tum/eos:0.0.5 |
| 86 | + steps: |
| 87 | + - name: Checkout repository |
| 88 | + uses: actions/checkout@v4 |
| 89 | + |
| 90 | + - name: Copy solution to example/tests/assignment |
| 91 | + run: | |
| 92 | + mkdir -p example/tests/assignment |
| 93 | + cp -r example/solution/* example/tests/assignment/ |
| 94 | +
|
| 95 | + - name: Run Gradle Tests |
| 96 | + working-directory: example/tests |
| 97 | + run: ./gradlew test |
| 98 | + |
| 99 | + test-template: |
| 100 | + name: Run Tests for Template |
| 101 | + needs: buildx |
| 102 | + runs-on: ubuntu-latest |
| 103 | + container: ls1tum/eos:0.0.5 |
| 104 | + steps: |
| 105 | + - name: Checkout repository |
| 106 | + uses: actions/checkout@v4 |
| 107 | + |
| 108 | + - name: Copy template to example/tests/assignment |
| 109 | + run: | |
| 110 | + mkdir -p example/tests/assignment |
| 111 | + cp -r example/template/* example/tests/assignment/ |
| 112 | +
|
| 113 | + - name: Run Gradle Tests |
| 114 | + working-directory: example/tests |
| 115 | + run: | |
| 116 | + if ./gradlew test; then |
| 117 | + echo "❌ Tests unexpectedly passed!" |
| 118 | + exit 1 |
| 119 | + else |
| 120 | + echo "✅ Tests failed as expected." |
| 121 | + fi |
0 commit comments