name: Build Tutorial # 主仓库 gitea.idealjs.com/idealjs/stack 的 CI:构建校验新教程站。 # runner 由 ephemerd 管理(每 job 一次性容器,跑完即毁;部署配置见 idealjs 仓 packages/ephemerd)。 # job 跑在 gitea/runner-images:ubuntu-24.04 内(node 预装);依赖与构建直接在 job 内执行—— # ephemerd 的 job 容器无特权且假 docker socket 暂不支持 build,buildah/docker 构建交由部署侧完成。 # 源码:gitea API tarball(同机房) on: push: branches: [main] pull_request: workflow_dispatch: env: YARN_NPM_REGISTRY_SERVER: https://registry.npmmirror.com API: https://gitea.idealjs.com/api/v1/repos/idealjs/stack jobs: build: name: Build @stack/tutorial (ephemerd) runs-on: ubuntu-latest steps: - name: 拉源码(gitea tarball) run: | wget -q "$API/archive/$GITHUB_SHA.tar.gz" -O /tmp/src.tgz tar -xzf /tmp/src.tgz --strip-components=1 ls package.json - name: 安装依赖(yarn4 经 yarnPath 直调,不经 corepack) run: node .yarn/releases/yarn-4.9.2.cjs install --immutable - name: 构建 run: node .yarn/releases/yarn-4.9.2.cjs workspace @stack/tutorial build