mirror of
https://github.com/nexu-io/open-design.git
synced 2026-10-27 09:51:12 +01:00
* chore: remove extracted landing-page from the monorepo The marketing site now lives in a separate repository. Drop the Astro app, its GitHub workflows/scripts, and the remaining monorepo coupling so this workspace no longer builds or deploys it. * fix: drop leftover landing-page coupling from Teams and skills Point development enterprise URLs at the deployed marketing origin, remove nextjs-app skill outputs that no longer emit a page, and stop advertising apps/landing-page in plugin marketplace metadata. Generated-By: looper 0.12.0 (runner=fixer, agent=omp) * fix(ci): restore DSH installer E2E Vitest routing Removing dsh-bootstrap-identity dropped the only planner route from tools/release/resources/dsh-bootstrap/ to web_tests_required, so installer-only PRs skipped e2e/tests/dsh-installer-version-policy.test.ts. Generated-By: looper 0.12.0 (runner=fixer, agent=omp) * docs: drop leftover landing-page paths from template assets The skill contract no longer advertises the extracted Astro app, but styles.css, compose.ts, and example.html still named deleted apps/landing-page sources. Describe the standalone template behavior instead and keep the bundled plugin example in sync. Generated-By: looper 0.12.0 (runner=fixer, agent=omp) * docs: keep landing-page off review and test surfaces Add apps/landing-page to the forbidden-surface review list and stop naming the extracted path in plugin registry acceptance tables. Generated-By: looper 0.12.0 (runner=fixer, agent=omp) * fix: drop leftover landing-page refs and bump plugin version Stop naming the deleted apps/landing-page in the landing-deck demo and plugin-registry plan. Bump example-open-design-landing to 0.1.1 and keep the official catalog version aligned with the bundled manifest. Generated-By: looper 0.12.0 (runner=fixer, agent=omp)
118 lines
4.5 KiB
YAML
118 lines
4.5 KiB
YAML
name: dsh-bootstrap-publish
|
|
|
|
# Publish immutable DeepSeek Harness bootstrap installers to R2 from the
|
|
# product-owned canonical source under tools/release/resources/dsh-bootstrap/.
|
|
#
|
|
# Standalone and outside the merge gate (like nix.yml / docker-image.yml).
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
branches:
|
|
- main
|
|
paths:
|
|
- "tools/release/resources/dsh-bootstrap/**"
|
|
- "tools/release/src/storage/dsh-bootstrap-*.ts"
|
|
- "tools/release/src/storage/publish-dsh-bootstrap.ts"
|
|
- "tools/release/src/storage/common.ts"
|
|
- "tools/release/src/storage/s3-upload.ts"
|
|
- ".github/workflows/dsh-bootstrap-publish.yml"
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
concurrency:
|
|
# The publisher uses a monotonic CAS update so queued reruns cannot rewind
|
|
# latest after a newer version ships.
|
|
group: dsh-bootstrap-publish
|
|
cancel-in-progress: false
|
|
|
|
jobs:
|
|
publish:
|
|
name: Publish DeepSeek Harness bootstrap installers
|
|
if: github.repository == 'nexu-io/open-design' && github.ref == 'refs/heads/main'
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 15
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6.0.2
|
|
with:
|
|
ref: ${{ github.sha }}
|
|
|
|
- name: Setup pnpm
|
|
uses: pnpm/action-setup@v5
|
|
with:
|
|
version: 10.33.2
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v6
|
|
with:
|
|
node-version: 24
|
|
cache: pnpm
|
|
|
|
- name: Install dependencies
|
|
run: pnpm install --frozen-lockfile
|
|
|
|
- name: Build tools-release
|
|
run: pnpm --filter @open-design/tools-release build
|
|
|
|
- name: Verify publisher checkout is current main
|
|
run: |
|
|
set -euo pipefail
|
|
published_sha="$(git rev-parse HEAD)"
|
|
if [ "$published_sha" != "$GITHUB_SHA" ]; then
|
|
echo "::error::publisher checkout resolved $published_sha but workflow dispatch SHA is $GITHUB_SHA"
|
|
exit 1
|
|
fi
|
|
main_sha="$(git ls-remote origin refs/heads/main | awk '{print $1}')"
|
|
if [ "$GITHUB_SHA" != "$main_sha" ]; then
|
|
echo "::error::refusing DSH bootstrap publish for stale workflow SHA $GITHUB_SHA; current origin/main is $main_sha"
|
|
echo "::error::dispatch a fresh workflow from current main instead of rerunning an old publish."
|
|
exit 1
|
|
fi
|
|
|
|
# Canonical installer bytes. Version is derived from content: unchanged
|
|
# installers reuse the published version; edits mint the next one.
|
|
# `DSH_BOOTSTRAP_VERSION` remains an escape hatch that forces one version
|
|
# and still fails closed on a content mismatch.
|
|
- name: Publish immutable DeepSeek Harness bootstrap installers to R2
|
|
id: dsh_bootstrap
|
|
env:
|
|
DSH_BOOTSTRAP_SOURCE_DIR: tools/release/resources/dsh-bootstrap
|
|
RELEASE_BRANCH: ${{ github.ref_name }}
|
|
RELEASE_COMMIT: ${{ github.sha }}
|
|
RELEASE_PUBLIC_ORIGIN: ${{ vars.CLOUDFLARE_R2_RELEASES_PUBLIC_ORIGIN }}
|
|
RELEASE_REPOSITORY: ${{ github.repository }}
|
|
RELEASE_RUN_ATTEMPT: ${{ github.run_attempt }}
|
|
RELEASE_RUN_ID: ${{ github.run_id }}
|
|
RELEASE_STORAGE_ACCESS_KEY_ID: ${{ secrets.CLOUDFLARE_R2_RELEASES_AK }}
|
|
RELEASE_STORAGE_BUCKET: ${{ secrets.CLOUDFLARE_R2_RELEASES_BUCKET }}
|
|
RELEASE_STORAGE_ENDPOINT: ${{ secrets.CLOUDFLARE_R2_RELEASES_URL }}
|
|
RELEASE_STORAGE_REGION: auto
|
|
RELEASE_STORAGE_SECRET_ACCESS_KEY: ${{ secrets.CLOUDFLARE_R2_RELEASES_SK }}
|
|
RELEASE_WORKFLOW: ${{ github.workflow }}
|
|
run: pnpm exec tools-release publish-dsh-bootstrap
|
|
|
|
- name: Verify public DeepSeek Harness bootstrap downloads
|
|
env:
|
|
DSH_BOOTSTRAP_VERSION: ${{ steps.dsh_bootstrap.outputs.version }}
|
|
RELEASE_PUBLIC_ORIGIN: ${{ vars.CLOUDFLARE_R2_RELEASES_PUBLIC_ORIGIN }}
|
|
run: |
|
|
set -euo pipefail
|
|
if [ -z "$DSH_BOOTSTRAP_VERSION" ]; then
|
|
echo "::error::publish step did not report a bootstrap version"
|
|
exit 1
|
|
fi
|
|
download_dir="$(mktemp -d)"
|
|
trap 'rm -rf "$download_dir"' EXIT
|
|
for name in install-dsh.sh install-dsh.ps1 install-dsh.cmd SHA256SUMS; do
|
|
curl --fail --silent --show-error --location \
|
|
--retry 5 --retry-delay 1 --retry-all-errors \
|
|
"$RELEASE_PUBLIC_ORIGIN/bootstrap/dsh/$DSH_BOOTSTRAP_VERSION/$name" \
|
|
--output "$download_dir/$name"
|
|
done
|
|
(
|
|
cd "$download_dir"
|
|
sha256sum --check SHA256SUMS
|
|
)
|