Merge pull request #1623 from moltar/renovate/stnl-0.x #1319
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: Release | |
env: | |
CI: "true" | |
on: | |
push: | |
branches: | |
- master | |
paths: | |
- .github/workflows/*.yml | |
- "cases/*.ts" | |
- "*.ts" | |
- package.json | |
- package-lock.json | |
- bun.lock | |
jobs: | |
build: | |
name: "Node ${{ matrix.node-version }}" | |
runs-on: ubuntu-latest | |
strategy: | |
max-parallel: 1 | |
matrix: | |
# benchmarked node versions must be kept in sync with: | |
# - node-version matrix in pr.yml | |
# - NODE_VERSIONS in app.tsx | |
# - NODE_VERSION_FOR_PREVIEW in main.ts | |
node-version: | |
- 16.x | |
- 18.x | |
- 19.x | |
- 20.x | |
- 21.x | |
- 22.x | |
- 23.x | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Cache node modules | |
uses: actions/cache@v4 | |
env: | |
cache-name: cache-node-modules | |
with: | |
path: ~/.npm | |
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-build-${{ env.cache-name }}- | |
${{ runner.os }}-build- | |
${{ runner.os }}- | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: npm install | |
run: npm ci | |
- name: lint | |
run: npm run lint | |
- name: test build | |
run: npm run test:build | |
- name: npm test | |
run: npm t | |
- name: generate benchmarks with node | |
run: ./start.sh NODE | |
- name: push | |
uses: EndBug/add-and-commit@v9 | |
## prevents forked repos from comitting results in PRs | |
if: github.repository == 'moltar/typescript-runtime-type-benchmarks' | |
with: | |
author_name: ${{ env.GIT_COMMIT_AUTHOR_NAME }} | |
author_email: ${{ env.GIT_COMMIT_AUTHOR_EMAIL }} | |
message: 'feat: ${{ matrix.node-version }} adds auto-generated benchmarks and bar graph' | |
push: true | |
fetch: true | |
pull: '--rebase --autostash' | |
build-bun: | |
name: "Bun ${{ matrix.bun-version }}" | |
runs-on: ubuntu-latest | |
strategy: | |
max-parallel: 1 | |
matrix: | |
bun-version: | |
- 1.1.43 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Bun ${{ matrix.bun-version }} | |
uses: oven-sh/setup-bun@v2 | |
with: | |
bun-version: ${{ matrix.bun-version }} | |
- name: Install | |
run: bun install | |
- name: Lint | |
run: bun run lint | |
- name: Test build | |
run: bun run test:build | |
- name: Test | |
run: bun run test | |
- name: generate benchmarks with bun | |
run: ./start.sh BUN | |
- name: push | |
uses: EndBug/add-and-commit@v9 | |
## prevents forked repos from comitting results in PRs | |
if: github.repository == 'moltar/typescript-runtime-type-benchmarks' | |
with: | |
author_name: ${{ env.GIT_COMMIT_AUTHOR_NAME }} | |
author_email: ${{ env.GIT_COMMIT_AUTHOR_EMAIL }} | |
message: 'feat: ${{ matrix.bun-version }} adds auto-generated benchmarks and bar graph' | |
push: true | |
fetch: true | |
pull: '--rebase --autostash' | |
build-deno: | |
name: "Deno ${{ matrix.deno-version }}" | |
runs-on: ubuntu-latest | |
strategy: | |
max-parallel: 1 | |
matrix: | |
deno-version: | |
- 2.1.9 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
- name: Use Deno ${{ matrix.deno-version }} | |
uses: denoland/setup-deno@v2 | |
with: | |
deno-version: ${{ matrix.deno-version }} | |
- name: Install | |
run: npm ci | |
- name: Lint | |
run: deno run lint | |
- name: Test build | |
run: deno task test:build | |
- name: Test | |
run: deno task test | |
- name: generate benchmarks with deno | |
run: ./start.sh DENO | |
- name: push | |
uses: EndBug/add-and-commit@v9 | |
## prevents forked repos from comitting results in PRs | |
if: github.repository == 'moltar/typescript-runtime-type-benchmarks' | |
with: | |
author_name: ${{ env.GIT_COMMIT_AUTHOR_NAME }} | |
author_email: ${{ env.GIT_COMMIT_AUTHOR_EMAIL }} | |
message: 'feat: ${{ matrix.deno-version }} adds auto-generated benchmarks and bar graph' | |
push: true | |
fetch: true | |
pull: '--rebase --autostash' |