chore: chain rename + bump to v0.16.0 (mirror URLs, fix auto-update)

Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
flemming-it 2026-06-17 17:19:01 +02:00
parent 729bc55b2d
commit 72feaba1bb
3 changed files with 59 additions and 59 deletions

View file

@ -2,15 +2,15 @@
#
# Lives here as the canonical source of truth. The bootstrap
# script (scripts/bootstrap-distribution-repos.sh in
# fai/platform) seeds this file into the bucket repo at
# fai/chain-private) seeds this file into the bucket repo at
# .forgejo/workflows/update.yml. Edit it here, run the
# bootstrap script, the bucket picks up the new version.
#
# What it does:
# * Every 4 hours, fetches the latest release manifest for
# fai/platform.
# fai/chain-private.
# * If the version differs from the one currently in
# fai.json, rewrites version + architecture.64bit.url +
# chain.json, rewrites version + architecture.64bit.url +
# architecture.64bit.hash and commits.
# * Workflow_dispatch trigger lets you force an update from
# the Forgejo UI.
@ -27,7 +27,7 @@ on:
jobs:
update:
name: Sync fai.json to latest platform release
name: Sync chain.json to latest platform release
runs-on: ubuntu-latest
steps:
- name: Checkout via external URL
@ -52,7 +52,7 @@ jobs:
run: |
set -eu
REL=$(curl -fsSL \
"https://git.flemming.ai/api/v1/repos/fai/platform/releases?limit=1" \
"https://git.flemming.ai/api/v1/repos/fai/chain-private/releases?limit=1" \
| jq -r '.[0]')
TAG=$(echo "$REL" | jq -r '.tag_name')
VERSION="${TAG#v}"
@ -62,10 +62,10 @@ jobs:
# download. Same logic as scoop's autoupdate hash
# selector.
SHA=$(curl -fsSL \
"https://git.flemming.ai/fai/platform/releases/download/${TAG}/fai-windows-x86_64.exe.sha256" \
"https://releases.chain.flemming.ai/v/${TAG}/chain-windows-x86_64.exe.sha256" \
| awk '{print $1}')
if [ -z "$SHA" ] || [ "${#SHA}" -ne 64 ]; then
echo "fai-windows-x86_64.exe.sha256 missing or malformed for $TAG"
echo "chain-windows-x86_64.exe.sha256 missing or malformed for $TAG"
echo "skip=true" >> "$GITHUB_OUTPUT"
exit 0
fi
@ -76,10 +76,10 @@ jobs:
id: current
if: steps.manifest.outputs.skip != 'true'
run: |
CUR=$(jq -r '.version' fai.json)
CUR=$(jq -r '.version' chain.json)
echo "version=$CUR" >> "$GITHUB_OUTPUT"
- name: Rewrite fai.json
- name: Rewrite chain.json
id: rewrite
if: |
steps.manifest.outputs.skip != 'true'
@ -92,10 +92,10 @@ jobs:
jq --arg v "$NEW_VERSION" --arg sha "sha256:$NEW_SHA" \
'.version = $v
| .architecture."64bit".url =
("https://git.flemming.ai/fai/platform/releases/download/v"
+ $v + "/fai-windows-x86_64.exe#/fai.exe")
("https://releases.chain.flemming.ai/v/v"
+ $v + "/chain-windows-x86_64.exe#/chain.exe")
| .architecture."64bit".hash = $sha' \
fai.json | sponge fai.json
chain.json | sponge chain.json
echo "rewritten=true" >> "$GITHUB_OUTPUT"
- name: Commit + push
@ -104,8 +104,8 @@ jobs:
NEW_VERSION: ${{ steps.manifest.outputs.version }}
run: |
set -eu
git config user.email "platform@flemming.ai"
git config user.email "chain@flemming.ai"
git config user.name "fai-scoop-bot"
git add fai.json
git add chain.json
git commit -s -m "chore: scoop manifest -> v${NEW_VERSION}"
git push origin "HEAD:${GITHUB_REF_NAME}"

45
chain.json Normal file
View file

@ -0,0 +1,45 @@
{
"$schema": "https://raw.githubusercontent.com/ScoopInstaller/Scoop/master/schema.json",
"version": "0.16.0",
"description": "Deterministic workflow engine for AI-assisted data processing in regulated environments.",
"homepage": "https://flemming.ai/",
"license": "Apache-2.0",
"architecture": {
"64bit": {
"url": "https://releases.chain.flemming.ai/v0.16.0/chain-windows-x86_64.exe#/chain.exe",
"hash": "3f03737a259b2784c042474aab86f355c388ac508e693919e656b1c4b0478347"
}
},
"bin": "chain.exe",
"post_install": [
"Write-Host ''",
"Write-Host 'Ch∆In installed. Bootstrap the per-user layout with:'",
"Write-Host ' chain bootstrap'",
"Write-Host 'then'",
"Write-Host ' chain daemon start'",
"Write-Host ''"
],
"checkver": {
"url": "https://git.flemming.ai/fai/chain-private/releases.atom",
"regex": "<title>v([\\d.]+)</title>"
},
"autoupdate": {
"architecture": {
"64bit": {
"url": "https://releases.chain.flemming.ai/v$version/chain-windows-x86_64.exe#/chain.exe",
"hash": {
"url": "https://releases.chain.flemming.ai/v$version/chain-windows-x86_64.exe.sha256",
"regex": "^([a-fA-F0-9]{64})"
}
}
}
},
"notes": [
"Ch∆In includes a sandboxed WASM runtime. First launch may",
"trigger SmartScreen because the binary is not yet",
"Authenticode-signed; this is tracked as the remaining",
"Windows half of system-gap S-16. Verify the binary",
"manually against its ECDSA signature sidecar:",
" chain admin verify --self"
]
}

View file

@ -1,45 +0,0 @@
{
"$schema": "https://raw.githubusercontent.com/ScoopInstaller/Scoop/master/schema.json",
"version": "0.12.3",
"description": "Deterministic workflow engine for AI-assisted data processing in regulated environments.",
"homepage": "https://flemming.ai/",
"license": "Apache-2.0",
"architecture": {
"64bit": {
"url": "https://git.flemming.ai/fai/platform/releases/download/v0.12.3/fai-windows-x86_64.exe#/fai.exe",
"hash": "sha256:c7e254cd078bcbef46df831e99eefa5071d509e32309764d940c5d3bdcd9f9ec"
}
},
"bin": "fai.exe",
"post_install": [
"Write-Host ''",
"Write-Host 'F∆I installed. Bootstrap the per-user layout with:'",
"Write-Host ' fai bootstrap'",
"Write-Host 'then'",
"Write-Host ' fai daemon start'",
"Write-Host ''"
],
"checkver": {
"url": "https://git.flemming.ai/fai/platform/releases.atom",
"regex": "<title>v([\\d.]+)</title>"
},
"autoupdate": {
"architecture": {
"64bit": {
"url": "https://git.flemming.ai/fai/platform/releases/download/v$version/fai-windows-x86_64.exe#/fai.exe",
"hash": {
"url": "$url.sha256",
"regex": "^([a-fA-F0-9]{64})"
}
}
}
},
"notes": [
"F∆I includes a sandboxed WASM runtime. First launch may",
"trigger SmartScreen because the binary is not yet",
"Authenticode-signed; this is tracked as the remaining",
"Windows half of system-gap S-16. Verify the binary",
"manually against its ECDSA signature sidecar:",
" fai admin verify --self"
]
}