Skip to content

Merge pull request #9 from DelgadoLogic/dependabot/nuget/src/LogicFlo… #21

Merge pull request #9 from DelgadoLogic/dependabot/nuget/src/LogicFlo…

Merge pull request #9 from DelgadoLogic/dependabot/nuget/src/LogicFlo… #21

Workflow file for this run

name: LogicFlow CI
on:
push:
branches: [main, develop]
tags: ['v*.*.*']
pull_request:
branches: [main]
jobs:
# ── Build & Analyze ──────────────────────────────────────────────────────────
build:
name: Build & Analyze
runs-on: windows-latest
steps:
- uses: actions/checkout@v6
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: '8.x'
- name: Restore dependencies
run: dotnet restore LogicFlow.sln
- name: Build (Release)
run: dotnet build LogicFlow.sln --configuration Release --no-restore
- name: Run tests
run: dotnet test LogicFlow.sln --configuration Release --no-build --verbosity normal
continue-on-error: true
- name: Publish Dashboard
run: |
dotnet publish src/LogicFlow.Dashboard/LogicFlow.Dashboard.csproj `
--configuration Release `
--output ./publish/dashboard `
--self-contained false
shell: pwsh
# ── Release: Publish manifest to sovereign update server ────────────────────
release:
name: Publish Sovereign Manifest
needs: build
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/v')
steps:
- uses: actions/checkout@v6
- name: Extract version
id: version
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
- name: Publish update manifest to sovereign server
env:
CI_TOKEN: ${{ secrets.AEON_CI_PUBLISH_SECRET }}
UPDATE_SERVER: ${{ secrets.AEON_UPDATE_SERVER_URL }}
VERSION: ${{ steps.version.outputs.VERSION }}
run: |
curl -sf -X POST "$UPDATE_SERVER/v1/manifest/publish" \
-H "Authorization: Bearer $CI_TOKEN" \
-H "Content-Type: application/json" \
-d "{
\"product\": \"logicflow\",
\"channel\": \"stable\",
\"version\": \"$VERSION\",
\"tag\": \"v$VERSION\",
\"release_url\": \"https://github.com/DelgadoLogic/logicflow-core/releases/tag/v$VERSION\",
\"min_os\": \"windows-xp\",
\"status\": \"available\"
}"
echo "Manifest published for LogicFlow v$VERSION"
- name: Verify manifest is live + signed
env:
UPDATE_SERVER: ${{ secrets.AEON_UPDATE_SERVER_URL }}
run: |
echo "Verifying sovereign manifest..."
curl -sf "$UPDATE_SERVER/v1/update/logicflow/stable" | python3 -c "
import sys, json
data = json.load(sys.stdin)
print('Version:', data['manifest']['version'])
print('Signature:', data['signature'][:32], '...')
print('✅ Manifest is live and signed')
"