Skip to content

Merge branch 'master' into alpha-merge-master [skip release] #3656

Merge branch 'master' into alpha-merge-master [skip release]

Merge branch 'master' into alpha-merge-master [skip release] #3656

name: 'dhis2: verify (lib)'
on: push
concurrency:
group: ${{ github.workflow}}-${{ github.ref }}
env:
GIT_AUTHOR_NAME: '@dhis2-bot'
GIT_AUTHOR_EMAIL: '[email protected]'
GIT_COMMITTER_NAME: '@dhis2-bot'
GIT_COMMITTER_EMAIL: '[email protected]'
NPM_TOKEN: ${{secrets.DHIS2_BOT_NPM_TOKEN}}
GH_TOKEN: ${{secrets.DHIS2_BOT_GITHUB_TOKEN}}
D2_VERBOSE: true
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 14.x
- uses: c-hive/gha-yarn-cache@v1
- run: |
yarn install --frozen-lockfile
yarn setup
- name: Build
run: yarn build
- run: ./scripts/create-artifact.sh
- uses: actions/upload-artifact@v2
with:
name: lib-build
path: lib-build.tar
retention-days: 1
lint:
needs: [build]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 14.x
- uses: actions/download-artifact@v2
with:
name: lib-build
- run: ./scripts/extract-artifact.sh
- uses: c-hive/gha-yarn-cache@v1
- run: yarn install --frozen-lockfile
- name: Lint
run: yarn lint
test:
runs-on: ubuntu-latest
needs: [build]
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 14.x
- uses: actions/download-artifact@v2
with:
name: lib-build
- run: ./scripts/extract-artifact.sh
- uses: c-hive/gha-yarn-cache@v1
- run: yarn install --frozen-lockfile
- name: Test
run: yarn test
e2e:
runs-on: ubuntu-latest
if: "!github.event.push.repository.fork && github.actor != 'dependabot[bot]'"
needs: [build]
strategy:
fail-fast: false
matrix:
containers: [1, 2, 3, 4]
steps:
- name: Checkout
uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 14.x
- uses: actions/download-artifact@v2
with:
name: lib-build
- run: ./scripts/extract-artifact.sh
- name: Increase FS watchers
run: echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
- name: End-to-End tests
uses: cypress-io/github-action@v2
with:
# This should be a command that starts the server to test against.
start: 'yarn cy:start'
wait-on: 'http://localhost:5000'
wait-on-timeout: 300
record: true
parallel: true
group: 'e2e'
tag: ${{ github.event_name }}
env:
BROWSER: none
COMMIT_INFO_MESSAGE: ${{ github.event.pull_request.title }}
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
STORYBOOK_TESTING: true
publish:
runs-on: ubuntu-latest
needs: [build, lint, test, e2e]
if: "!github.event.push.repository.fork && github.actor != 'dependabot[bot]'"
steps:
- uses: actions/checkout@v2
with:
token: ${{env.GH_TOKEN}}
- uses: actions/setup-node@v3
with:
node-version: 14.x
cache: 'yarn'
- uses: actions/download-artifact@v2
with:
name: lib-build
- run: ./scripts/extract-artifact.sh
# ensure that d2-app-scripts is available
- run: yarn install --frozen-lockfile
- uses: dhis2/action-semantic-release@master
with:
publish-npm: true
publish-github: true
github-token: ${{ env.GH_TOKEN }}
npm-token: ${{ env.NPM_TOKEN }}