|
49 | 49 | os: ubuntu-22.04
|
50 | 50 | host_dmd: gdmd-9
|
51 | 51 | disable_debug_for_dmd_unittests: true # no `-debug` - host frontend too old
|
| 52 | + - job_name: Alpine 3.21 x64, LDC |
| 53 | + os: ubuntu-latest |
| 54 | + container_image: alpine:3.21 |
| 55 | + host_dmd: ldmd2 |
52 | 56 | # macOS
|
53 | 57 | - job_name: macOS 13 x64, DMD (latest)
|
54 | 58 | os: macos-13
|
|
74 | 78 | model: 32
|
75 | 79 | name: ${{ matrix.job_name }}
|
76 | 80 | runs-on: ${{ matrix.os }}
|
| 81 | + container: ${{ matrix.container_image }} |
77 | 82 | timeout-minutes: 40
|
78 | 83 | env:
|
79 | 84 | # for ci/run.sh:
|
|
90 | 95 | run:
|
91 | 96 | shell: bash
|
92 | 97 | steps:
|
| 98 | + - name: 'Alpine container: Pre-install bash, git and sudo' |
| 99 | + if: startsWith(matrix.container_image, 'alpine') |
| 100 | + shell: sh |
| 101 | + run: apk add bash git sudo |
| 102 | + |
93 | 103 | - uses: actions/checkout@v4
|
94 | 104 | with:
|
95 | 105 | fetch-depth: 50
|
@@ -149,20 +159,20 @@ jobs:
|
149 | 159 | - name: Test dmd
|
150 | 160 | run: ci/run.sh test_dmd
|
151 | 161 | - name: Test druntime
|
152 |
| - if: '!matrix.coverage' |
| 162 | + if: '!matrix.coverage && (success() || failure())' |
153 | 163 | run: ci/run.sh test_druntime
|
154 | 164 | - name: 'Windows x86: Add 32-bit libcurl.dll to PATH (required for Phobos unittests)'
|
155 |
| - if: runner.os == 'Windows' && env.MODEL == '32' && !matrix.coverage |
| 165 | + if: runner.os == 'Windows' && env.MODEL == '32' && !matrix.coverage && (success() || failure()) |
156 | 166 | run: |
|
157 | 167 | # LDC
|
158 | 168 | echo "$(dirname "$(which $DC)")/../lib32" >> $GITHUB_PATH
|
159 | 169 | # DMD
|
160 | 170 | echo "$(dirname "$(which $DC)")/../bin" >> $GITHUB_PATH
|
161 | 171 | - name: Test phobos
|
162 |
| - if: '!matrix.coverage' |
| 172 | + if: '!matrix.coverage && (success() || failure())' |
163 | 173 | run: ci/run.sh test_phobos
|
164 | 174 | - name: Test self-compile
|
165 |
| - if: '!matrix.coverage' # already re-built with enabled coverage |
| 175 | + if: '!matrix.coverage && (success() || failure())' # already re-built with enabled coverage |
166 | 176 | run: ENABLE_RELEASE=0 ci/run.sh rebuild
|
167 | 177 | - name: Upload coverage report
|
168 | 178 | if: matrix.coverage
|
|
0 commit comments