diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..2753b9c --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,7 @@ +version: 2 +updates: + - package-ecosystem: npm + directory: '/' + schedule: + interval: monthly + time: '04:00' diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..46512bb --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,30 @@ +name: 'CI' + +on: + push: + branches: + - main + tags: + - '**' + pull_request: + branches: + - '**' + +jobs: + test: + runs-on: ${{ matrix.os }} + + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + node: ['14'] + + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v2 + with: + node-version: ${{ matrix.node }} + + - run: npm ci + - run: npm test diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..c72109d --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,27 @@ +name: 'Publish' + +on: + push: + tags: + - '**' + +jobs: + npm: + runs-on: ubuntu-latest + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v2 + with: + node-version: '16' + registry-url: https://registry.npmjs.org/ + - run: npm ci + + # pre-releases, triggered by `next` as part of git tag + - run: npm publish --tag next + if: ${{ contains(github.ref, 'next') }} + + # production releases + - run: npm publish + if: ${{ !contains(github.ref, 'next') }} diff --git a/package.json b/package.json index a18e4d0..c3e103e 100644 --- a/package.json +++ b/package.json @@ -44,6 +44,7 @@ }, "release-it": { "hooks": { + "before:init": "npm test", "after:bump": "npm run changelog" }, "git": { @@ -53,7 +54,7 @@ "release": true }, "npm": { - "publish": true + "publish": false } } }