Skip to content

Merge pull request #6 from kunalmemane/development #1

Merge pull request #6 from kunalmemane/development

Merge pull request #6 from kunalmemane/development #1

name: Test, Build and Deploy Area Calculator in Production
on:
workflow_dispatch:
push:
branches:
- main # Trigger on push to the main branch
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.22'
- name: Run Test
run: make test
- name: Build application
run: make build
# s2i build and upload to quay
- name: Install s2i
run: |
wget https://github.com/openshift/source-to-image/releases/download/v1.1.14/source-to-image-v1.1.14-874754de-linux-386.tar.gz
tar -xvf source-to-image-v1.1.14-874754de-linux-386.tar.gz
sudo mv s2i /usr/local/bin
- name: s2i-build
run: |
sudo s2i build . quay.io/rh-ee-kmemane/go-s2i-builder quay.io/rh-ee-kmemane/area-calculator
sudo docker images
- name: Push Application image to quay
run: |
sudo docker login quay.io -u "${{ secrets.QUAY_USERNAME }}" -p "${{ secrets.QUAY_PASSWORD }}"
sudo docker push quay.io/rh-ee-kmemane/area-calculator
# deploy application in ocp cluster
- name: Authenticate and set context
uses: redhat-actions/oc-login@v1
env:
OPENSHIFT_USER: rh-ee-kmemane
OPENSHIFT_NAMESPACE: rh-ee-kmemane-dev
with:
openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }}
openshift_token: ${{ secrets.OPENSHIFT_TOKEN }}
insecure_skip_tls_verify: true
namespace: ${{ env.OPENSHIFT_NAMESPACE }}
- name: Deploy application
run: |
if oc get svc -l app=area-calculator-prod --ignore-not-found; then
oc delete svc,deployment,route,imagestream --selector app=area-calculator-prod;
echo "deleted all resources with label app=area-calculator-prod";
fi
oc new-app quay.io/rh-ee-kmemane/area-calculator --name=area-calculator-prod --labels=app=area-calculator-prod,env=prod
oc expose svc area-calculator-prod --labels=env=prod
oc get routes -l app=area-calculator-prod