|
48 | 48 | node: 24 |
49 | 49 | host: arm64 |
50 | 50 | target: arm64 |
| 51 | + - os: ubuntu-24.04-arm |
| 52 | + node: 20 |
| 53 | + host: arm64 |
| 54 | + target: arm64 |
| 55 | + - os: ubuntu-24.04-arm |
| 56 | + node: 22 |
| 57 | + host: arm64 |
| 58 | + target: arm64 |
| 59 | + - os: ubuntu-24.04-arm |
| 60 | + node: 24 |
| 61 | + host: arm64 |
| 62 | + target: arm64 |
51 | 63 | name: ${{ matrix.os }} (node=${{ matrix.node }}, host=${{ matrix.host }}, target=${{ matrix.target }}) |
52 | 64 | steps: |
53 | 65 | - uses: actions/checkout@v6 |
@@ -112,56 +124,42 @@ jobs: |
112 | 124 | run: yarn upload --upload-all ${{ github.token }} |
113 | 125 | if: matrix.node == 24 && startsWith(github.ref, 'refs/tags/') |
114 | 126 |
|
115 | | - build-qemu: |
116 | | - runs-on: ubuntu-latest |
| 127 | + build-musl: |
117 | 128 | if: github.event_name == 'workflow_dispatch' || startsWith(github.ref, 'refs/tags/') |
118 | 129 | strategy: |
119 | 130 | fail-fast: false |
120 | 131 | matrix: |
121 | | - node: |
122 | | - - 24 |
123 | | - target: |
124 | | - - linux/arm64 |
125 | | - variant: |
126 | | - - bookworm |
127 | | - - alpine3.20 |
128 | 132 | include: |
129 | | - # musl x64 builds |
130 | | - - target: linux/amd64 |
131 | | - variant: alpine3.20 |
132 | | - node: 24 |
133 | | - name: ${{ matrix.variant }} (node=${{ matrix.node }}, target=${{ matrix.target }}) |
| 133 | + - runner: ubuntu-24.04-arm |
| 134 | + platform: linux/arm64 |
| 135 | + arch: arm64 |
| 136 | + - runner: ubuntu-24.04 |
| 137 | + platform: linux/amd64 |
| 138 | + arch: amd64 |
| 139 | + runs-on: ${{ matrix.runner }} |
| 140 | + name: musl ${{ matrix.arch }} |
134 | 141 | steps: |
135 | 142 | - uses: actions/checkout@v6 |
136 | 143 |
|
137 | | - - name: Set up QEMU |
138 | | - uses: docker/setup-qemu-action@v4 |
139 | | - |
140 | | - - name: Setup Docker Buildx |
141 | | - uses: docker/setup-buildx-action@v4 |
142 | | - |
143 | 144 | - name: Build binaries and test |
144 | 145 | run: | |
145 | | - docker buildx build \ |
| 146 | + docker build \ |
146 | 147 | --file ./tools/BinaryBuilder.Dockerfile \ |
147 | | - --load \ |
148 | 148 | --tag sqlite-builder \ |
149 | | - --platform ${{ matrix.target }} \ |
150 | 149 | --no-cache \ |
151 | | - --build-arg VARIANT=${{ matrix.variant }} \ |
152 | | - --build-arg NODE_VERSION=${{ matrix.node }} \ |
| 150 | + --build-arg VARIANT=alpine3.20 \ |
| 151 | + --build-arg NODE_VERSION=24 \ |
153 | 152 | . |
154 | 153 | CONTAINER_ID=$(docker create -it sqlite-builder) |
155 | 154 | docker cp $CONTAINER_ID:/usr/src/build/prebuilds/ ./prebuilds |
156 | 155 |
|
157 | 156 | - name: Upload binaries to commit artifacts |
158 | 157 | uses: actions/upload-artifact@v7 |
159 | | - if: matrix.node == 24 |
160 | 158 | with: |
161 | | - name: prebuilt-binaries-${{ matrix.variant }}-${{ matrix.target == 'linux/arm64' && 'linux-arm64' || 'linux-amd64' }} |
| 159 | + name: prebuilt-binaries-musl-${{ matrix.arch }} |
162 | 160 | path: prebuilds/* |
163 | 161 | retention-days: 7 |
164 | 162 |
|
165 | 163 | - name: Upload binaries to GitHub Release |
166 | 164 | run: yarn install --ignore-scripts && yarn upload --upload-all ${{ github.token }} |
167 | | - if: matrix.node == 24 && startsWith(github.ref, 'refs/tags/') |
| 165 | + if: startsWith(github.ref, 'refs/tags/') |
0 commit comments