Skip to content

Commit 50fa0bc

Browse files
committed
refactoring security and rel db
1 parent 21d718a commit 50fa0bc

47 files changed

Lines changed: 4643 additions & 271 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
name: Build 3rdparty — zlib-ng
2+
3+
# Per-platform prebuilt static library for zlib-ng (zlib-compat mode),
4+
# published as release assets attached to the `lib-zlib-ng-<version>` tag
5+
# and consumed at configure time by
6+
# build-tools/picomesh/3rdparty-fetch.cmake (which downloads the prebuilt
7+
# tarball, falling back to a from-source build only when the asset is
8+
# missing). Version source of truth: build-tools/3rdparty/zlib-ng/version.
9+
10+
on:
11+
push:
12+
tags:
13+
- 'lib-zlib-ng-*'
14+
workflow_dispatch: {}
15+
16+
permissions:
17+
contents: write
18+
19+
jobs:
20+
resolve:
21+
runs-on: ubuntu-latest
22+
outputs:
23+
version: ${{ steps.read.outputs.version }}
24+
tag: ${{ steps.read.outputs.tag }}
25+
steps:
26+
- uses: actions/checkout@v4
27+
- id: read
28+
run: |
29+
set -euo pipefail
30+
V="$(tr -d '[:space:]' < build-tools/3rdparty/zlib-ng/version)"
31+
[ -n "$V" ] || { echo "version file is empty" >&2; exit 1; }
32+
if [[ "${{ github.event_name }}" == "push" ]]; then
33+
REF="${GITHUB_REF#refs/tags/}"
34+
EXPECT="lib-zlib-ng-$V"
35+
if [ "$REF" != "$EXPECT" ]; then
36+
echo "tag $REF does not match version file ($EXPECT)" >&2
37+
exit 1
38+
fi
39+
fi
40+
echo "version=$V" >> "$GITHUB_OUTPUT"
41+
echo "tag=lib-zlib-ng-$V" >> "$GITHUB_OUTPUT"
42+
43+
build:
44+
needs: resolve
45+
runs-on: ubuntu-latest
46+
strategy:
47+
fail-fast: false
48+
matrix:
49+
target:
50+
- linux-x86_64
51+
- linux-aarch64
52+
- linux-riscv64
53+
steps:
54+
- uses: actions/checkout@v4
55+
56+
- name: install build deps
57+
run: |
58+
set -euo pipefail
59+
sudo apt-get update -y
60+
pkgs="build-essential cmake ninja-build pkg-config curl tar xz-utils ca-certificates git"
61+
case "${{ matrix.target }}" in
62+
linux-aarch64) pkgs="$pkgs gcc-aarch64-linux-gnu g++-aarch64-linux-gnu binutils-aarch64-linux-gnu" ;;
63+
linux-riscv64) pkgs="$pkgs gcc-riscv64-linux-gnu g++-riscv64-linux-gnu binutils-riscv64-linux-gnu" ;;
64+
esac
65+
sudo apt-get install -y --no-install-recommends $pkgs
66+
67+
- name: build zlib-ng for ${{ matrix.target }}
68+
run: |
69+
mkdir -p out
70+
TARGET_PLATFORM="${{ matrix.target }}" \
71+
OUTPUT_DIR="$PWD/out" \
72+
CACHE_DIR="$PWD/.cache" \
73+
WORK_DIR="$PWD/.work" \
74+
bash build-tools/3rdparty/zlib-ng/_build.sh
75+
76+
- uses: softprops/action-gh-release@v2
77+
with:
78+
tag_name: ${{ needs.resolve.outputs.tag }}
79+
files: out/zlib-ng-${{ matrix.target }}-*.tar.gz
80+
fail_on_unmatched_files: true

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,7 @@ set(PICOMESH_PLUGINS
208208
time
209209
accounts
210210
portalloc
211+
registry
211212
session
212213
password_authn
213214
github_authn

0 commit comments

Comments
 (0)