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