From fc27e7c9d39fc697389347cfd1d71d57989843c4 Mon Sep 17 00:00:00 2001 From: Florent Gravin Date: Mon, 18 Sep 2023 10:01:17 +0200 Subject: [PATCH] geocat: customize runs proxy, nx, docker, github actions --- .github/workflows/artifacts.yml | 23 +++++++++++++------- .github/workflows/checks.yml | 33 ++++++++++++++++++++--------- .github/workflows/deploy.yml | 4 ++-- .github/workflows/snyk-security.yml | 2 +- .github/workflows/webcomponents.yml | 8 +++---- nx.json | 2 +- proxy-config.js | 2 +- tools/print-docker-tag.sh | 4 ++-- 8 files changed, 48 insertions(+), 30 deletions(-) diff --git a/.github/workflows/artifacts.yml b/.github/workflows/artifacts.yml index 73a86dab8..b92123156 100644 --- a/.github/workflows/artifacts.yml +++ b/.github/workflows/artifacts.yml @@ -6,7 +6,7 @@ run-name: 📦 Generate artifacts for ${{ github.event_name == 'issue_comment' & on: push: branches: - - main + - geocat release: types: [published] issue_comment: @@ -57,7 +57,10 @@ jobs: cache: 'npm' - name: Derive appropriate SHAs for base and head for `nx affected` commands - uses: nrwl/nx-set-shas@v3 + uses: nrwl/nx-set-shas@v4 + with: + main-branch-name: 'geocat' + fallback-sha: b5fac1a33b5c4df0f5db183ae09e956f3a327f51 - name: Install dependencies run: npm ci @@ -93,22 +96,26 @@ jobs: - name: Tag all docker images on main also as latest if: github.event_name == 'push' # only happens when pushing on the main branch - run: docker image ls --format 'docker tag {{.Repository}}:{{.Tag}} {{.Repository}}:latest' --filter=reference='geonetwork/*' | bash - + run: docker image ls --format 'docker tag {{.Repository}}:{{.Tag}} {{.Repository}}:latest' --filter=reference='camptocamp/*' | bash - - - name: Login to DockerHub + - name: Login to Github Packages uses: docker/login-action@v2 with: - username: ${{ secrets.DOCKER_HUB_USERNAME }} - password: ${{ secrets.DOCKER_HUB_PASSWORD }} + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} - name: Push all docker images # list all docker images, keep only the ones in the geonetwork org, and call docker push for each of them run: | - docker image ls --format '{{.Repository}}:{{.Tag}}' --filter=reference='geonetwork/*' | \ + docker image ls --format '{{.Repository}}:{{.Tag}}' --filter=reference='camptocamp/*' | \ + xargs -I '{}' docker tag '{}' ghcr.io/'{}' + docker image ls --format '{{.Repository}}:{{.Tag}}' |grep ghcr.io | \ xargs -r -L1 docker push $1 build-npm-package: - if: github.event_name != 'issue_comment' + # if: github.event_name != 'issue_comment' + if: false # disabled for geocat name: Build and publish NPM package runs-on: ubuntu-latest diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 89ef6b79b..901a830d6 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -10,7 +10,7 @@ env: on: push: branches: - - main + - geocat pull_request: types: [opened, synchronize, ready_for_review] @@ -18,7 +18,7 @@ on: # on QA checks concurrency: group: checks-${{ github.ref }} - cancel-in-progress: ${{ github.ref_name != 'main' }} + cancel-in-progress: ${{ github.ref_name != 'geocat' }} jobs: format-lint-test: @@ -38,16 +38,19 @@ jobs: node-version: ${{ env.NODE_VERSION }} cache: 'npm' - name: Derive appropriate SHAs for base and head for `nx affected` commands - uses: nrwl/nx-set-shas@v3 + uses: nrwl/nx-set-shas@v4 + with: + main-branch-name: 'geocat' + fallback-sha: b5fac1a33b5c4df0f5db183ae09e956f3a327f51 - run: npm ci - run: npx nx format:check - run: npx nx affected -t lint --parallel=3 - run: npx nx affected -t test --parallel=3 --configuration=ci --ci --codeCoverage --coverageReporters=lcov - - name: Coveralls - uses: coverallsapp/github-action@v2 - with: - allow-empty: true + # - name: Coveralls + # uses: coverallsapp/github-action@v2 + # with: + # allow-empty: true # - name: Archive Code Coverage Results (on main) # if: github.event_name != 'pull_request' @@ -87,7 +90,10 @@ jobs: node-version: ${{ env.NODE_VERSION }} cache: 'npm' - name: Derive appropriate SHAs for base and head for `nx affected` commands - uses: nrwl/nx-set-shas@v3 + uses: nrwl/nx-set-shas@v4 + with: + main-branch-name: 'geocat' + fallback-sha: b5fac1a33b5c4df0f5db183ae09e956f3a327f51 - run: npm ci - run: npx nx affected -t build --parallel=3 @@ -110,7 +116,10 @@ jobs: cache: 'npm' - name: Derive appropriate SHAs for base and head for `nx affected` commands - uses: nrwl/nx-set-shas@v3 + uses: nrwl/nx-set-shas@v4 + with: + main-branch-name: 'geocat' + fallback-sha: b5fac1a33b5c4df0f5db183ae09e956f3a327f51 - name: Install dependencies run: npm ci @@ -141,6 +150,7 @@ jobs: e2e-run: name: E2E tests / ${{ matrix.app }} / GN v${{ matrix.gn_version }} runs-on: ubuntu-latest + if: false # skip for geocat strategy: fail-fast: false matrix: @@ -162,7 +172,10 @@ jobs: cache: 'npm' - name: Derive appropriate SHAs for base and head for `nx affected` commands - uses: nrwl/nx-set-shas@v3 + uses: nrwl/nx-set-shas@v4 + with: + main-branch-name: 'geocat' + fallback-sha: b5fac1a33b5c4df0f5db183ae09e956f3a327f51 - name: Create pipeline docker image working-directory: tools diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 5d212747f..92a5043f8 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -9,7 +9,7 @@ env: on: push: branches: - - main + - geocat issue_comment: types: - edited @@ -38,7 +38,7 @@ jobs: name: Deploy docs, apps, Storybook to GitHub Pages runs-on: ubuntu-latest env: - BRANCH_NAME: ${{needs.checks.outputs.ref || 'main'}} + BRANCH_NAME: ${{needs.checks.outputs.ref || 'geocat'}} steps: - name: Dump GitHub event diff --git a/.github/workflows/snyk-security.yml b/.github/workflows/snyk-security.yml index 57461efd0..d0037e8a0 100644 --- a/.github/workflows/snyk-security.yml +++ b/.github/workflows/snyk-security.yml @@ -21,7 +21,7 @@ run-name: 🐺 Run Snyk on ${{ github.event_name == 'pull_request' && 'PR' || ' on: push: - branches: ['main'] + branches: ['geocat'] pull_request: types: [opened, synchronize, ready_for_review] diff --git a/.github/workflows/webcomponents.yml b/.github/workflows/webcomponents.yml index fbcea2887..862a1e0f7 100644 --- a/.github/workflows/webcomponents.yml +++ b/.github/workflows/webcomponents.yml @@ -5,9 +5,7 @@ run-name: 🧩 Build Web Components for ${{ github.event_name == 'issue_comment' on: push: branches: - - main - tags: - - 'v*.*.*' + - geocat release: types: [published] @@ -56,10 +54,10 @@ jobs: tag: ${{ github.ref }} overwrite: true - - name: Publish web component to ${{ env.PUBLISH_BRANCH }}-${{ github.ref_name }} branch + - name: Publish web component to ${{ env.PUBLISH_BRANCH }} branch uses: peaceiris/actions-gh-pages@v3 with: github_token: ${{ secrets.GITHUB_TOKEN }} force_orphan: true publish_dir: ./wc-dist - publish_branch: ${{ env.PUBLISH_BRANCH }}-${{ github.ref_name }} + publish_branch: ${{ env.PUBLISH_BRANCH }} diff --git a/nx.json b/nx.json index 561c05319..e8e66f2e9 100644 --- a/nx.json +++ b/nx.json @@ -1,6 +1,6 @@ { "affected": { - "defaultBase": "remotes/origin/main" + "defaultBase": "remotes/geocat/geocat" }, "npmScope": "geonetwork-ui", "tasksRunnerOptions": { diff --git a/proxy-config.js b/proxy-config.js index e492ffdbc..54bae27fa 100644 --- a/proxy-config.js +++ b/proxy-config.js @@ -1,6 +1,6 @@ module.exports = { '/geonetwork': { - target: 'http://localhost:8080', + target: 'https://www.geocat.ch', secure: true, logLevel: 'debug', changeOrigin: true, diff --git a/tools/print-docker-tag.sh b/tools/print-docker-tag.sh index d86b7bb3c..b40c693a3 100755 --- a/tools/print-docker-tag.sh +++ b/tools/print-docker-tag.sh @@ -9,8 +9,8 @@ gitTag=$(git describe --exact-match --tags 2>/dev/null | sed "s/^v//") # remove gitBranch=$(git symbolic-ref --short HEAD) gitRef=$(git rev-parse --short HEAD) dockerTag=${gitTag:-${gitBranch}} -if [ ${dockerTag} == "main" ]; then +if [ ${dockerTag} == "geocat" ]; then dockerTag=${dockerTag}-${gitRef} fi -echo "geonetwork/geonetwork-ui-${appName}:${dockerTag}" +echo "camptocamp/geocat-geonetwork-ui-${appName}:${dockerTag}"