diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml new file mode 100644 index 0000000..34af012 --- /dev/null +++ b/.gitea/workflows/release.yaml @@ -0,0 +1,38 @@ +name: Release + +on: + push: + tags: + - "v*.*.*" + +jobs: + release: + runs-on: ubuntu-latest + steps: + - uses: https://github.com/actions/checkout@v4 + + - uses: https://github.com/pnpm/action-setup@v4 + with: + version: 11.21.0 + + - uses: https://github.com/actions/setup-node@v4 + with: + node-version: 20 + cache: pnpm + registry-url: https://dev.pivoine.art/api/packages/valknar/npm/ + + - run: pnpm install --frozen-lockfile + + - run: pnpm run lint + - run: pnpm run typecheck + - run: pnpm run format:check + - run: pnpm run test + - run: pnpm run build + + - name: Set package version from the tag + run: npm pkg set version="${GITHUB_REF_NAME#v}" + + - name: Publish to Gitea npm registry + run: pnpm publish --no-git-checks + env: + NODE_AUTH_TOKEN: ${{ secrets.GITEA_PACKAGE_TOKEN }} diff --git a/package.json b/package.json index 068e15f..39f950f 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,9 @@ "engines": { "node": ">=20" }, + "publishConfig": { + "registry": "https://dev.pivoine.art/api/packages/valknar/npm/" + }, "files": [ "bin", "src", @@ -33,6 +36,7 @@ "lint": "eslint", "typecheck": "tsc --noEmit", "format": "prettier --write .", + "format:check": "prettier --check .", "test": "tsx --test \"src/cli/**/*.test.ts\"", "db:generate": "drizzle-kit generate", "db:studio": "drizzle-kit studio",