diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml new file mode 100644 index 0000000..6edefd9 --- /dev/null +++ b/.github/workflows/node.js.yml @@ -0,0 +1,38 @@ +# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs + +name: Node.js CI + +on: + - push + - pull_request + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [18.x] + # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ + + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + cache: 'npm' + - name: Install dependencies + run: npm ci + - name: Run lint + run: npm run lint + - name: Run test + run: npm test + - name: Coveralls + uses: coverallsapp/github-action@v2 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + path-to-lcov: ${{ github.workspace }}/coverage/lcov.info diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 0f6610b..0000000 --- a/.travis.yml +++ /dev/null @@ -1,27 +0,0 @@ -language: node_js - -node_js: - - 12 - -before_script: - - npm ci - -script: - - npm run lint - - npm test - -after_success: - - npm run test:coveralls - -deploy: - provider: npm - email: $NPM_EMAIL - api_key: $NPM_TOKEN - skip_cleanup: true - on: - tags: true - -notifications: - email: - recipients: - - apisupport@zenvia.com diff --git a/npm-publish.yml b/npm-publish.yml new file mode 100644 index 0000000..1a47b63 --- /dev/null +++ b/npm-publish.yml @@ -0,0 +1,42 @@ +# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created +# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages + +name: Node.js Package + +on: + release: + types: [created] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: 18 + - name: Install dependencies + run: npm ci + - name: Run lint + run: npm run lint + - name: Run test + run: npm test + - name: Coveralls + uses: coverallsapp/github-action@v2 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + path-to-lcov: ${{ github.workspace }}/coverage/lcov.info + + publish-npm: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: 18 + registry-url: https://registry.npmjs.org/ + - run: npm ci + - run: npm publish + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}