ci: node 14 on publish #1829
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: 18.x | |
- uses: c-hive/gha-yarn-cache@v1 | |
- run: yarn install --frozen-lockfile | |
- name: Build | |
run: yarn build | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: lib-build | |
path: | | |
**/build | |
!**/node_modules | |
retention-days: 1 | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-node@v1 | |
with: | |
node-version: 18.x | |
- uses: c-hive/gha-yarn-cache@v1 | |
- run: yarn install --frozen-lockfile | |
- run: yarn build | |
- run: yarn lint | |
test: | |
runs-on: ubuntu-latest | |
needs: [build] | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-node@v1 | |
with: | |
node-version: 18.x | |
- uses: actions/download-artifact@v4 | |
with: | |
name: lib-build | |
- uses: c-hive/gha-yarn-cache@v1 | |
- run: yarn install --frozen-lockfile | |
- name: Test | |
run: yarn test | |
publish: | |
runs-on: ubuntu-latest | |
needs: [build, test] | |
if: "!github.event.push.repository.fork && github.actor != 'dependabot[bot]'" | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
token: ${{env.GH_TOKEN}} | |
- uses: actions/setup-node@v1 | |
with: | |
# Higher Node versions introduce npm > 7, which ends up | |
# changing yarn.lock when the semantic release action runs | |
# (specifically the `npm version` script). | |
# Apps need Node 18 to run, but aren't being run in this step | |
node-version: 14.x | |
- uses: actions/download-artifact@v4 | |
with: | |
name: lib-build | |
- uses: c-hive/gha-yarn-cache@v1 | |
- 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 }} |