4242 body_path : ./NOTES.md
4343 prerelease : false
4444
45- macos-release :
45+ macos-python- release :
4646 needs : [tag-release]
4747 strategy :
4848 fail-fast : false
8989 name : wheel-macos-${{ matrix.python-version }}
9090 path : dist
9191
92- windows-release :
92+ windows-python- release :
9393 needs : [tag-release]
9494 strategy :
9595 fail-fast : false
@@ -132,7 +132,7 @@ jobs:
132132 name : wheel-windows-${{ matrix.python-version }}
133133 path : dist
134134
135- linux-release :
135+ linux-python- release :
136136 needs : [tag-release]
137137 strategy :
138138 fail-fast : false
@@ -176,7 +176,7 @@ jobs:
176176 name : wheel-linux-${{ matrix.target }}-${{ matrix.python-version }}
177177 path : dist
178178
179- linux-musl-release :
179+ linux-musl-python- release :
180180 needs : [tag-release]
181181 strategy :
182182 fail-fast : false
@@ -225,10 +225,10 @@ jobs:
225225 needs :
226226 [
227227 tag-release,
228- macos-release,
229- windows-release,
230- linux-release,
231- linux-musl-release,
228+ macos-python- release,
229+ windows-python- release,
230+ linux-python- release,
231+ linux-musl-python- release,
232232 ]
233233 steps :
234234 - uses : actions/download-artifact@v4
@@ -252,10 +252,10 @@ jobs:
252252 needs :
253253 [
254254 tag-release,
255- macos-release,
256- windows-release,
257- linux-release,
258- linux-musl-release,
255+ macos-python- release,
256+ windows-python- release,
257+ linux-python- release,
258+ linux-musl-python- release,
259259 ]
260260 steps :
261261 - name : Checkout repository
@@ -288,3 +288,105 @@ jobs:
288288 run : cargo publish --token ${CARGO_REGISTRY_TOKEN} --package dbn-cli
289289 env :
290290 CARGO_REGISTRY_TOKEN : ${{ secrets.CARGO_REGISTRY_TOKEN }}
291+
292+ build-cli-artifacts :
293+ name : build-release
294+ needs : [tag-release]
295+ runs-on : ${{ matrix.os }}
296+ env :
297+ TARGET_FLAGS :
298+ strategy :
299+ fail-fast : false
300+ matrix :
301+ include :
302+ - os : ubuntu-latest
303+ target : aarch64-unknown-linux-gnu
304+ - os : ubuntu-latest
305+ target : aarch64-unknown-linux-musl
306+ - os : ubuntu-latest
307+ target : x86_64-unknown-linux-gnu
308+ - os : ubuntu-latest
309+ target : x86_64-unknown-linux-musl
310+ - os : macos-latest
311+ target : x86_64-apple-darwin
312+ - os : macos-latest
313+ target : x86_64-apple-darwin
314+ - os : macos-latest
315+ target : aarch64-apple-darwin
316+ - os : windows-latest
317+ target : aarch64-pc-windows-msvc
318+ - os : windows-latest
319+ target : x86_64-pc-windows-gnu
320+ - os : windows-latest
321+ target : x86_64-pc-windows-gnu
322+
323+ steps :
324+ - name : Checkout repository
325+ uses : actions/checkout@v4
326+
327+ - name : Set up Rust
328+ run : rustup toolchain add --profile minimal --target ${{ matrix.target }} stable
329+
330+ - name : Set target variables
331+ shell : bash
332+ run : |
333+ echo "TARGET_FLAGS=--target ${{ matrix.target }}" >> $GITHUB_ENV
334+ echo "TARGET_DIR=./target/${{ matrix.target }}" >> $GITHUB_ENV
335+
336+ - name : Show command used for Cargo
337+ shell : bash
338+ run : |
339+ echo "cargo command is: ${{ env.CARGO }}"
340+ echo "target flag is: ${{ env.TARGET_FLAGS }}"
341+ echo "target dir is: ${{ env.TARGET_DIR }}"
342+
343+ - name : Build release binary
344+ shell : bash
345+ run : |
346+ cargo build --verbose --release dbn-cli ${{ env.TARGET_FLAGS }}
347+ if [ "${{ matrix.os }}" = "windows-latest" ]; then
348+ bin="target/${{ matrix.target }}/release/dbn.exe"
349+ else
350+ bin="target/${{ matrix.target }}/release/dbn"
351+ fi
352+ echo "BIN=$bin" >> $GITHUB_ENV
353+
354+ - name : Determine archive name
355+ shell : bash
356+ run : |
357+ version="${{ needs.create-release.outputs.version }}"
358+ echo "ARCHIVE=ripgrep-$version-${{ matrix.target }}" >> $GITHUB_ENV
359+
360+ - name : Creating directory for archive
361+ shell : bash
362+ run : |
363+ mkdir -p "$ARCHIVE"/{complete,doc}
364+ cp "$BIN" "$ARCHIVE"/
365+ cp {rust/src/dbn-cli/README.md,LICENSE} "$ARCHIVE"/
366+ cp {CHANGELOG.md} "$ARCHIVE"/doc/
367+
368+ - name : Build archive (Windows)
369+ shell : bash
370+ if : matrix.os == 'windows-latest'
371+ run : |
372+ 7z a "$ARCHIVE.zip" "$ARCHIVE"
373+ certutil -hashfile "$ARCHIVE.zip" SHA256 > "$ARCHIVE.zip.sha256"
374+ echo "ASSET=$ARCHIVE.zip" >> $GITHUB_ENV
375+ echo "ASSET_SUM=$ARCHIVE.zip.sha256" >> $GITHUB_ENV
376+
377+ - name : Build archive (Unix)
378+ shell : bash
379+ if : matrix.os != 'windows-latest'
380+ run : |
381+ tar czf "$ARCHIVE.tar.gz" "$ARCHIVE"
382+ shasum -a 256 "$ARCHIVE.tar.gz" > "$ARCHIVE.tar.gz.sha256"
383+ echo "ASSET=$ARCHIVE.tar.gz" >> $GITHUB_ENV
384+ echo "ASSET_SUM=$ARCHIVE.tar.gz.sha256" >> $GITHUB_ENV
385+
386+ - name : Upload release archive
387+ env :
388+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
389+ shell : bash
390+ run : |
391+ version="$(scripts/get_version.sh)"
392+ gh release upload "$version" ${{ env.ASSET }} ${{ env.ASSET_SUM }}
0 commit comments