diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..528d2a3 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,35 @@ +name: CI + +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + check: + name: Type-check, lint, test + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: denoland/setup-deno@v2 + with: + deno-version: v2.x + + - name: Cache dependencies + run: | + deno cache index.ts tests/*.ts + deno cache https://jsr.io/@ursamu/ursamu/2.3.0/src/services/Softcode/softcode-worker.ts + + - name: Type check + run: deno check index.ts + + - name: Lint + run: deno lint + + - name: Test + run: deno task test + + - name: Dry-run publish + run: deno publish --dry-run --allow-dirty diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..ae260a9 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,33 @@ +name: Publish to JSR + +on: + push: + tags: + - "v*" + +jobs: + publish: + name: Publish + runs-on: ubuntu-latest + permissions: + contents: read + id-token: write + + steps: + - uses: actions/checkout@v4 + + - uses: denoland/setup-deno@v2 + with: + deno-version: v2.x + + - name: Type check + run: deno check index.ts + + - name: Lint + run: deno lint + + - name: Test + run: deno task test + + - name: Publish to JSR + run: deno publish diff --git a/deno.json b/deno.json index e3ebe11..de9a785 100644 --- a/deno.json +++ b/deno.json @@ -1,5 +1,6 @@ { "name": "@ursamu/mail-plugin", + "license": "MIT", "version": "2.3.1", "description": "In-game mail system with drafts, folders, attachments, quota, expiry, and format hooks.", "exports": {