@@ -413,8 +413,64 @@ jobs:
413
413
file : ./docker/${{ matrix.distro }}/${{ matrix.service }}.Dockerfile
414
414
build-args : VERSION=${{ needs.create_release.outputs.version }}
415
415
416
+ release_packages :
417
+ name : release packages
418
+ runs-on : ubuntu-latest
419
+ needs : [create_release, publish_linux]
420
+ strategy :
421
+ matrix :
422
+ arch :
423
+ - x86_64
424
+ platform :
425
+ - musl
426
+ packager :
427
+ - deb
428
+ steps :
429
+ - name : Checkout
430
+ uses : actions/checkout@v3
431
+ - name : Install nfpm@latest
432
+ run : curl -o /tmp/nfpm.tar.gz -sSL https://github.com/goreleaser/nfpm/releases/download/v2.22.2/nfpm_2.22.2_Linux_x86_64.tar.gz && cd /tmp && tar xf /tmp/nfpm.tar.gz && sudo mv nfpm /usr/local/bin && sudo chmod a+x /usr/local/bin/nfpm
433
+ - name : Get target
434
+ id : target
435
+ run : echo 'target=${{ matrix.arch }}-unknown-linux-${{ matrix.platform }}' >> $GITHUB_OUTPUT
436
+ - name : Download binaries for usage
437
+ id : download_binaries
438
+ run : |
439
+ target=${{ steps.target.outputs.target }}
440
+ version="${{ needs.create_release.outputs.version }}"
441
+ mkdir -p ./distro/
442
+ wget -P distro -qc https://repo.databend.rs/databend/${version}/databend-${version}-${target}.tar.gz
443
+ tar x -C distro -f ./distro/databend-${version}-${target}.tar.gz
444
+ - name : Build Packages
445
+ id : build_packages
446
+ run : |
447
+ export name="databend"
448
+ export version="${{ needs.create_release.outputs.version }}"
449
+ export path="distro"
450
+ nfpm pkg --packager ${{ matrix.packager }} -f <(envsubst '${name} ${version} ${path}' < .github/actions/publish_binary/nfpm.yaml)
451
+ - name : generate sha256sums
452
+ run : |
453
+ version="${{ needs.create_release.outputs.version }}"
454
+ sha256sum databend_*.${{ matrix.packager }} >> sha256-${version}-${{ matrix.packager }}.txt
455
+ - name : post sha256
456
+ uses : actions/upload-artifact@v2
457
+ with :
458
+ name : sha256sums
459
+ path : sha256-${{ needs.create_release.outputs.version }}-${{ matrix.packager }}.txt
460
+ retention-days : 1
461
+ - name : Update release to github
462
+ shell : bash
463
+ # Reference: https://cli.github.com/manual/gh_release_upload
464
+ run : |
465
+ target=${{ steps.target.outputs.target }}
466
+ version="${{ needs.create_release.outputs.version }}"
467
+ # name looks like: `databend_0.8.144~nightly_amd64.deb`
468
+ gh release upload ${version} databend_*.${{ matrix.packager }} --clobber
469
+ env :
470
+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
471
+
416
472
upload-sha256sums-plugin :
417
- needs : [create_release, publish_linux, publish_macos]
473
+ needs : [create_release, publish_linux, publish_macos, release_packages ]
418
474
runs-on : ubuntu-latest
419
475
name : upload-sha256sums
420
476
steps :
0 commit comments