diff --git a/.github/workflows/blank.yml b/.github/workflows/blank.yml new file mode 100644 index 00000000..43a547e3 --- /dev/null +++ b/.github/workflows/blank.yml @@ -0,0 +1,62 @@ +name: build +on: [push, pull_request] + +jobs: + ci: + runs-on: ${{ matrix.os }} + env: + #hardcode the coveralls token...it's not overly important to protect, and github actions won't allow forks to work with coveralls otherwise + COVERALLS_REPO_TOKEN: "cAEPfB2XY4L96cxO0SFaZeKdxwRCSNjZV" + strategy: + matrix: + os: [ubuntu-18.04, macos-10.15, windows-2019] + steps: + - uses: actions/checkout@master + - uses: actions/setup-node@master + with: + node-version: "10.19.0" + - run: npm ci + - run: npm run build + - run: npm run lint + - run: npm run test + - run: npm run publish-coverage + npm-release: + #only run this task if a tag starting with 'v' was used to trigger this (i.e. a tagged release) + if: startsWith(github.ref, 'refs/tags/v') + needs: ci + runs-on: ubuntu-18.04 + env: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + steps: + - uses: actions/checkout@master + - uses: actions/setup-node@master + with: + node-version: "10.19.0" + - run: echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ./.npmrc + - run: npm ci + - run: npm run build + #create npm package + - run: npm pack + + #create GitHub release + - name: Create GitHub Release + id: create_release + uses: actions/create-release@latest + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ github.ref }} + release_name: ${{ github.ref }} + draft: false + prerelease: false #contains(github.ref, '-beta.') == true + + #upload package to GitHub release + - name: Upload GitHub Release Assets + uses: alexellis/upload-assets@0.2.3 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + asset_paths: '["./*.tgz"]' + + #upload to npm + - run: npm publish