|
88 | 88 | uses: dlang-community/setup-dlang@d7d85fcde7c4cd5f9a6618fce1bccc316e1e910b |
89 | 89 | with: |
90 | 90 | compiler: ${{ matrix.dc }} |
| 91 | + - name: Verify toolchain |
| 92 | + shell: bash |
| 93 | + env: |
| 94 | + DC_NAME: ${{ matrix.dc }} |
| 95 | + run: | |
| 96 | + set -euo pipefail |
| 97 | +
|
| 98 | + echo "matrix.dc = ${DC_NAME}" |
| 99 | +
|
| 100 | + # dub must exist for all jobs |
| 101 | + if ! command -v dub >/dev/null 2>&1; then |
| 102 | + echo "ERROR: dub not found on PATH" |
| 103 | + exit 1 |
| 104 | + fi |
| 105 | + dub --version |
| 106 | +
|
| 107 | + if [[ "${DC_NAME}" == dmd* ]]; then |
| 108 | + if ! command -v dmd >/dev/null 2>&1; then |
| 109 | + echo "ERROR: dmd not found on PATH (matrix.dc=${DC_NAME})" |
| 110 | + exit 1 |
| 111 | + fi |
| 112 | + dmd --version |
| 113 | +
|
| 114 | + elif [[ "${DC_NAME}" == ldc* ]]; then |
| 115 | + if ! command -v ldc2 >/dev/null 2>&1; then |
| 116 | + echo "ERROR: ldc2 not found on PATH (matrix.dc=${DC_NAME})" |
| 117 | + exit 1 |
| 118 | + fi |
| 119 | + ldc2 --version |
| 120 | +
|
| 121 | + else |
| 122 | + echo "ERROR: Unknown compiler in matrix.dc: '${DC_NAME}' (expected prefix 'dmd' or 'ldc')" |
| 123 | + exit 1 |
| 124 | + fi |
| 125 | +
|
| 126 | + echo "ARCH=${ARCH:-<unset>}" |
| 127 | + echo "PATH=${PATH}" |
91 | 128 | - name: Cache dub packages (safe to share) |
92 | 129 | uses: actions/cache@v4 |
93 | 130 | with: |
@@ -149,6 +186,43 @@ jobs: |
149 | 186 | - name: Install multi-lib for 32-bit systems |
150 | 187 | if: matrix.arch == 'x86' |
151 | 188 | run: sudo apt-get update && sudo apt-get install gcc-multilib |
| 189 | + - name: Verify toolchain |
| 190 | + shell: bash |
| 191 | + env: |
| 192 | + DC_NAME: ${{ matrix.dc }} |
| 193 | + run: | |
| 194 | + set -euo pipefail |
| 195 | +
|
| 196 | + echo "matrix.dc = ${DC_NAME}" |
| 197 | +
|
| 198 | + # dub must exist for all jobs |
| 199 | + if ! command -v dub >/dev/null 2>&1; then |
| 200 | + echo "ERROR: dub not found on PATH" |
| 201 | + exit 1 |
| 202 | + fi |
| 203 | + dub --version |
| 204 | +
|
| 205 | + if [[ "${DC_NAME}" == dmd* ]]; then |
| 206 | + if ! command -v dmd >/dev/null 2>&1; then |
| 207 | + echo "ERROR: dmd not found on PATH (matrix.dc=${DC_NAME})" |
| 208 | + exit 1 |
| 209 | + fi |
| 210 | + dmd --version |
| 211 | +
|
| 212 | + elif [[ "${DC_NAME}" == ldc* ]]; then |
| 213 | + if ! command -v ldc2 >/dev/null 2>&1; then |
| 214 | + echo "ERROR: ldc2 not found on PATH (matrix.dc=${DC_NAME})" |
| 215 | + exit 1 |
| 216 | + fi |
| 217 | + ldc2 --version |
| 218 | +
|
| 219 | + else |
| 220 | + echo "ERROR: Unknown compiler in matrix.dc: '${DC_NAME}' (expected prefix 'dmd' or 'ldc')" |
| 221 | + exit 1 |
| 222 | + fi |
| 223 | +
|
| 224 | + echo "ARCH=${ARCH:-<unset>}" |
| 225 | + echo "PATH=${PATH}" |
152 | 226 | - name: Cache dub packages (safe to share) |
153 | 227 | uses: actions/cache@v4 |
154 | 228 | with: |
|
0 commit comments