diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..02388af --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,61 @@ +name: Publish to npm + +on: + release: + types: [created] + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup Bun + uses: oven-sh/setup-bun@v2 + with: + bun-version: latest + + - name: Setup Rust + uses: dtolnay/rust-toolchain@stable + + - name: Install dependencies + run: bun install + + - name: Build + run: bun run build + + - name: Test + run: bun test + + publish: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup Bun + uses: oven-sh/setup-bun@v2 + with: + bun-version: latest + + - name: Setup Rust + uses: dtolnay/rust-toolchain@stable + + - name: Setup Node.js (for npm publish) + uses: actions/setup-node@v4 + with: + node-version: 20 + registry-url: https://registry.npmjs.org/ + scope: "@http-native" + + - name: Install dependencies + run: bun install + + - name: Build (release) + run: bun run build:release + + - name: Publish to npm + run: npm publish --access public + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/package.json b/package.json index 6ef61fa..941aa2c 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,10 @@ { - "name": "http-native", + "name": "@http-native/core", "version": "0.1.0", "type": "module", - "private": true, + "publishConfig": { + "access": "public" + }, "exports": { ".": { "types": "./src/index.d.ts",