feat: White glove support #3776
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: Catalog UI - PR Workflow | |
on: | |
push: | |
paths: | |
- catalog/** | |
branches: | |
- main | |
pull_request: | |
paths: | |
- catalog/** | |
branches: | |
- main | |
jobs: | |
test: | |
name: "UI Tests" | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: ["ubuntu-latest"] | |
node: ["20"] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Setup node | |
uses: actions/setup-node@v2 | |
with: | |
node-version: ${{ matrix.node }} | |
cache: "npm" | |
cache-dependency-path: ./catalog/ui/package-lock.json | |
- name: Install npm@8 | |
working-directory: ./catalog/ui | |
run: npm i -g npm@8 | |
- name: Install packages | |
working-directory: ./catalog/ui | |
run: npm ci --prefer-offline | |
- name: Run integration tests | |
working-directory: ./catalog/ui | |
run: npm run test | |
shell: bash | |
deploy: | |
needs: test | |
name: "Deploy on OpenShift (BabyDev)" | |
if: ${{ github.actor != 'dependabot[bot]' }} | |
runs-on: ubuntu-latest | |
env: | |
APP_NAME: babylon-catalog-ui | |
CONTAINER_NAME: ui | |
IMAGE_TAGS: ${{ secrets.REGISTRY_URI }}/${{ secrets.GPTE_REGISTRY_REPOSITORY }}/babylon-catalog-ui:${{ github.sha }} | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up buildx | |
uses: docker/setup-buildx-action@v1 | |
if: env.IMAGE_TAGS | |
- name: Login to redhat.io registry | |
uses: docker/login-action@v1 | |
if: env.IMAGE_TAGS | |
with: | |
registry: ${{ secrets.REDHAT_REGISTRY_URI }} | |
username: ${{ secrets.REDHAT_REGISTRY_USERNAME }} | |
password: ${{ secrets.REDHAT_REGISTRY_PASSWORD }} | |
- name: Login to quay.io registry | |
uses: docker/login-action@v1 | |
if: env.IMAGE_TAGS | |
with: | |
registry: ${{ secrets.REGISTRY_URI }} | |
username: ${{ secrets.GPTE_REGISTRY_USERNAME }} | |
password: ${{ secrets.GPTE_REGISTRY_PASSWORD }} | |
- name: Build and publish image | |
uses: docker/build-push-action@v2 | |
if: env.IMAGE_TAGS | |
with: | |
registry: ${{ secrets.REGISTRY_URI }} | |
context: catalog/ui | |
file: catalog/ui/Dockerfile | |
build-args: | | |
MONITOR_ENABLED=false | |
TRACKING_ENABLED=false | |
OPTIONAL_FLAGS=default | |
push: true | |
tags: ${{ env.IMAGE_TAGS }} | |
# images from a PR expire after 14d | |
labels: | | |
quay.expires-after=14d | |
- name: Log in to OpenShift | |
if: env.IMAGE_TAGS | |
uses: redhat-actions/oc-login@v1 | |
with: | |
openshift_server_url: ${{ secrets.OPENSHIFT_BABYDEV_SERVER }} | |
openshift_token: ${{ secrets.OPENSHIFT_BABYDEV_TOKEN }} | |
insecure_skip_tls_verify: true | |
namespace: ${{ secrets.OPENSHIFT_BABYDEV_NAMESPACE }} | |
- name: Deploy | |
if: env.IMAGE_TAGS | |
run: | | |
"${GITHUB_WORKSPACE}/.github/update-deployment.sh" ${{ env.APP_NAME }} ${{ env.IMAGE_TAGS }} ${{ secrets.OPENSHIFT_BABYDEV_NAMESPACE }} ${{ env.CONTAINER_NAME }} |