This repository has been archived by the owner on Dec 12, 2024. It is now read-only.
Automate GitHub releases #206
Workflow file for this run
This file contains 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: Integrity Check | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
env: | |
CI: true | |
PNPM_CACHE_FOLDER: .pnpm-store | |
jobs: | |
security-audit: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout source | |
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 | |
- name: install pnpm | |
uses: pnpm/action-setup@v2 | |
with: | |
version: 8 | |
- name: Set up Node.js | |
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0 | |
with: | |
node-version: 20 | |
- name: Install dependencies | |
run: pnpm install | |
- name: Install Snyk | |
uses: snyk/actions/setup@3e2680e8df93a24b52d119b1305fb7cedc60ceae # latest master (no released tag) | |
- name: Snyk VULN and License Check Test | |
run: snyk test --all-projects --sarif-file-output=snyk.sarif | |
env: | |
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} | |
- name: Report known vulnerabilities | |
run: pnpm audit | |
- name: Upload SARIF result to GitHub Code Scanning | |
uses: github/codeql-action/upload-sarif@74483a38d39275f33fcff5f35b679b5ca4a26a99 # v2.22.5 | |
if: always() | |
with: | |
sarif_file: snyk.sarif | |
test-with-node: | |
runs-on: macos-latest | |
steps: | |
- name: Checkout source | |
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 | |
- name: install pnpm | |
uses: pnpm/action-setup@v2 | |
with: | |
version: 8 | |
- name: Set up Node.js | |
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0 | |
with: | |
node-version: 20 | |
registry-url: https://registry.npmjs.org/ | |
- name: Install dependencies | |
run: pnpm install | |
- name: Build all workspace packages | |
run: pnpm build | |
- name: Run linter for all packages | |
run: pnpm lint | |
- name: Run tests for all packages | |
run: pnpm test:node | |
# test-with-browsers: | |
# # Run browser tests using macOS so that WebKit tests don't fail under a Linux environment | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Checkout source | |
# uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 | |
# - name: install pnpm | |
# uses: pnpm/action-setup@v2 | |
# with: | |
# version: 8 | |
# - name: Set up Node.js | |
# uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0 | |
# with: | |
# node-version: 20 | |
# registry-url: https://registry.npmjs.org/ | |
# - name: Install dependencies | |
# run: pnpm install | |
# - name: Install Playwright Browsers | |
# run: npx playwright install --with-deps | |
# - name: Run tests for all packages | |
# run: pnpm test:browser | |
tbdocs-reporter: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout source | |
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 | |
- name: install pnpm | |
uses: pnpm/action-setup@v2 | |
with: | |
version: 8 | |
- name: Set up Node.js | |
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0 | |
with: | |
node-version: 20 | |
registry-url: https://registry.npmjs.org/ | |
- name: Install dependencies | |
run: pnpm install | |
- name: Build all workspace packages | |
run: pnpm build | |
- name: TBDocs Reporter | |
id: tbdocs-reporter-protocol | |
uses: TBD54566975/tbdocs@main | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
report_changed_scope_only: true | |
fail_on_error: false | |
entry_points: | | |
- file: packages/protocol/src/main.ts | |
docsReporter: api-extractor | |
docsGenerator: typedoc-markdown | |
- file: packages/http-client/src/main.ts | |
docsReporter: api-extractor | |
docsGenerator: typedoc-markdown | |
- file: packages/http-server/src/main.ts | |
docsReporter: api-extractor | |
docsGenerator: typedoc-markdown |