Skip to content

Feat: Cthub 146 - upload feedback (#147) #18

Feat: Cthub 146 - upload feedback (#147)

Feat: Cthub 146 - upload feedback (#147) #18

## For each release, the value of workflow name, branches, PR_NUMBER and RELEASE_NAME need to be adjusted accordingly
## Also change the .pipelin/lib/config.js version number
name: CTHUB v0.2.0
on:
push:
branches: [ release-0.2.0 ]
workflow_dispatch:
workflow_call:
env:
## The pull request number of the Tracking pull request to merge the release branch to main
PR_NUMBER: 73
RELEASE_NAME: release-0.2.0
jobs:
## This is the CI job
build:
name: Build CTHUB on Openshift
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
## it will checkout to /home/runner/work/cthub/cthub
- name: Check out repository
uses: actions/checkout@v3
# open it when cthub updated the python packages
#- name: Run django tests
# uses: kuanfandevops/django-test-action@cthub-django-test
# with:
# settings-dir-path: "backend/cthub"
# requirements-file: "backend/requirements.txt"
# managepy-dir: backend
## Log in to Openshift with a token of service account
- name: Log in to Openshift
uses: redhat-actions/[email protected]
with:
openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }}
openshift_token: ${{ secrets.OPENSHIFT_TOKEN }}
insecure_skip_tls_verify: true
namespace: ${{ secrets.OPENSHIFT_NAMESPACE_PLATE }}-tools
## Run build on Openshift
- name: Run build
run: |
cd .pipeline
npm install
npm run build -- --pr=${{ env.PR_NUMBER }} --env=build
deploy-on-dev:
name: Deploy CTHUB on Dev Environment
runs-on: ubuntu-latest
timeout-minutes: 60
needs: build
steps:
- name: Check out repository
uses: actions/checkout@v3
- name: Log in to Openshift
uses: redhat-actions/[email protected]
with:
openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }}
openshift_token: ${{ secrets.OPENSHIFT_TOKEN }}
insecure_skip_tls_verify: true
namespace: ${{ secrets.OPENSHIFT_NAMESPACE_PLATE }}-dev
- name: Run BCDK deployment on CTHUB Dev environment
run: |
cd .pipeline
echo "Deploying CTHUB ${{ env.RELEASE_NAME }} on Dev"
npm install
npm run deploy -- --pr=${{ env.PR_NUMBER }} --env=dev
deploy-on-test:
name: Deploy CTHUB on Test Environment
runs-on: ubuntu-latest
timeout-minutes: 60
needs: deploy-on-dev
steps:
- name: Check out repository
uses: actions/checkout@v3
- name: Log in to Openshift
uses: redhat-actions/[email protected]
with:
openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }}
openshift_token: ${{ secrets.OPENSHIFT_TOKEN }}
insecure_skip_tls_verify: true
namespace: ${{ secrets.OPENSHIFT_NAMESPACE_PLATE }}-test
- name: Ask for approval for CTHUB Test deployment
uses: trstringer/[email protected]
with:
secret: ${{ github.TOKEN }}
approvers: AlexZorkin,emi-hi,tim738745,kuanfandevops,jig-patel
minimum-approvals: 1
issue-title: "CTHUB ${{ env.RELEASE_NAME }} Test Deployment"
- name: Run BCDK deployment on CTHUB Test environment
run: |
cd .pipeline
echo "Deploying CTHUB ${{ env.RELEASE_NAME }} on Test"
npm install
npm run deploy -- --pr=${{ env.PR_NUMBER }} --env=test
deploy-on-prod:
name: Deploy CTHUB on Prod Environment
runs-on: ubuntu-latest
timeout-minutes: 60
needs: deploy-on-test
steps:
- name: Check out repository
uses: actions/checkout@v3
- name: Log in to Openshift
uses: redhat-actions/[email protected]
with:
openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }}
openshift_token: ${{ secrets.OPENSHIFT_TOKEN }}
insecure_skip_tls_verify: true
namespace: ${{ secrets.OPENSHIFT_NAMESPACE_PLATE }}-prod
- name: Ask for approval for CTHUB Prod deployment
uses: trstringer/[email protected]
with:
secret: ${{ github.TOKEN }}
approvers: AlexZorkin,kuanfandevops
minimum-approvals: 2
issue-title: "CTHUB ${{ env.RELEASE_NAME }} Prod Deployment"
- name: Run BCDK deployment on CTHUB Prod environment
run: |
cd .pipeline
echo "Deploying CTHUB ${{ env.RELEASE_NAME }} on Prod"
npm install
npm run deploy -- --pr=${{ env.PR_NUMBER }} --env=prod