Skip to content

Commit dab27e1

Browse files
authored
Update pay-api-cd.yml
1 parent 82b2d00 commit dab27e1

File tree

1 file changed

+22
-111
lines changed

1 file changed

+22
-111
lines changed

.github/workflows/pay-api-cd.yml

+22-111
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Pay API CD
1+
name: PAY-API OCP
22

33
on:
44
push:
@@ -8,116 +8,27 @@ on:
88
- "pay-api/**"
99
workflow_dispatch:
1010
inputs:
11-
environment:
12-
description: "Environment (dev/test/prod)"
11+
target:
12+
description: "Deploy To"
1313
required: true
14-
default: "dev"
15-
16-
defaults:
17-
run:
18-
shell: bash
19-
working-directory: ./pay-api
20-
21-
env:
22-
APP_NAME: "pay-api"
23-
TAG_NAME: "dev"
14+
type: choice
15+
options:
16+
- dev
17+
- test
18+
- prod
2419

2520
jobs:
26-
pay-api-cd-by-push:
27-
runs-on: ubuntu-24.04
28-
29-
if: github.event_name == 'push' && github.repository == 'bcgov/sbc-pay'
30-
environment:
31-
name: "dev"
32-
33-
steps:
34-
- uses: actions/checkout@v4
35-
36-
- name: Install CLI tools from OpenShift Mirror
37-
uses: redhat-actions/openshift-tools-installer@v1
38-
with:
39-
oc: "4"
40-
41-
- name: Login Openshift
42-
shell: bash
43-
run: |
44-
oc login --server=${{secrets.OPENSHIFT4_LOGIN_REGISTRY}} --token=${{secrets.OPENSHIFT4_SA_TOKEN}}
45-
46-
- name: CD Flow
47-
shell: bash
48-
env:
49-
OPS_REPOSITORY: ${{ secrets.OPS_REPOSITORY }}
50-
OPENSHIFT_DOCKER_REGISTRY: ${{ secrets.OPENSHIFT4_DOCKER_REGISTRY }}
51-
OPENSHIFT_SA_NAME: ${{ secrets.OPENSHIFT4_SA_NAME }}
52-
OPENSHIFT_SA_TOKEN: ${{ secrets.OPENSHIFT4_SA_TOKEN }}
53-
OPENSHIFT_REPOSITORY: ${{ secrets.OPENSHIFT4_REPOSITORY }}
54-
TAG_NAME: ${{ env.TAG_NAME }}
55-
run: |
56-
make cd
57-
58-
- name: Watch new rollout (trigger by image change in Openshift)
59-
shell: bash
60-
run: |
61-
oc rollout status dc/${{ env.APP_NAME }}-${{ env.TAG_NAME }} -n ${{ secrets.OPENSHIFT4_REPOSITORY }}-${{ env.TAG_NAME }} -w
62-
63-
- name: Rocket.Chat Notification
64-
uses: RocketChat/Rocket.Chat.GitHub.Action.Notification@master
65-
if: failure()
66-
with:
67-
type: ${{ job.status }}
68-
job_name: "*Pay API Built and Deployed to ${{env.TAG_NAME}}*"
69-
channel: "#registries-bot"
70-
url: ${{ secrets.ROCKETCHAT_WEBHOOK }}
71-
commit: true
72-
token: ${{ secrets.GITHUB_TOKEN }}
73-
74-
pay-api-cd-by-dispatch:
75-
runs-on: ubuntu-24.04
76-
77-
if: github.event_name == 'workflow_dispatch' && github.repository == 'bcgov/sbc-pay'
78-
environment:
79-
name: "${{ github.event.inputs.environment }}"
80-
81-
steps:
82-
- uses: actions/checkout@v4
83-
- name: Set env by input
84-
run: |
85-
echo "TAG_NAME=${{ github.event.inputs.environment }}" >> $GITHUB_ENV
86-
87-
- name: Install CLI tools from OpenShift Mirror
88-
uses: redhat-actions/openshift-tools-installer@v1
89-
with:
90-
oc: "4"
91-
92-
- name: Login Openshift
93-
shell: bash
94-
run: |
95-
oc login --server=${{secrets.OPENSHIFT4_LOGIN_REGISTRY}} --token=${{secrets.OPENSHIFT4_SA_TOKEN}}
96-
97-
- name: CD Flow
98-
shell: bash
99-
env:
100-
OPS_REPOSITORY: ${{ secrets.OPS_REPOSITORY }}
101-
OPENSHIFT_DOCKER_REGISTRY: ${{ secrets.OPENSHIFT4_DOCKER_REGISTRY }}
102-
OPENSHIFT_SA_NAME: ${{ secrets.OPENSHIFT4_SA_NAME }}
103-
OPENSHIFT_SA_TOKEN: ${{ secrets.OPENSHIFT4_SA_TOKEN }}
104-
OPENSHIFT_REPOSITORY: ${{ secrets.OPENSHIFT4_REPOSITORY }}
105-
TAG_NAME: ${{ env.TAG_NAME }}
106-
run: |
107-
make cd
108-
109-
- name: Watch new rollout (trigger by image change in Openshift)
110-
shell: bash
111-
run: |
112-
oc rollout status dc/${{ env.APP_NAME }}-${{ env.TAG_NAME }} -n ${{ secrets.OPENSHIFT4_REPOSITORY }}-${{ env.TAG_NAME }} -w
113-
114-
- name: Rocket.Chat Notification
115-
uses: RocketChat/Rocket.Chat.GitHub.Action.Notification@master
116-
if: failure()
117-
with:
118-
type: ${{ job.status }}
119-
job_name: "*Pay API Built and Deployed to ${{env.TAG_NAME}}*"
120-
channel: "#registries-bot"
121-
url: ${{ secrets.ROCKETCHAT_WEBHOOK }}
122-
commit: true
123-
token: ${{ secrets.GITHUB_TOKEN }}
21+
pay-api-cd:
22+
uses: bcgov/bcregistry-sre/.github/workflows/backend-cd-ocp.yaml@main
23+
with:
24+
target: ${{ inputs.target }}
25+
app_name: "pay-api"
26+
working_directory: "./pay-api"
27+
secrets:
28+
OP_CONNECT_URL: ${{ secrets.OP_CONNECT_URL }}
29+
OP_CONNECT_TOKEN: ${{ secrets.OP_CONNECT_TOKEN }}
30+
OPENSHIFT_DOCKER_REGISTRY: ${{ secrets.OPENSHIFT4_DOCKER_REGISTRY }}
31+
OPENSHIFT_LOGIN_REGISTRY: ${{secrets.OPENSHIFT4_LOGIN_REGISTRY}}
32+
OPENSHIFT_SA_NAME: ${{ secrets.OPENSHIFT4_SA_NAME }}
33+
OPENSHIFT_SA_TOKEN: ${{ secrets.OPENSHIFT4_SA_TOKEN }}
34+
OPENSHIFT_REPOSITORY: ${{ secrets.OPENSHIFT4_REPOSITORY }}

0 commit comments

Comments
 (0)