Update dependicus comment #271
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| env: | |
| MISE_NODE_VERSION: '20' | |
| # Allow dependicus to reinstall node_modules when a provider needs its own | |
| # install layout (e.g. PnpmProvider reinstalls with pnpm if the tree was | |
| # populated by another package manager). Destructive by design, so opt in | |
| # only in CI — local runs keep the working tree intact. | |
| DEPENDICUS_ALLOW_INSTALL: '1' | |
| jobs: | |
| check-pnpm: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: jdx/mise-action@v2 | |
| - run: pnpm install | |
| - run: mise run pnpm:typecheck | |
| - run: mise run pnpm:test | |
| check-bun: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: jdx/mise-action@v2 | |
| - run: bun install | |
| - run: mise run bun:typecheck | |
| - run: mise run bun:test | |
| lint-pnpm: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: jdx/mise-action@v2 | |
| - run: pnpm install | |
| - run: pnpm run format:check | |
| - run: pnpm run lint | |
| - name: Verify lockfiles are up to date | |
| run: | | |
| mise run update-all-lockfiles | |
| if ! git diff --exit-code pnpm-lock.yaml package-lock.json yarn.lock bun.lock aube-lock.yaml; then | |
| echo "Lockfiles are out of date. Run 'mise update-all-lockfiles' and commit the result." | |
| exit 1 | |
| fi | |
| lint-bun: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: jdx/mise-action@v2 | |
| - run: bun install | |
| - run: bun run format:check | |
| - run: bun run lint | |
| zensical: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: jdx/mise-action@v2 | |
| - run: uv run zensical build | |
| working-directory: docs | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: zensical | |
| path: docs/site | |
| typedoc-pnpm: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: jdx/mise-action@v2 | |
| - run: pnpm install | |
| - run: mise run pnpm:build | |
| - run: pnpm run typedoc | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: typedoc-pnpm | |
| path: typedoc-out | |
| typedoc-bun: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: jdx/mise-action@v2 | |
| - run: bun install | |
| - run: mise run bun:build | |
| - run: bun run typedoc | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: typedoc-bun | |
| path: typedoc-out | |
| dependicus-pnpm: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: jdx/mise-action@v2 | |
| - run: pnpm install | |
| - run: mise run pnpm:build | |
| - uses: actions/cache@v4 | |
| with: | |
| path: .dependicus-cache | |
| key: dependicus-pnpm-cache-${{ github.sha }} | |
| restore-keys: dependicus-pnpm-cache- | |
| - run: node dist/bin.mjs update --html --provider pnpm --provider bun --provider yarn --provider npm --provider aube --provider mise --provider uv --provider go --provider rust | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: dependicus-pnpm | |
| path: dependicus-out | |
| dependicus-bun: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: jdx/mise-action@v2 | |
| - run: bun install | |
| - run: mise run bun:build | |
| - uses: actions/cache@v4 | |
| with: | |
| path: .dependicus-cache | |
| key: dependicus-bun-cache-${{ github.sha }} | |
| restore-keys: dependicus-bun-cache- | |
| - run: bun run dist/bin.mjs update --html --provider pnpm --provider bun --provider yarn --provider npm --provider aube --provider mise --provider uv --provider go --provider rust | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: dependicus-bun | |
| path: dependicus-out | |
| check-yarn: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: jdx/mise-action@v2 | |
| - run: mise exec -- yarn install | |
| - run: mise run yarn:typecheck | |
| - run: mise run yarn:test | |
| lint-yarn: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: jdx/mise-action@v2 | |
| - run: mise exec -- yarn install | |
| - run: yarn run format:check | |
| - run: yarn run lint | |
| dependicus-yarn: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: jdx/mise-action@v2 | |
| - run: mise exec -- yarn install | |
| - run: mise run yarn:build | |
| - uses: actions/cache@v4 | |
| with: | |
| path: .dependicus-cache | |
| key: dependicus-yarn-cache-${{ github.sha }} | |
| restore-keys: dependicus-yarn-cache- | |
| - run: node dist/bin.mjs update --html --provider pnpm --provider bun --provider yarn --provider npm --provider aube --provider mise --provider uv --provider go --provider rust | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: dependicus-yarn | |
| path: dependicus-out | |
| typedoc-yarn: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: jdx/mise-action@v2 | |
| - run: mise exec -- yarn install | |
| - run: mise run yarn:build | |
| - run: yarn run typedoc | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: typedoc-yarn | |
| path: typedoc-out | |
| check-npm: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: jdx/mise-action@v2 | |
| - run: rm -f yarn.lock | |
| - run: npm ci | |
| - run: mise run npm:typecheck | |
| - run: mise run npm:test | |
| lint-npm: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: jdx/mise-action@v2 | |
| - run: rm -f yarn.lock | |
| - run: npm ci | |
| - run: npm run format:check | |
| - run: npm run lint | |
| typedoc-npm: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: jdx/mise-action@v2 | |
| - run: rm -f yarn.lock | |
| - run: npm ci | |
| - run: mise run npm:build | |
| - run: npm run typedoc | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: typedoc-npm | |
| path: typedoc-out | |
| dependicus-npm: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: jdx/mise-action@v2 | |
| - run: npm ci | |
| - run: git checkout -- yarn.lock | |
| - run: mise run npm:build | |
| - uses: actions/cache@v4 | |
| with: | |
| path: .dependicus-cache | |
| key: dependicus-npm-cache-${{ github.sha }} | |
| restore-keys: dependicus-npm-cache- | |
| - run: node dist/bin.mjs update --html --provider pnpm --provider bun --provider yarn --provider npm --provider aube --provider mise --provider uv --provider go --provider rust | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: dependicus-npm | |
| path: dependicus-out | |
| check-aube: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: jdx/mise-action@v2 | |
| - run: mise exec -- aube install | |
| - run: mise run aube:typecheck | |
| - run: mise run aube:test | |
| lint-aube: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: jdx/mise-action@v2 | |
| - run: mise exec -- aube install | |
| - run: mise exec -- aube run format:check | |
| - run: mise exec -- aube run lint | |
| typedoc-aube: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: jdx/mise-action@v2 | |
| - run: mise exec -- aube install | |
| - run: mise run aube:build | |
| - run: mise exec -- aube run typedoc | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: typedoc-aube | |
| path: typedoc-out | |
| dependicus-aube: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: jdx/mise-action@v2 | |
| - run: mise exec -- aube install | |
| - run: mise run aube:build | |
| - uses: actions/cache@v4 | |
| with: | |
| path: .dependicus-cache | |
| key: dependicus-aube-cache-${{ github.sha }} | |
| restore-keys: dependicus-aube-cache- | |
| - run: node dist/bin.mjs update --html --provider pnpm --provider bun --provider yarn --provider npm --provider aube --provider mise --provider uv --provider go --provider rust | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: dependicus-aube | |
| path: dependicus-out | |
| bundle-check: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: jdx/mise-action@v2 | |
| - run: pnpm install | |
| - run: mise run pnpm:build | |
| - name: Install from tarball and run CLI | |
| run: | | |
| pnpm pack | |
| mkdir bundle-test && cd bundle-test | |
| npm init -y | |
| npm install ../dependicus-*.tgz | |
| npx dependicus update --html --provider pnpm --repo-root .. | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| github-issues: | |
| if: github.ref == 'refs/heads/main' | |
| needs: [check-pnpm, lint-pnpm, dependicus-pnpm] | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| issues: write | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: jdx/mise-action@v2 | |
| - run: pnpm install | |
| - run: mise run pnpm:build | |
| - uses: actions/cache@v4 | |
| with: | |
| path: .dependicus-cache | |
| key: dependicus-pnpm-cache-${{ github.sha }} | |
| restore-keys: dependicus-pnpm-cache- | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: dependicus-pnpm | |
| path: dependicus-out | |
| - run: node dist/bin.mjs make-github-issues --dependicus-base-url https://descriptinc.github.io/dependicus/dependencies --rate-limit-days 14 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| deploy: | |
| if: github.ref == 'refs/heads/main' | |
| needs: | |
| [ | |
| check-pnpm, | |
| check-bun, | |
| check-npm, | |
| check-yarn, | |
| check-aube, | |
| lint-pnpm, | |
| lint-bun, | |
| lint-npm, | |
| lint-yarn, | |
| lint-aube, | |
| zensical, | |
| typedoc-pnpm, | |
| typedoc-bun, | |
| typedoc-npm, | |
| typedoc-yarn, | |
| typedoc-aube, | |
| dependicus-pnpm, | |
| dependicus-bun, | |
| dependicus-npm, | |
| dependicus-yarn, | |
| dependicus-aube, | |
| ] | |
| runs-on: ubuntu-latest | |
| permissions: | |
| pages: write | |
| id-token: write | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| steps: | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: zensical | |
| path: site | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: typedoc-pnpm | |
| path: site/api | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: dependicus-pnpm | |
| path: site/dependencies | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: typedoc-bun | |
| path: site/bun/api | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: dependicus-bun | |
| path: site/bun/dependencies | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: typedoc-yarn | |
| path: site/yarn/api | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: dependicus-yarn | |
| path: site/yarn/dependencies | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: typedoc-npm | |
| path: site/npm/api | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: dependicus-npm | |
| path: site/npm/dependencies | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: typedoc-aube | |
| path: site/aube/api | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: dependicus-aube | |
| path: site/aube/dependencies | |
| - uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: site | |
| - id: deployment | |
| uses: actions/deploy-pages@v4 |