Skip to content

Commit

Permalink
chore: update verify-app github action
Browse files Browse the repository at this point in the history
  • Loading branch information
kabaros committed Feb 14, 2024
1 parent b47d58c commit 26296c9
Showing 1 changed file with 60 additions and 67 deletions.
127 changes: 60 additions & 67 deletions .github/workflows/dhis2-verify-app.yml
Original file line number Diff line number Diff line change
@@ -1,56 +1,38 @@
name: 'dhis2: verify (app)'

on:
push:
branches:
# Requirements:
#
# - Org secrets:
# DHIS2_BOT_GITHUB_TOKEN
# DHIS2_BOT_APPHUB_TOKEN
# - Enable the 'jobs.e2e' section if applicable
# - Customize the properties if needed:
# 'jobs.release.steps.*.cwd'
# 'jobs.release.steps.*.build-dir'

on: push

env:
GIT_AUTHOR_NAME: '@dhis2-bot'
GIT_AUTHOR_EMAIL: '[email protected]'
GIT_COMMITTER_NAME: '@dhis2-bot'
GIT_COMMITTER_EMAIL: '[email protected]'
GH_TOKEN: ${{secrets.DHIS2_BOT_GITHUB_TOKEN}}
CI: true
D2_VERBOSE: true

jobs:
install:
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, '[skip ci]')"

steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 12.x

- uses: actions/cache@v2
id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
with:
path: '**/node_modules'
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}

- name: Install
if: steps.yarn-cache.outputs.cache-hit != 'true'
run: yarn install --frozen-lockfile

build:
runs-on: ubuntu-latest
needs: install
if: "!contains(github.event.head_commit.message, '[skip ci]')"
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 12.x
node-version: 14.x

- uses: actions/cache@v2
id: yarn-cache
with:
path: '**/node_modules'
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
- uses: c-hive/gha-yarn-cache@v1
- run: yarn install --frozen-lockfile

- name: Build
run: yarn build
run: yarn d2-app-scripts build

- uses: actions/upload-artifact@v2
with:
Expand All @@ -62,62 +44,73 @@ jobs:

lint:
runs-on: ubuntu-latest
needs: install
if: "!contains(github.event.head_commit.message, '[skip ci]')"
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 12.x
node-version: 14.x

- uses: actions/cache@v2
id: yarn-cache
with:
path: '**/node_modules'
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
- uses: c-hive/gha-yarn-cache@v1
- run: yarn install --frozen-lockfile

- name: Build
run: yarn build
# Can be removed if translations aren't required for tests,
# or if not using the App Platform
- name: Generate translations
run: yarn d2-app-scripts i18n generate

- name: Lint
run: yarn lint
run: yarn d2-style check

publish:
test:
runs-on: ubuntu-latest
needs: [build, lint]
if: "!contains(github.event.head_commit.message, '[skip ci]')"
steps:
- uses: actions/checkout@v2
with:
token: ${{env.GH_TOKEN}}

- uses: actions/setup-node@v1
with:
node-version: 12.x
node-version: 14.x

- uses: actions/download-artifact@v2
with:
name: app-build
- uses: c-hive/gha-yarn-cache@v1
- run: yarn install --frozen-lockfile

- uses: dhis2/deploy-build@master
with:
# uncomment following line for monorepo apps:
#cwd: ./packages/app
build-dir: build/app
github-token: ${{ env.GH_TOKEN }}
# Can be removed if translations aren't required for tests,
# or if not using the App Platform
- name: Generate translations
run: yarn d2-app-scripts i18n generate

- name: Test
run: yarn d2-app-scripts test

release:
runs-on: ubuntu-latest
needs: [publish]
if: "github.event_name == 'push' && !contains(github.event.head_commit.message, '[skip ci]')"
needs: [build, lint, test]
if: "!github.event.push.repository.fork && github.actor != 'dependabot[bot]'"
steps:
- uses: actions/checkout@v2
with:
token: ${{env.GH_TOKEN}}
token: ${{ secrets.DHIS2_BOT_GITHUB_TOKEN }}

- uses: actions/setup-node@v1
with:
node-version: 12.x
node-version: 14.x

- uses: actions/download-artifact@v2
with:
name: app-build

# ensure that d2-app-scripts is available
- uses: c-hive/gha-yarn-cache@v1
- run: yarn install --frozen-lockfile

- name: Publish release to GitHub
run: npx @dhis2/cli-utils release
- uses: dhis2/action-semantic-release@master
with:
publish-apphub: true
publish-github: true
github-token: ${{ secrets.DHIS2_BOT_GITHUB_TOKEN }}
apphub-token: ${{ secrets.DHIS2_BOT_APPHUB_TOKEN }}

- uses: dhis2/deploy-build@master
with:
# uncomment following line for monorepo apps:
#cwd: ./packages/app
build-dir: build/app
github-token: ${{ secrets.DHIS2_BOT_GITHUB_TOKEN }}

0 comments on commit 26296c9

Please sign in to comment.