Choices/.github/workflows/npmpublish.yml
Konstantin Vyatkin 4acd6d6ca8 Improve GitHub actions and fix package.json SCSS script (#669)
* run actions on dependencies change

* add bundlesize token to master run

* fix bundlesize commit number

* add cypress env

* also run on - '.browserslistrc' changes

* update node-sass to allow install on Node 12 and trigger events

* use script

* add group

* skip husky on cypress

* upgrade csso dependency to make it trim sourcemaps

* fix run-p / run-s use

* remove commited assets on check

* commit assets

* remove cypress record

* restore recording

* reduce bundlesize limits

* try to specify key implicity

* remove Cypress recording

* restore build in bundlesize

* regenerate package-json.lock

* commit generated assets

* handle no-js case in lint

* fix lint error
2019-10-22 22:20:40 +01:00

84 lines
2.1 KiB
YAML

name: Publish Package
on:
push:
branches:
- master
tags:
- v*
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
with:
fetch-depth: 1
- uses: actions/setup-node@v1
with:
node-version: 10
# run all tests
- run: |
npm ci
npm run build
npx bundlesize
npm run coverage
npm run test:e2e
env:
CI: true
CI_REPO_NAME: ${{ github.event.repository.name }}
CI_REPO_OWNER: ${{ github.event.organization.login }}
CI_COMMIT_SHA: ${{ github.sha }}
GIT_COMMIT: ${{ github.sha }}
CI_BRANCH: ${{ github.head_ref }}
BUNDLESIZE_GITHUB_TOKEN: ${{secrets.BUNDLESIZE_GITHUB_TOKEN}}
FORCE_COLOR: 2
HUSKY_SKIP_INSTALL: true
- name: Upload coverage to Codecov
run: bash <(curl -s https://codecov.io/bash)
-f ./coverage/lcov.info
-B ${{ github.head_ref }}
-C ${{ github.sha }}
-Z || echo 'Codecov upload failed'
env:
CI: true
GITLAB_CI: true # pretend we are GitLab CI, while Codecov adding support for Github Actions
CODECOV_ENV: github-action
CODECOV_TOKEN: ${{secrets.CODECOV_TOKEN}}
publish-npm:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
with:
fetch-depth: 1
- uses: actions/setup-node@v1
with:
node-version: 10
registry-url: https://registry.npmjs.org/
- run: npm ci
env:
CYPRESS_INSTALL_BINARY: 0
HUSKY_SKIP_INSTALL: true
- run: npm publish
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
publish-github:
needs: publish-npm
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
with:
fetch-depth: 1
- run: echo ${{ github.sha }} > RELEASE.txt
- run: cat RELEASE.txt
- uses: softprops/action-gh-release@v1
with:
files: RELEASE.txt
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}