This repository was archived by the owner on Jul 3, 2025. It is now read-only.
Use tsdown instead of dnt #26
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: main | |
on: [push, pull_request] | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
permissions: | |
checks: write | |
pull-requests: write | |
services: | |
postgres: | |
image: postgres | |
env: | |
POSTGRES_USER: postgres | |
POSTGRES_PASSWORD: postgres | |
POSTGRES_DB: postgres | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
ports: | |
- 5432:5432 | |
env: | |
DATABASE_URL: postgres://postgres:postgres@localhost:5432/postgres | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: denoland/setup-deno@v1 | |
with: | |
deno-version: v2.x | |
- uses: pnpm/action-setup@v4 | |
with: | |
version: 10 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: lts/* | |
cache: pnpm | |
- uses: oven-sh/setup-bun@v1 | |
with: | |
bun-version: latest | |
- run: deno task test --junit-path=.test-report.xml | |
- uses: EnricoMi/publish-unit-test-result-action@v2 | |
if: always() | |
with: | |
files: .test-report.xml | |
- run: deno task check | |
- run: pnpm test | |
- run: pnpm test:bun | |
publish: | |
if: github.event_name == 'push' | |
needs: [test] | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: denoland/setup-deno@v1 | |
with: | |
deno-version: v2.x | |
- uses: pnpm/action-setup@v4 | |
with: | |
version: 10 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: lts/* | |
cache: pnpm | |
- if: github.ref_type == 'branch' | |
run: | | |
set -ex | |
jq \ | |
--arg build "$GITHUB_RUN_NUMBER" \ | |
--arg commit "${GITHUB_SHA::8}" \ | |
'.version = .version + "-dev." + $build + "+" + $commit' \ | |
deno.json > deno.json.tmp | |
jq \ | |
--arg build "$GITHUB_RUN_NUMBER" \ | |
'.version = .version + "-dev." + $build \ | |
package.json > package.json.tmp | |
mv package.json.tmp package.json | |
- if: github.ref_type == 'tag' | |
run: | | |
set -ex | |
[[ "$(jq -r .version deno.json)" = "$GITHUB_REF_NAME" ]] | |
[[ "$(jq -r .version package.json)" = "$GITHUB_REF_NAME" ]] | |
- run: | | |
set -ex | |
pnpm install | |
pnpm config set //registry.npmjs.org/:_authToken "$NPM_AUTH_TOKEN" | |
if [[ "$GITHUB_REF_TYPE" = "tag" ]]; then | |
pnpm publish --provenance --access public | |
else | |
pnpm publish --provenance --access public --tag dev | |
fi | |
env: | |
NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }} | |
NPM_CONFIG_PROVENANCE: "true" | |
working-directory: ${{ github.workspace }}/npm/ | |
- run: deno publish --allow-dirty |