From 26296c9169f1fa6bc19c531f1a85ad68b0add51c Mon Sep 17 00:00:00 2001 From: Mozafar Haider Date: Wed, 14 Feb 2024 16:15:55 +0000 Subject: [PATCH] chore: update verify-app github action --- .github/workflows/dhis2-verify-app.yml | 127 ++++++++++++------------- 1 file changed, 60 insertions(+), 67 deletions(-) diff --git a/.github/workflows/dhis2-verify-app.yml b/.github/workflows/dhis2-verify-app.yml index 8f8613c0..07fd04ec 100644 --- a/.github/workflows/dhis2-verify-app.yml +++ b/.github/workflows/dhis2-verify-app.yml @@ -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: 'apps@dhis2.org' GIT_COMMITTER_NAME: '@dhis2-bot' GIT_COMMITTER_EMAIL: 'apps@dhis2.org' - 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: @@ -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 }}