CTHUB v0.2.0 #17
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
## 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 |