mirror of https://github.com/seald/nedb
commit
b53f651b9c
@ -0,0 +1,38 @@ |
|||||||
|
name: Tests |
||||||
|
|
||||||
|
on: [push, pull_request] |
||||||
|
|
||||||
|
jobs: |
||||||
|
node-tests: |
||||||
|
runs-on: ubuntu-latest |
||||||
|
|
||||||
|
strategy: |
||||||
|
matrix: |
||||||
|
node-version: [12.x, 14.x, 16.x] |
||||||
|
|
||||||
|
steps: |
||||||
|
- uses: actions/checkout@v2 |
||||||
|
- name: Install Node.js ${{ matrix.node-version }} |
||||||
|
uses: actions/setup-node@v2 |
||||||
|
with: |
||||||
|
node-version: ${{ matrix.node-version }} |
||||||
|
cache: 'npm' |
||||||
|
- run: npm ci |
||||||
|
- run: npm run lint |
||||||
|
- run: npm run test |
||||||
|
|
||||||
|
browser-tests: |
||||||
|
runs-on: ubuntu-latest |
||||||
|
|
||||||
|
steps: |
||||||
|
- uses: actions/checkout@v2 |
||||||
|
- name: Install Node.js 14 |
||||||
|
uses: actions/setup-node@v2 |
||||||
|
with: |
||||||
|
node-version: 14.x |
||||||
|
cache: 'npm' |
||||||
|
- name: Install Chrome Stable |
||||||
|
uses: browser-actions/setup-chrome@latest |
||||||
|
- run: npm ci |
||||||
|
- run: npm run lint |
||||||
|
- run: npm run test:browser |
@ -0,0 +1,22 @@ |
|||||||
|
name: Publish Package |
||||||
|
on: |
||||||
|
push: |
||||||
|
tags: |
||||||
|
- '*' |
||||||
|
jobs: |
||||||
|
build: |
||||||
|
runs-on: ubuntu-latest |
||||||
|
steps: |
||||||
|
- uses: actions/checkout@v2 |
||||||
|
- uses: actions/setup-node@v2 |
||||||
|
with: |
||||||
|
node-version: '14.x' |
||||||
|
registry-url: 'https://registry.npmjs.org' |
||||||
|
- run: npm ci |
||||||
|
- run: npm run prepublishOnly |
||||||
|
- id: get_npm_label |
||||||
|
run: if (npx semver ${{ github.event.release.tag_name }} --range '>0.0.0'); then echo ::set-output name=NPM_LABEL::latest; else echo ::set-output name=NPM_LABEL::beta; fi; # Using the fact that semver by default considers that pre-releases do not respect stable ranges |
||||||
|
- run: npm publish --tag=${NPM_LABEL} --access public |
||||||
|
env: |
||||||
|
NPM_LABEL: ${{ steps.get_npm_label.outputs.NPM_LABEL }} |
||||||
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} |
@ -1,35 +0,0 @@ |
|||||||
stages: |
|
||||||
- test |
|
||||||
- test-browser |
|
||||||
- deploy |
|
||||||
|
|
||||||
image: node:14 |
|
||||||
|
|
||||||
before_script: |
|
||||||
- echo "//registry.npmjs.org/:_authToken=${NPM_REGISTRY_TOKEN}" > .npmrc |
|
||||||
- npm ci --cache .npm --prefer-offline |
|
||||||
|
|
||||||
cache: |
|
||||||
key: "nedb" # universal cache |
|
||||||
paths: |
|
||||||
- .npm/ |
|
||||||
|
|
||||||
test: |
|
||||||
stage: test |
|
||||||
script: |
|
||||||
- npm run lint |
|
||||||
- npm run test |
|
||||||
|
|
||||||
test-browser: |
|
||||||
image: nexus-docker.tardis.seald.io/seald/docker-browser-testing:CHROME_88 |
|
||||||
stage: test-browser |
|
||||||
script: npm run test:browser |
|
||||||
|
|
||||||
deploy: |
|
||||||
stage: deploy |
|
||||||
script: |
|
||||||
- npm run prepublishOnly |
|
||||||
- if (npx semver $CI_COMMIT_TAG --range '>0.0.0'); then NPM_TAG=latest; else NPM_TAG=beta; fi; # Using the fact that semver by default considers that pre-releases do not respect stable ranges |
|
||||||
- npm publish --tag=$NPM_TAG --access public |
|
||||||
only: |
|
||||||
- tags |
|
Loading…
Reference in new issue