From 69a3c53bba4bf30405fb4dc911f5e304a6a2b6a9 Mon Sep 17 00:00:00 2001 From: Jigar Patel Date: Thu, 23 Jan 2025 02:32:54 +0530 Subject: [PATCH] feat(provider): added cicd --- .github/workflows/build-image.yml | 3 ++ .github/workflows/create-github-release.yml | 2 + .github/workflows/create-pre-release-pr.yml | 1 + .../docker-build-provider-console.yml | 25 ++++++++++++ .../workflows/release-provider-console.yml | 40 +++++++++++++++++++ 5 files changed, 71 insertions(+) create mode 100644 .github/workflows/docker-build-provider-console.yml create mode 100644 .github/workflows/release-provider-console.yml diff --git a/.github/workflows/build-image.yml b/.github/workflows/build-image.yml index 74ea93585..10c52ac20 100644 --- a/.github/workflows/build-image.yml +++ b/.github/workflows/build-image.yml @@ -62,6 +62,9 @@ jobs: elif [[ "$tag" == provider-proxy/* ]]; then echo "registry=${{ vars.PROVIDER_PROXY_REGISTRY }}" >> $GITHUB_ENV echo "app=provider-proxy" >> $GITHUB_ENV + elif [[ "$tag" == provider-console/* ]]; then + echo "registry=${{ vars.PROVIDER_CONSOLE_REGISTRY }}" >> $GITHUB_ENV + echo "app=provider-console" >> $GITHUB_ENV else echo "Error: Unknown tag format = $tag" exit 1 diff --git a/.github/workflows/create-github-release.yml b/.github/workflows/create-github-release.yml index e03ef2c82..5e065b6f7 100644 --- a/.github/workflows/create-github-release.yml +++ b/.github/workflows/create-github-release.yml @@ -52,6 +52,8 @@ jobs: git_tag="console-api/v$git_tag" elif [ "${{ inputs.app }}" = "provider-proxy" ]; then git_tag="provider-proxy/v$git_tag" + elif [ "${{ inputs.app }}" = "provider-console" ]; then + git_tag="provider-console/v$git_tag" else echo "Error: Unsupported app type '${{ inputs.app }}'." exit 1 diff --git a/.github/workflows/create-pre-release-pr.yml b/.github/workflows/create-pre-release-pr.yml index 15610a97e..36269fa09 100644 --- a/.github/workflows/create-pre-release-pr.yml +++ b/.github/workflows/create-pre-release-pr.yml @@ -76,6 +76,7 @@ jobs: npm run release -w apps/api -- --verbose --ci npm run release -w apps/deploy-web -- --verbose --ci npm run release -w apps/provider-proxy -- --verbose --ci + npm run release -w apps/provider-console -- --verbose --ci - name: Get Base Branch SHA id: get-base-sha diff --git a/.github/workflows/docker-build-provider-console.yml b/.github/workflows/docker-build-provider-console.yml new file mode 100644 index 000000000..82bce80a9 --- /dev/null +++ b/.github/workflows/docker-build-provider-console.yml @@ -0,0 +1,25 @@ +name: Deploy Web CI + +on: + pull_request: + branches: ["main"] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + # Check for changes in provider-console folder + - uses: dorny/paths-filter@v2 + id: filter + with: + filters: | + provider-console: + - 'apps/provider-console/**' + + - name: Build the Docker image + if: steps.filter.outputs.provider-console == 'true' + run: packages/docker/script/dc.sh build provider-console --build-arg DEPLOYMENT_ENV=production diff --git a/.github/workflows/release-provider-console.yml b/.github/workflows/release-provider-console.yml new file mode 100644 index 000000000..8d143db56 --- /dev/null +++ b/.github/workflows/release-provider-console.yml @@ -0,0 +1,40 @@ +name: Release Deploy Web + +on: + push: + branches: + - main + paths: + - "apps/provider-console/package.json" + +jobs: + release: + name: Create Release + uses: ./.github/workflows/create-github-release.yml + secrets: inherit + with: + app: provider-console + + build-beta: + needs: release + name: Build Beta Docker image + uses: ./.github/workflows/build-image.yml + secrets: inherit + permissions: + contents: write + packages: write + with: + tag: ${{ needs.release.outputs.version }}-beta + deployment-env: staging + + build-prod: + needs: release + name: Build Prod Docker image + uses: ./.github/workflows/build-image.yml + secrets: inherit + permissions: + contents: write + packages: write + with: + tag: ${{ needs.release.outputs.version }} + deployment-env: production