Skip to content

Commit 4256ed2

Browse files
authored
Merge pull request #9138 from PsiACE/nfpm-packger
ci: try to release deb package
2 parents b411f62 + 5d4e968 commit 4256ed2

File tree

2 files changed

+94
-1
lines changed

2 files changed

+94
-1
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: "${name}"
2+
arch: "amd64"
3+
platform: "linux"
4+
version: "${version}"
5+
section: "database"
6+
priority: "extra"
7+
maintainer: "Databend Authors <opensource@datafuselabs.com>"
8+
description: |
9+
Databend is a powerful cloud data warehouse. Built for elasticity and efficiency.
10+
Free and open. Also available in the cloud: https://app.databend.com
11+
vendor: "Datafuse Labs"
12+
homepage: "https://databend.rs"
13+
license: "Apache-2.0"
14+
contents:
15+
# Binaries
16+
- src: ${path}/bin/databend-query
17+
dst: /usr/bin/databend-query
18+
- src: ${path}/bin/databend-meta
19+
dst: /usr/bin/databend-meta
20+
- src: ${path}/bin/databend-metactl
21+
dst: /usr/bin/databend-metactl
22+
- src: ${path}/bin/databend-metabench
23+
dst: /usr/bin/databend-metabench
24+
25+
# Configs
26+
- src: ${path}/configs/databend-query.toml
27+
dst: /etc/databend/databend-query.toml
28+
type: config
29+
- src: ${path}/configs/databend-meta.toml
30+
dst: /etc/databend/databend-meta.toml
31+
type: config
32+
33+
# Docs
34+
- src: ${path}/readme.txt
35+
dst: /usr/share/doc/databend/readme.txt
36+
file_info:
37+
mode: 0644

.github/workflows/databend-release.yml

Lines changed: 57 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -413,8 +413,64 @@ jobs:
413413
file: ./docker/${{ matrix.distro }}/${{ matrix.service }}.Dockerfile
414414
build-args: VERSION=${{ needs.create_release.outputs.version }}
415415

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+
416472
upload-sha256sums-plugin:
417-
needs: [create_release, publish_linux, publish_macos]
473+
needs: [create_release, publish_linux, publish_macos, release_packages]
418474
runs-on: ubuntu-latest
419475
name: upload-sha256sums
420476
steps:

0 commit comments

Comments
 (0)