|
1 | 1 | name: CI |
2 | | -on: [push, pull_request] |
| 2 | + |
| 3 | +on: |
| 4 | + push: |
| 5 | + branches: |
| 6 | + - master |
| 7 | + pull_request: |
| 8 | + types: [opened, synchronize, reopened] |
| 9 | + |
| 10 | +concurrency: |
| 11 | + group: ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }} |
| 12 | + cancel-in-progress: true |
3 | 13 |
|
4 | 14 | env: |
5 | 15 | ubuntu_image: "ubuntu:22.04" |
|
12 | 22 | strategy: |
13 | 23 | fail-fast: false |
14 | 24 | matrix: |
15 | | - arch: [linux/amd64, linux/arm64, linux/arm/v7, linux/ppc64le] |
| 25 | + arch: [linux/amd64, linux/ppc64le] |
16 | 26 |
|
17 | 27 | steps: |
18 | 28 | - name: Clone |
|
32 | 42 | cmake -B build |
33 | 43 | cmake --build build --config Release -j $(nproc)' |
34 | 44 |
|
| 45 | + ubuntu-latest-arm64: |
| 46 | + runs-on: ubuntu-latest-arm64 |
| 47 | + |
| 48 | + strategy: |
| 49 | + fail-fast: false |
| 50 | + matrix: |
| 51 | + arch: [linux/arm64, linux/arm/v7] |
| 52 | + |
| 53 | + steps: |
| 54 | + - name: Clone |
| 55 | + uses: actions/checkout@v4 |
| 56 | + |
| 57 | + - name: Set up QEMU |
| 58 | + uses: docker/setup-qemu-action@v3 |
| 59 | + |
| 60 | + - name: Build ${{ matrix.arch }} |
| 61 | + run: | |
| 62 | + docker run --platform ${{ matrix.arch }} --rm \ |
| 63 | + -v ${{ github.workspace }}:/workspace \ |
| 64 | + -w /workspace ${{ env.ubuntu_image }} /bin/sh -c ' |
| 65 | + set -e |
| 66 | + apt update |
| 67 | + apt install -y build-essential libsdl2-dev cmake |
| 68 | + cmake -B build -DGGML_NATIVE=OFF -DGGML_CPU_ARM_ARCH=armv8-a |
| 69 | + cmake --build build --config Release -j $(nproc)' |
| 70 | +
|
| 71 | + ubuntu-latest-arm-v7: |
| 72 | + runs-on: ubuntu-latest-arm-v7 |
| 73 | + |
| 74 | + strategy: |
| 75 | + fail-fast: false |
| 76 | + matrix: |
| 77 | + arch: [linux/arm64, linux/arm/v7] |
| 78 | + |
| 79 | + steps: |
| 80 | + - name: Clone |
| 81 | + uses: actions/checkout@v4 |
| 82 | + |
| 83 | + - name: Set up QEMU |
| 84 | + uses: docker/setup-qemu-action@v3 |
| 85 | + |
| 86 | + - name: Build ${{ matrix.arch }} |
| 87 | + run: | |
| 88 | + docker run --platform ${{ matrix.arch }} --rm \ |
| 89 | + -v ${{ github.workspace }}:/workspace \ |
| 90 | + -w /workspace ${{ env.ubuntu_image }} /bin/sh -c ' |
| 91 | + set -e |
| 92 | + apt update |
| 93 | + apt install -y build-essential libsdl2-dev cmake |
| 94 | + cmake -B build -DGGML_NATIVE=OFF -DGGML_CPU_ARM_ARCH=armv7-a |
| 95 | + cmake --build build --config Release -j $(nproc)' |
| 96 | +
|
35 | 97 | macOS-latest: |
36 | 98 | runs-on: macOS-latest |
37 | 99 |
|
@@ -95,6 +157,62 @@ jobs: |
95 | 157 | make |
96 | 158 | ctest -L gh --output-on-failure' |
97 | 159 |
|
| 160 | + ubuntu-latest-gcc-arm64: |
| 161 | + runs-on: ubuntu-latest |
| 162 | + |
| 163 | + strategy: |
| 164 | + fail-fast: false |
| 165 | + matrix: |
| 166 | + build: [Debug, Release] |
| 167 | + arch: [linux/arm64] |
| 168 | + |
| 169 | + steps: |
| 170 | + - name: Clone |
| 171 | + uses: actions/checkout@v4 |
| 172 | + |
| 173 | + - name: Set up QEMU |
| 174 | + uses: docker/setup-qemu-action@v3 |
| 175 | + |
| 176 | + - name: Build ${{ matrix.arch }} |
| 177 | + run: | |
| 178 | + docker run --platform ${{ matrix.arch }} --rm \ |
| 179 | + -v ${{ github.workspace }}:/workspace \ |
| 180 | + -w /workspace ${{ env.ubuntu_image }} /bin/sh -c ' |
| 181 | + set -e |
| 182 | + apt update |
| 183 | + apt install -y build-essential cmake libsdl2-dev |
| 184 | + cmake . -DWHISPER_SDL2=ON -DCMAKE_BUILD_TYPE=${{ matrix.build }} -DGGML_NATIVE=OFF -DGGML_CPU_ARM_ARCH=armv8-a |
| 185 | + make |
| 186 | + ctest -L gh --output-on-failure' |
| 187 | +
|
| 188 | + ubuntu-latest-gcc-arm-v7: |
| 189 | + runs-on: ubuntu-latest |
| 190 | + |
| 191 | + strategy: |
| 192 | + fail-fast: false |
| 193 | + matrix: |
| 194 | + build: [Debug, Release] |
| 195 | + arch: [linux/arm/v7] |
| 196 | + |
| 197 | + steps: |
| 198 | + - name: Clone |
| 199 | + uses: actions/checkout@v4 |
| 200 | + |
| 201 | + - name: Set up QEMU |
| 202 | + uses: docker/setup-qemu-action@v3 |
| 203 | + |
| 204 | + - name: Build ${{ matrix.arch }} |
| 205 | + run: | |
| 206 | + docker run --platform ${{ matrix.arch }} --rm \ |
| 207 | + -v ${{ github.workspace }}:/workspace \ |
| 208 | + -w /workspace ${{ env.ubuntu_image }} /bin/sh -c ' |
| 209 | + set -e |
| 210 | + apt update |
| 211 | + apt install -y build-essential cmake libsdl2-dev |
| 212 | + cmake . -DWHISPER_SDL2=ON -DCMAKE_BUILD_TYPE=${{ matrix.build }} -DGGML_NATIVE=OFF -DGGML_CPU_ARM_ARCH=armv7-a |
| 213 | + make |
| 214 | + ctest -L gh --output-on-failure' |
| 215 | +
|
98 | 216 | ubuntu-latest-clang: |
99 | 217 | runs-on: ubuntu-latest |
100 | 218 |
|
|
0 commit comments