-
Notifications
You must be signed in to change notification settings - Fork 0
30 lines (30 loc) · 966 Bytes
/
Copy pathrelease.yml
File metadata and controls
30 lines (30 loc) · 966 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
name: release-abi
on:
push:
tags: ['v*']
permissions:
contents: write
jobs:
publish:
runs-on: ubuntu-latest
env:
GH_TOKEN: ${{ github.token }}
steps:
- uses: actions/checkout@v4
- name: 构建
run: make build
- name: 打包 ABI 产物
run: |
set -euo pipefail
v="${GITHUB_REF_NAME}"
d="blockmalloc-abi-$v-linux-x86_64"
# 本库是 header-only(#define BLOCKMALLOC_IMPLEMENTATION 单头文件):
# 只发头,不发 .so —— 消费者把实现体编进自己的 TU。
mkdir -p "$d/include"
cp -R include/. "$d/include/"
printf '{"abi":"%s"}\n' "$v" > "$d/abi-manifest.json"
tar czf "$d.tar.gz" "$d"
tar tzf "$d.tar.gz"
sha256sum "$d.tar.gz" > SHA256SUMS
- name: 发布 release
run: gh release create "${GITHUB_REF_NAME}" blockmalloc-abi-*.tar.gz SHA256SUMS --generate-notes