Skip to content

Commit 798cf91

Browse files
authored
Merge pull request #2 from Goreeng/feat/html-gen
Feat/html gen
2 parents bdb8b17 + 5fd741e commit 798cf91

174 files changed

Lines changed: 10133 additions & 4906 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.claude/hooks/run-sce-or-show-install-guidance.sh

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.claude/settings.json

Lines changed: 5 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.github/dependabot.yml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,6 @@ updates:
1515
schedule:
1616
interval: daily
1717

18-
- package-ecosystem: cargo
19-
directory: /integrations/install
20-
schedule:
21-
interval: daily
22-
2318
- package-ecosystem: npm
2419
directory: /npm
2520
schedule:

.github/workflows/codeql.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ jobs:
5050

5151
# Initializes the CodeQL tools for scanning.
5252
- name: Initialize CodeQL
53-
uses: github/codeql-action/init@dd903d2e4f5405488e5ef1422510ee31c8b32357 # v3.36.2
53+
uses: github/codeql-action/init@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
5454
with:
5555
languages: ${{ matrix.language }}
5656
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -60,7 +60,7 @@ jobs:
6060
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
6161
# If this step fails, then you should remove it and run the build manually (see below)
6262
- name: Autobuild
63-
uses: github/codeql-action/autobuild@dd903d2e4f5405488e5ef1422510ee31c8b32357 # v3.36.2
63+
uses: github/codeql-action/autobuild@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
6464

6565
# ℹ️ Command-line programs to run using the OS shell.
6666
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
@@ -73,6 +73,6 @@ jobs:
7373
# ./location_of_script_within_repo/buildscript.sh
7474

7575
- name: Perform CodeQL Analysis
76-
uses: github/codeql-action/analyze@dd903d2e4f5405488e5ef1422510ee31c8b32357 # v3.36.2
76+
uses: github/codeql-action/analyze@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
7777
with:
7878
category: "/language:${{matrix.language}}"

.github/workflows/publish-crates.yml

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@ on:
1414
required: false
1515
default: true
1616
type: boolean
17+
prerelease:
18+
description: "Treat this as a prerelease publication; version must include semver prerelease metadata"
19+
required: false
20+
default: false
21+
type: boolean
1722

1823
permissions:
1924
contents: read
@@ -29,6 +34,7 @@ jobs:
2934
DISPATCH_RELEASE_TAG: ${{ inputs.release_tag }}
3035
EVENT_RELEASE_TAG: ${{ github.event.release.tag_name }}
3136
DRY_RUN: ${{ github.event_name == 'workflow_dispatch' && inputs.dry_run || 'false' }}
37+
PRE_RELEASE: ${{ github.event_name == 'release' && github.event.release.prerelease || github.event_name == 'workflow_dispatch' && inputs.prerelease || false }}
3238
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
3339
steps:
3440
- name: Harden the runner (Audit all outbound calls)
@@ -43,7 +49,7 @@ jobs:
4349
fetch-depth: 0
4450

4551
- name: Install Nix
46-
uses: DeterminateSystems/determinate-nix-action@32cb6a5ae30bb0dfc996fa7baf8bf1ed28442fa4 # v3.17.3
52+
uses: DeterminateSystems/determinate-nix-action@629b284231c2a82554b724e357e47fc6020833c8 # v3.21.2
4753

4854
- name: Verify checked-in release version parity
4955
shell: bash
@@ -70,7 +76,21 @@ jobs:
7076
exit 1
7177
fi
7278
73-
printf 'Publishing checked-in crate version %s from tag %s\n' "$version" "$release_tag"
79+
case "$version" in
80+
*-*) version_is_prerelease=true ;;
81+
*) version_is_prerelease=false ;;
82+
esac
83+
84+
if [ "${PRE_RELEASE:-false}" = "true" ] && [ "$version_is_prerelease" != "true" ]; then
85+
printf 'Prerelease crate publication requires a semver prerelease version, but .version is %s\n' "$version" >&2
86+
exit 1
87+
fi
88+
89+
if [ "$version_is_prerelease" = "true" ]; then
90+
printf 'Publishing checked-in semver prerelease crate version %s from tag %s\n' "$version" "$release_tag"
91+
else
92+
printf 'Publishing checked-in crate version %s from tag %s\n' "$version" "$release_tag"
93+
fi
7494
7595
- name: Prepare crate-local generated assets
7696
env:

.github/workflows/publish-npm.yml

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@ on:
1414
required: false
1515
default: true
1616
type: boolean
17+
prerelease:
18+
description: "Publish with the next dist-tag instead of latest; version must include semver prerelease metadata"
19+
required: false
20+
default: false
21+
type: boolean
1722

1823
permissions:
1924
contents: read
@@ -29,6 +34,7 @@ jobs:
2934
DISPATCH_RELEASE_TAG: ${{ inputs.release_tag }}
3035
EVENT_RELEASE_TAG: ${{ github.event.release.tag_name }}
3136
DRY_RUN: ${{ github.event_name == 'workflow_dispatch' && inputs.dry_run || 'false' }}
37+
PRE_RELEASE: ${{ github.event_name == 'release' && github.event.release.prerelease || github.event_name == 'workflow_dispatch' && inputs.prerelease || false }}
3238
GH_TOKEN: ${{ github.token }}
3339
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
3440
steps:
@@ -74,7 +80,21 @@ jobs:
7480
exit 1
7581
fi
7682
77-
printf 'Publishing checked-in npm package version %s from tag %s\n' "$version" "$release_tag"
83+
case "$version" in
84+
*-*) version_is_prerelease=true ;;
85+
*) version_is_prerelease=false ;;
86+
esac
87+
88+
if [ "${PRE_RELEASE:-false}" = "true" ] && [ "$version_is_prerelease" != "true" ]; then
89+
printf 'Prerelease npm publication requires a semver prerelease version, but .version is %s\n' "$version" >&2
90+
exit 1
91+
fi
92+
93+
if [ "${PRE_RELEASE:-false}" = "true" ] || [ "$version_is_prerelease" = "true" ]; then
94+
printf 'Publishing checked-in npm prerelease package version %s from tag %s with npm dist-tag next\n' "$version" "$release_tag"
95+
else
96+
printf 'Publishing checked-in npm package version %s from tag %s with npm dist-tag latest\n' "$version" "$release_tag"
97+
fi
7898
7999
- name: Download canonical npm release asset
80100
shell: bash
@@ -120,7 +140,14 @@ jobs:
120140
if: env.DRY_RUN == 'true'
121141
run: |
122142
version="$(tr -d '\n' < .version)"
123-
npm publish "dist/npm/sce-v${version}-npm.tgz" --access public --dry-run
143+
npm_tag="latest"
144+
case "$version" in
145+
*-*) npm_tag="next" ;;
146+
esac
147+
if [ "${PRE_RELEASE:-false}" = "true" ]; then
148+
npm_tag="next"
149+
fi
150+
npm publish "dist/npm/sce-v${version}-npm.tgz" --access public --tag "$npm_tag" --dry-run
124151
125152
- name: Ensure npm token is configured
126153
if: env.DRY_RUN != 'true'
@@ -138,4 +165,11 @@ jobs:
138165
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
139166
run: |
140167
version="$(tr -d '\n' < .version)"
141-
npm publish "dist/npm/sce-v${version}-npm.tgz" --access public
168+
npm_tag="latest"
169+
case "$version" in
170+
*-*) npm_tag="next" ;;
171+
esac
172+
if [ "${PRE_RELEASE:-false}" = "true" ]; then
173+
npm_tag="next"
174+
fi
175+
npm publish "dist/npm/sce-v${version}-npm.tgz" --access public --tag "$npm_tag"

.github/workflows/release-sce-linux-arm.yml

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,36 @@ jobs:
3636
--version "${{ inputs.release_version }}" \
3737
--out-dir dist
3838
39+
- name: Validate packaged Linux ARM CLI release artifact
40+
run: |
41+
set -euo pipefail
42+
43+
version="${{ inputs.release_version }}"
44+
target_triple="aarch64-unknown-linux-musl"
45+
archive_root="sce-v${version}-${target_triple}"
46+
archive_path="dist/${archive_root}.tar.gz"
47+
48+
if [ ! -f "$archive_path" ]; then
49+
printf 'Expected release archive at %s\n' "$archive_path" >&2
50+
exit 1
51+
fi
52+
53+
extract_dir="$(mktemp -d "${RUNNER_TEMP:-/tmp}/sce-release-validate.XXXXXX")"
54+
cleanup() {
55+
rm -rf "$extract_dir"
56+
}
57+
trap cleanup EXIT
58+
59+
tar -xzf "$archive_path" -C "$extract_dir"
60+
release_binary="$extract_dir/$archive_root/bin/sce"
61+
if [ ! -x "$release_binary" ]; then
62+
printf 'Expected executable release binary at %s\n' "$release_binary" >&2
63+
exit 1
64+
fi
65+
66+
"$release_binary" version --format json
67+
nix run .#native-portability-audit -- --platform linux --binary "$release_binary"
68+
3969
- name: Allow Flatpak build sandbox
4070
run: |
4171
sudo sysctl -w kernel.unprivileged_userns_clone=1
@@ -60,6 +90,6 @@ jobs:
6090
- name: Upload Linux ARM CLI release artifacts
6191
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
6292
with:
63-
name: sce-release-aarch64-unknown-linux-gnu
93+
name: sce-release-aarch64-unknown-linux-musl
6494
path: dist/
6595
if-no-files-found: error

.github/workflows/release-sce-linux.yml

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,36 @@ jobs:
3636
--version "${{ inputs.release_version }}" \
3737
--out-dir dist
3838
39+
- name: Validate packaged Linux CLI release artifact
40+
run: |
41+
set -euo pipefail
42+
43+
version="${{ inputs.release_version }}"
44+
target_triple="x86_64-unknown-linux-musl"
45+
archive_root="sce-v${version}-${target_triple}"
46+
archive_path="dist/${archive_root}.tar.gz"
47+
48+
if [ ! -f "$archive_path" ]; then
49+
printf 'Expected release archive at %s\n' "$archive_path" >&2
50+
exit 1
51+
fi
52+
53+
extract_dir="$(mktemp -d "${RUNNER_TEMP:-/tmp}/sce-release-validate.XXXXXX")"
54+
cleanup() {
55+
rm -rf "$extract_dir"
56+
}
57+
trap cleanup EXIT
58+
59+
tar -xzf "$archive_path" -C "$extract_dir"
60+
release_binary="$extract_dir/$archive_root/bin/sce"
61+
if [ ! -x "$release_binary" ]; then
62+
printf 'Expected executable release binary at %s\n' "$release_binary" >&2
63+
exit 1
64+
fi
65+
66+
"$release_binary" version --format json
67+
nix run .#native-portability-audit -- --platform linux --binary "$release_binary"
68+
3969
- name: Allow Flatpak build sandbox
4070
run: |
4171
sudo sysctl -w kernel.unprivileged_userns_clone=1
@@ -60,6 +90,6 @@ jobs:
6090
- name: Upload Linux CLI release artifacts
6191
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
6292
with:
63-
name: sce-release-x86_64-unknown-linux-gnu
93+
name: sce-release-x86_64-unknown-linux-musl
6494
path: dist/
6595
if-no-files-found: error

.github/workflows/release-sce-macos-arm.yml

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,44 @@ jobs:
2828
ref: ${{ inputs.release_ref }}
2929

3030
- name: Install Nix
31-
uses: DeterminateSystems/determinate-nix-action@32cb6a5ae30bb0dfc996fa7baf8bf1ed28442fa4 # v3.17.3
31+
uses: DeterminateSystems/determinate-nix-action@629b284231c2a82554b724e357e47fc6020833c8 # v3.21.2
3232

3333
- name: Build canonical macOS ARM CLI release artifacts
3434
run: |
3535
nix run .#release-artifacts -- \
3636
--version "${{ inputs.release_version }}" \
3737
--out-dir dist
3838
39+
- name: Validate packaged macOS ARM CLI release artifact
40+
run: |
41+
set -euo pipefail
42+
43+
version="${{ inputs.release_version }}"
44+
target_triple="aarch64-apple-darwin"
45+
archive_root="sce-v${version}-${target_triple}"
46+
archive_path="dist/${archive_root}.tar.gz"
47+
48+
if [ ! -f "$archive_path" ]; then
49+
printf 'Expected release archive at %s\n' "$archive_path" >&2
50+
exit 1
51+
fi
52+
53+
extract_dir="$(mktemp -d "${RUNNER_TEMP:-/tmp}/sce-release-validate.XXXXXX")"
54+
cleanup() {
55+
rm -rf "$extract_dir"
56+
}
57+
trap cleanup EXIT
58+
59+
tar -xzf "$archive_path" -C "$extract_dir"
60+
release_binary="$extract_dir/$archive_root/bin/sce"
61+
if [ ! -x "$release_binary" ]; then
62+
printf 'Expected executable release binary at %s\n' "$release_binary" >&2
63+
exit 1
64+
fi
65+
66+
"$release_binary" version --format json
67+
nix run .#native-portability-audit -- --platform macos --binary "$release_binary"
68+
3969
- name: Upload macOS ARM CLI release artifacts
4070
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
4171
with:

0 commit comments

Comments
 (0)