Merge pull request #13 from philips-forks/release-version

Updating Release Version workflow
This commit is contained in:
aswin-in-philips 2022-07-11 18:43:51 +05:30 committed by GitHub
commit 818c693632
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 126 additions and 179 deletions

View File

@ -1,4 +1,4 @@
name: CI-INTEGRATED
name: CI
on:
push:
@ -108,6 +108,9 @@ jobs:
Build:
needs: [Init]
runs-on: ubuntu-20.04
outputs:
envoyAlphaTag: ${{ steps.setVariables.outputs.alphaTag }}
ciImage: ${{ steps.setVariables.outputs.ciImage }}
steps:
- uses: actions/checkout@v2
@ -133,12 +136,13 @@ jobs:
- name: Set env variables
run: |
new_version=`cat VERSION`
alpha_tag="${new_version}-alpha"
echo "New version is: $new_version"
echo "VERSION=$new_version" >> "$GITHUB_ENV"
echo "CI_IMAGE=${{ env.HSDP_DOCKER_REGISTRY }}/edi-foundation-oauth2-proxy:${new_version}-alpha" >> "$GITHUB_ENV"
echo "CI_IMAGE=${{ env.HSDP_DOCKER_REGISTRY }}/edi-foundation-oauth2-proxy:${new_version}-${alpha_tag}" >> "$GITHUB_ENV"
echo "::set-output name=ciImage::${{ env.CI_IMAGE }}"
echo "CI_LATEST_IMAGE=${{ env.HSDP_DOCKER_REGISTRY }}/edi-foundation-oauth2-proxy:latest" >> "$GITHUB_ENV"
echo "BRANCH_IMAGE=${{ env.HSDP_DOCKER_REGISTRY }}/edi-foundation-oauth2-proxy:${{ steps.branch.outputs.branch_name }}-${new_version}" >> "$GITHUB_ENV"
echo "RC_IMAGE=${{ env.HSDP_DOCKER_REGISTRY }}/edi-foundation-oauth2-proxy:${new_version}-rc" >> "$GITHUB_ENV"
echo "::set-output name=alphaTag::${alpha_tag}"
- name: Docker Build
run: |
@ -150,28 +154,27 @@ jobs:
- name: Docker tag
run: |
docker tag '${{ secrets.DOCKER_REPO }}'/oauth2-proxy:latest ${{ env.BRANCH_IMAGE }}
docker push ${{ env.BRANCH_IMAGE }}
docker tag '${{ secrets.DOCKER_REPO }}'/oauth2-proxy:latest ${{ env.CI_IMAGE }}
docker tag ${{ env.CI_IMAGE }} ${{ env.CI_LATEST_IMAGE }}
docker push ${{ env.CI_LATEST_IMAGE }}
docker push ${{ env.CI_IMAGE }}
- name: Docker Push
if: github.ref == 'refs/heads/edi-foundation-integration'
run: |
docker tag ${{ env.BRANCH_IMAGE }} ${{ env.CI_IMAGE }}
docker push ${{ env.CI_IMAGE }}
Deploy_And_GW_Integrated_Test:
Deploy_Test_HDS_AUTH_GATEWAY:
needs: [Build, Blackduck, Fortify, unit-test]
if: github.ref == 'refs/heads/edi-foundation-integration'
uses: ./.github/workflows/api-gw-integrated-test.yaml
uses: ./.github/workflows/deploy-hds-auth-gateway.yaml
with:
OAUTH2_PROXY_IMAGE: ${{ needs.Build.outputs.envoyAlphaTag }}
secrets:
VAULT_HOST: ${{ secrets.VAULT_HOST }}
VAULT_ROLE_ID: ${{ secrets.VAULT_ROLE_ID }}
VAULT_SECRET_ID: ${{ secrets.VAULT_SECRET_ID }}
Release:
Promote_Version:
needs: [Deploy_Test_HDS_AUTH_GATEWAY]
if: github.ref == 'refs/heads/edi-foundation-integration'
needs: Deploy_And_GW_Integrated_Test
runs-on: ubuntu-20.04
outputs:
versionTag: ${{ steps.setVariables.outputs.versionTag }}
steps:
- uses: actions/checkout@v2
@ -190,17 +193,32 @@ jobs:
devops/data/docker-repos/hsdp-edi password | HSDP_DOCKER_PASSWORD ;
- name: Set env variables
id: setVariables
run: |
new_version=`cat VERSION`
echo "New version is: $new_version"
echo "CI_IMAGE=${{ env.HSDP_DOCKER_REGISTRY }}/edi-foundation-oauth2-proxy:${new_version}-alpha" >> "$GITHUB_ENV"
echo "CI_LATEST_IMAGE=${{ env.HSDP_DOCKER_REGISTRY }}/edi-foundation-oauth2-proxy:latest" >> "$GITHUB_ENV"
echo "RC_IMAGE=docker.na1.hsdp.io/edisp-releases/edi-foundation-oauth2-proxy:${new_version}-rc" >> "$GITHUB_ENV"
echo "::set-output name=versionTag::${new_version}-rc"
echo "${new_version}-rc"
- name: Login to Docker Repo
run: docker login ${{ env.HSDP_DOCKER_REGISTRY }} --username ${{ env.HSDP_DOCKER_USER }} --password ${{ env.HSDP_DOCKER_PASSWORD }}
- name: Docker login
run: |
docker login --username '${{ secrets.DOCKER_USER }}' --password '${{ secrets.DOCKER_PSWD }}' '${{ secrets.DOCKER_REPO }}'
- name: Docker Push
run: |
docker pull ${{ env.CI_IMAGE }}
docker tag ${{ env.CI_IMAGE }} ${{ env.RC_IMAGE }}
docker push ${{ env.RC_IMAGE }}
docker push ${{ env.RC_IMAGE }}
Replace_OAuth2_Proxy_Tag_in_Terraform_API_Gateway:
needs: [Promote_Version]
if: github.ref == 'refs/heads/edi-foundation-integration'
uses: ./.github/workflows/update-oauth2-proxy-version-at-api-gw.yaml
with:
OAUTH2_PROXY_IMAGE: ${{ needs.Promote_Version.outputs.versionTag }}
secrets:
VAULT_HOST: ${{ secrets.VAULT_HOST }}
VAULT_ROLE_ID: ${{ secrets.VAULT_ROLE_ID }}
VAULT_SECRET_ID: ${{ secrets.VAULT_SECRET_ID }}

View File

@ -1,20 +1,22 @@
name: CI-GATED
name: Deploy HDS Auth Gateway with a given Oauth2 Proxy Image Tag
on:
pull_request:
branches: [ edi-foundation-integration ]
workflow_dispatch:
on:
workflow_call:
inputs:
OAUTH2_PROXY_IMAGE:
type: string
required: true
secrets:
VAULT_HOST:
required: true
VAULT_ROLE_ID:
required: true
VAULT_SECRET_ID:
required: true
jobs:
Wokflow-Queue:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: ahmadnassri/action-workflow-queue@v1
Gated:
needs: [Wokflow-Queue]
runs-on: ubuntu-20.04
Deploy_HDS_Auth_Gateway_With_Token_Authenticator_Image:
runs-on: ubuntu-20.04
steps:
- name: Import Secrets
id: secrets
@ -33,5 +35,6 @@ jobs:
owner: philips-internal
repo: hds-auth-gateway
github_token: ${{ env.GITHUB_TOKEN }}
client_payload: '{"oauth2proxytag": "${{ inputs.OAUTH2_PROXY_IMAGE }}"}'
workflow_file_name: ci.yaml
ref: master

View File

@ -0,0 +1,40 @@
name: Update OAuth2 Proxy version at API-GW
on:
workflow_call:
inputs:
OAUTH2_PROXY_IMAGE:
type: string
required: true
secrets:
VAULT_HOST:
required: true
VAULT_ROLE_ID:
required: true
VAULT_SECRET_ID:
required: true
jobs:
Deploy:
runs-on: ubuntu-20.04
steps:
- name: Import Secrets
id: secrets
uses: hashicorp/vault-action@v2.3.1
with:
url: ${{ secrets.VAULT_HOST }}
method: approle
roleId: ${{ secrets.VAULT_ROLE_ID }}
secretId: ${{ secrets.VAULT_SECRET_ID }}
exportEnv: true
secrets: |
devops/data/github/users/sal-devops token | GITHUB_TOKEN ;
- uses: convictional/trigger-workflow-and-wait@v1.6.1
with:
owner: philips-internal
repo: terraform-api-gateway
github_token: ${{ env.GITHUB_TOKEN }}
client_payload: '{"oauth2proxytag": "${{ inputs.OAUTH2_PROXY_IMAGE }}"}'
workflow_file_name: set-images-version.yml
ref: main

View File

@ -1,144 +0,0 @@
name: Deploy CI
on:
workflow_call:
secrets:
INNER_SOURCE_ACTIONS_APP_ID:
required: true
INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64:
required: true
GH_PAT_TOKEN:
required: true
HSDP_DOCKER_USER:
required: true
HSDP_DOCKER_PASSWORD:
required: true
CODESCENE_CI_CD_GITHUB_TOKEN:
required: true
ARM_CLIENT_ID:
required: true
ARM_CLIENT_SECRET:
required: true
env:
TF_IN_AUTOMATION: true
ARM_SUBSCRIPTION_ID: 74d03f75-4bdb-4666-8095-500178a40764
ARM_TENANT_ID: 1a407a2d-7675-4d17-8692-b3ac285306e4
jobs:
terragrunt-workflow-core:
name: Terragrunt - core
runs-on: ubuntu-20.04
container: alpine/terragrunt:1.0.1
outputs:
core: ${{ steps.tf_output.outputs.core }}
env:
ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }}
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
defaults:
run:
working-directory: ./deploy/ci-gated/core
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v1
- id: inner-source-action
uses: ./.github/workflows/innersource-action
with:
GH_PAT_TOKEN: ${{ secrets.GH_PAT_TOKEN }}
INNER_SOURCE_ACTIONS_APP_ID: ${{ secrets.INNER_SOURCE_ACTIONS_APP_ID }}
INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64: ${{ secrets.INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64 }}
- id: plan
uses: ./../.actions/terragrunt-plan-action
with:
working-directory: ./deploy/ci-gated/core
key: client-test-core-plan
- id: apply
uses: ./../.actions/terragrunt-apply-action
with:
working-directory: ./deploy/ci-gated/core
key: client-test-core-plan
- id: output
uses: ./.github/workflows/terragrunt-output-action
with:
working-directory: ./deploy/ci-gated/core
key: client-test-core-output
terragrunt-workflow-cloudfoundry:
name: Terragrunt - cloudfoundry
runs-on: ubuntu-20.04
needs: [terragrunt-workflow-core]
container: alpine/terragrunt:1.0.1
env:
ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }}
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
defaults:
run:
working-directory: ./deploy/ci-gated/cloudfoundry
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v1
- id: inner-source-action
uses: ./.github/workflows/innersource-action
with:
GH_PAT_TOKEN: ${{ secrets.GH_PAT_TOKEN }}
INNER_SOURCE_ACTIONS_APP_ID: ${{ secrets.INNER_SOURCE_ACTIONS_APP_ID }}
INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64: ${{ secrets.INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64 }}
- id: plan
uses: ./../.actions/terragrunt-plan-action
with:
working-directory: ./deploy/ci-gated/cloudfoundry
key: client-test-cloudfoundry-plan
- id: apply
uses: ./../.actions/terragrunt-apply-action
with:
working-directory: ./deploy/ci-gated/cloudfoundry
key: client-test-cloudfoundry-plan
terragrunt-workflow-api-gateway:
name: Terragrunt - api-gateway
runs-on: ubuntu-20.04
needs: [terragrunt-workflow-cloudfoundry]
container: alpine/terragrunt:1.0.1
env:
ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }}
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
CONFIG: ./envoyconfig_without_multitenancy.yml
SOURCE: url
defaults:
run:
working-directory: ./deploy/ci-gated/api-gateway
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v1
- id: inner-source-action
uses: ./.github/workflows/innersource-action
with:
GH_PAT_TOKEN: ${{ secrets.GH_PAT_TOKEN }}
INNER_SOURCE_ACTIONS_APP_ID: ${{ secrets.INNER_SOURCE_ACTIONS_APP_ID }}
INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64: ${{ secrets.INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64 }}
- id: plan
uses: ./../.actions/terragrunt-plan-action
with:
working-directory: ./deploy/ci-gated/api-gateway
key: client-test-api-gateway-plan
- id: apply
uses: ./../.actions/terragrunt-apply-action
with:
working-directory: ./deploy/ci-gated/api-gateway
key: client-test-api-gateway-plan
- id: output
uses: ./.github/workflows/terragrunt-output-action
with:
working-directory: ./deploy/ci-gated/api-gateway
key: client-test-api-gateway-output

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v3.1", FrameworkDisplayName = "")]

View File

@ -0,0 +1,22 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Philips")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.2.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.2")]
[assembly: System.Reflection.AssemblyProductAttribute("Philips.EDI.Foundation.APIGateway.AutomationTest")]
[assembly: System.Reflection.AssemblyTitleAttribute("Philips.EDI.Foundation.APIGateway.AutomationTest")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.2.0")]
// Generated by the MSBuild WriteCodeFragment class.

View File

@ -0,0 +1 @@
7d70c0bc511987c3ae105cb98159f5949d6dabfa

View File

@ -0,0 +1,3 @@
is_global = true
build_property.RootNamespace = Philips.EDI.Foundation.APIGateway.AutomationTest
build_property.ProjectDir = c:\oauth2-proxy\AutomationTest\