diff --git a/.forgejo/workflows/update.yml b/.forgejo/workflows/update.yml index 6181714..0212f73 100644 --- a/.forgejo/workflows/update.yml +++ b/.forgejo/workflows/update.yml @@ -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}" diff --git a/chain.json b/chain.json new file mode 100644 index 0000000..187d05a --- /dev/null +++ b/chain.json @@ -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": "v([\\d.]+)" + }, + "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" + ] +} \ No newline at end of file diff --git a/fai.json b/fai.json deleted file mode 100644 index f0cc5e7..0000000 --- a/fai.json +++ /dev/null @@ -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": "v([\\d.]+)" - }, - "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" - ] -}