Processors_CI_CD_Prod_Workflow #7
This file contains hidden or 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
| name: Processors_CI_CD_Prod_Workflow # Define the name of the workflow | |
| # Define when the workflow should trigger | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| release_tag: | |
| description: "Select Git tag (applies to both knowhow-processors & knowhow-common)" | |
| required: true | |
| type: string | |
| default: "14.0.0" | |
| deploy: | |
| description: 'Do you want to deploy after build?' | |
| required: true | |
| default: 'true' | |
| type: choice | |
| options: | |
| - "false" | |
| - "true" | |
| processor: | |
| description: 'Processor to build and deploy' | |
| required: true | |
| default: 'all' | |
| type: choice | |
| options: | |
| - all | |
| - jira | |
| - azureboard | |
| - azurepipelines | |
| - devops | |
| - rally-processor | |
| - scm-processor | |
| - ai-data-processor | |
| - jira-xray-zephyr-squad | |
| - jira-zephyr-scale | |
| # Define environment variables | |
| env: | |
| JIRA_NAME: knowhow-processors-jira | |
| JIRA_XRAY_ZEPHYR_SQUAD_NAME: knowhow-processors-jira-xray-zephyr-squad | |
| JIRA_ZEPHYR_SCALE_NAME: knowhow-processors-jira-zephyr-scale | |
| DEVOPS_NAME: knowhow-processors-devops-processor | |
| AZUREBOARD_NAME: knowhow-processors-azure-boards | |
| AZUREPIPELINE_NAME: knowhow-processors-azure-pipeline-repo-processor | |
| RALLY_NAME: knowhow-processors-rally | |
| SCM_NAME: knowhow-processors-knowhow-scm-processor | |
| AI_DATA_PROCESSOR_NAME: knowhow-processors-ai-data-processor | |
| ACR_NAME: ${{ secrets.SPEEDTOOLS_ACR_NAME }} # without .azurecr.io | |
| ACR_LOGIN_SERVER: ${{ secrets.SPEEDTOOLS_ACR_LOGIN_SERVER }} # e.g. myacr.azurecr.io | |
| BITBUCKET_HELM_REPO: ${{ secrets.SPEEDTOOLS_BITBUCKET_HELM_REPO }} # HTTPS clone URL (without creds) | |
| GITHUB_HEAD_NAME: $GITHUB_HEAD_REF # Store the head branch name | |
| sonartoken: ${{ secrets.SONARQUBE_TOKEN }} # Secret for SonarQube authentication | |
| sonarurl: ${{ secrets.SONARURL }} # SonarQube URL stored in secrets | |
| SONAR_PROJECT_KEY: ENGINEERING.KPIDASHBOARD.PROCESSORS | |
| SONAR_PROJECT_NAME: ENGINEERING.KPIDASHBOARD.PROCESSORS | |
| jobs: | |
| # ✅ Building & Testing Processors | |
| build: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 40 | |
| steps: | |
| - name: Set IMAGE_TAG for Prod | |
| run: | | |
| echo "IMAGE_TAG=${{ github.event.inputs.release_tag }}" >> $GITHUB_ENV | |
| echo "VALUES_FILE=values-prod.yaml" >> $GITHUB_ENV | |
| - name: Checkout Repository | |
| uses: actions/checkout@v2 | |
| - name: Set Up Java | |
| uses: actions/setup-java@v2 | |
| with: | |
| distribution: 'adopt' | |
| java-version: '17' | |
| - name: Cache Maven packages | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.m2/repository | |
| key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-maven- | |
| - name: Configure Maven to use GitHub Packages | |
| run: | | |
| mkdir -p ~/.m2 | |
| cat > ~/.m2/settings.xml <<EOF | |
| <settings> | |
| <servers> | |
| <server> | |
| <id>github</id> | |
| <username>${{ github.actor }}</username> | |
| <password>${{ secrets.MAVEN_TOKEN }}</password> | |
| </server> | |
| </servers> | |
| <profiles> | |
| <profile> | |
| <id>github</id> | |
| <repositories> | |
| <repository> | |
| <id>github</id> | |
| <url>https://maven.pkg.github.com/PublicisSapient/knowhow-retro-notifications-lib</url> | |
| </repository> | |
| </repositories> | |
| </profile> | |
| </profiles> | |
| <activeProfiles> | |
| <activeProfile>github</activeProfile> | |
| </activeProfiles> | |
| </settings> | |
| EOF | |
| - name: Clone & Build knowhow-common dependency | |
| run: | | |
| BRANCH_TO_CLONE="${{ github.event.inputs.release_tag }}" | |
| git clone --branch $BRANCH_TO_CLONE https://github.com/PublicisSapient/knowhow-common.git | |
| cd knowhow-common | |
| mvn clean install -Ddockerfile.skip=true | |
| - name: Get common version using Maven Help Plugin | |
| run: | | |
| cd knowhow-common | |
| COMMON_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout) | |
| echo "COMMON_VERSION=$COMMON_VERSION" | |
| echo "COMMON_VERSION=$COMMON_VERSION" >> $GITHUB_ENV | |
| - name: Updating the common version in processor project | |
| run: | | |
| mvn versions:use-dep-version \ | |
| -Dincludes=com.publicissapient.kpidashboard:common \ | |
| -DdepVersion=$COMMON_VERSION \ | |
| -DforceVersion=true | |
| - name: Build & Test Processor | |
| run: | | |
| mvn clean install -Ddockerfile.skip=true | |
| # - name: SonarQube Analysis - Processors | |
| # run: | | |
| # mvn sonar:sonar -Dsonar.projectKey=ENGINEERING.KPIDASHBOARD.PROCESSORS \ | |
| # -Dsonar.projectName=ENGINEERING.KPIDASHBOARD.PROCESSORS \ | |
| # -Dsonar.branch.name=${{ env.GITHUB_HEAD_NAME }} \ | |
| # -Dsonar.host.url=${{ secrets.SONARQUBE_HOST }} \ | |
| # -Dsonar.login=${{ secrets.SONARQUBE_TOKEN }} -f pom.xml | |
| # - name: Check SonarQube Quality Gate | |
| # run: | | |
| # chmod +x SonarQG.sh | |
| # ./SonarQG.sh ./target/sonar/report-task.txt | |
| - name: Build & Push Jira Docker Image | |
| if: ${{ github.event.inputs.processor == 'all' || github.event.inputs.processor == 'jira' }} | |
| run: | | |
| docker login $ACR_LOGIN_SERVER --username ${{ secrets.SPEEDTOOLS_ACR_USERNAME }} --password ${{ secrets.SPEEDTOOLS_ACR_PASSWORD }} | |
| docker build -t $ACR_LOGIN_SERVER/$JIRA_NAME:$IMAGE_TAG jira/. | |
| docker push $ACR_LOGIN_SERVER/$JIRA_NAME:$IMAGE_TAG | |
| echo "IMAGE_TAG=$IMAGE_TAG" >> $GITHUB_ENV | |
| - name: Build & Push JIRA xray squad TEST Docker Image | |
| if: ${{ github.event.inputs.processor == 'all' || github.event.inputs.processor == 'jira-xray-zephyr-squad' }} | |
| run: | | |
| docker login $ACR_LOGIN_SERVER --username ${{ secrets.SPEEDTOOLS_ACR_USERNAME }} --password ${{ secrets.SPEEDTOOLS_ACR_PASSWORD }} | |
| docker build -t $ACR_LOGIN_SERVER/$JIRA_XRAY_ZEPHYR_SQUAD_NAME:$IMAGE_TAG jira-xray-zephyr-squad/. | |
| docker push $ACR_LOGIN_SERVER/$JIRA_XRAY_ZEPHYR_SQUAD_NAME:$IMAGE_TAG | |
| echo "IMAGE_TAG=$IMAGE_TAG" >> $GITHUB_ENV | |
| - name: Build & Push JIRA Zephyr Docker Image | |
| if: ${{ github.event.inputs.processor == 'all' || github.event.inputs.processor == 'jira-zephyr-scale' }} | |
| run: | | |
| docker login $ACR_LOGIN_SERVER --username ${{ secrets.SPEEDTOOLS_ACR_USERNAME }} --password ${{ secrets.SPEEDTOOLS_ACR_PASSWORD }} | |
| docker build -t $ACR_LOGIN_SERVER/$JIRA_ZEPHYR_SCALE_NAME:$IMAGE_TAG jira-zephyr-scale/. | |
| docker push $ACR_LOGIN_SERVER/$JIRA_ZEPHYR_SCALE_NAME:$IMAGE_TAG | |
| echo "IMAGE_TAG=$IMAGE_TAG" >> $GITHUB_ENV | |
| - name: Build & Push DevOps Docker Image | |
| if: ${{ github.event.inputs.processor == 'all' || github.event.inputs.processor == 'devops' }} | |
| run: | | |
| docker login $ACR_LOGIN_SERVER --username ${{ secrets.SPEEDTOOLS_ACR_USERNAME }} --password ${{ secrets.SPEEDTOOLS_ACR_PASSWORD }} | |
| docker build -t $ACR_LOGIN_SERVER/$DEVOPS_NAME:$IMAGE_TAG -f devops-processor-startup/Dockerfile . | |
| docker push $ACR_LOGIN_SERVER/$DEVOPS_NAME:$IMAGE_TAG | |
| echo "IMAGE_TAG=$IMAGE_TAG" >> $GITHUB_ENV | |
| - name: Build & Push Rally Docker Image | |
| if: ${{ github.event.inputs.processor == 'all' || github.event.inputs.processor == 'rally-processor' }} | |
| run: | | |
| docker login $ACR_LOGIN_SERVER --username ${{ secrets.SPEEDTOOLS_ACR_USERNAME }} --password ${{ secrets.SPEEDTOOLS_ACR_PASSWORD }} | |
| docker build -t $ACR_LOGIN_SERVER/$RALLY_NAME:$IMAGE_TAG rally/. | |
| docker push $ACR_LOGIN_SERVER/$RALLY_NAME:$IMAGE_TAG | |
| echo "IMAGE_TAG=$IMAGE_TAG" >> $GITHUB_ENV | |
| - name: Build & Push AzureBoard Docker Image | |
| if: ${{ github.event.inputs.processor == 'all' || github.event.inputs.processor == 'azureboard' }} | |
| run: | | |
| docker login $ACR_LOGIN_SERVER --username ${{ secrets.SPEEDTOOLS_ACR_USERNAME }} --password ${{ secrets.SPEEDTOOLS_ACR_PASSWORD }} | |
| docker build -t $ACR_LOGIN_SERVER/$AZUREBOARD_NAME:$IMAGE_TAG azure-boards/. | |
| docker push $ACR_LOGIN_SERVER/$AZUREBOARD_NAME:$IMAGE_TAG | |
| echo "IMAGE_TAG=$IMAGE_TAG" >> $GITHUB_ENV | |
| - name: Build & Push Azure Pipeline repo Docker Image | |
| if: ${{ github.event.inputs.processor == 'all' || github.event.inputs.processor == 'azurepipelines' }} | |
| run: | | |
| docker login $ACR_LOGIN_SERVER --username ${{ secrets.SPEEDTOOLS_ACR_USERNAME }} --password ${{ secrets.SPEEDTOOLS_ACR_PASSWORD }} | |
| docker build -t $ACR_LOGIN_SERVER/$AZUREPIPELINE_NAME:$IMAGE_TAG -f azure-pipeline-repo-processor-startup/Dockerfile . | |
| docker push $ACR_LOGIN_SERVER/$AZUREPIPELINE_NAME:$IMAGE_TAG | |
| echo "IMAGE_TAG=$IMAGE_TAG" >> $GITHUB_ENV | |
| - name: Build & Push SCM Processor Docker Image | |
| if: ${{ github.event.inputs.processor == 'all' || github.event.inputs.processor == 'scm-processor' }} | |
| run: | | |
| docker login $ACR_LOGIN_SERVER --username ${{ secrets.SPEEDTOOLS_ACR_USERNAME }} --password ${{ secrets.SPEEDTOOLS_ACR_PASSWORD }} | |
| docker build -t $ACR_LOGIN_SERVER/$SCM_NAME:$IMAGE_TAG knowhow-scm-processor/. | |
| docker push $ACR_LOGIN_SERVER/$SCM_NAME:$IMAGE_TAG | |
| echo "IMAGE_TAG=$IMAGE_TAG" >> $GITHUB_ENV | |
| - name: Build & Push AI Data Processor Docker Image | |
| if: ${{ github.event.inputs.processor == 'all' || github.event.inputs.processor == 'ai-data-processor' }} | |
| run: | | |
| docker login $ACR_LOGIN_SERVER --username ${{ secrets.SPEEDTOOLS_ACR_USERNAME }} --password ${{ secrets.SPEEDTOOLS_ACR_PASSWORD }} | |
| docker build -t $ACR_LOGIN_SERVER/$AI_DATA_PROCESSOR_NAME:$IMAGE_TAG ai-data-processor/. | |
| docker push $ACR_LOGIN_SERVER/$AI_DATA_PROCESSOR_NAME:$IMAGE_TAG | |
| echo "IMAGE_TAG=$IMAGE_TAG" >> $GITHUB_ENV | |
| - name: Checkout Helm charts repo | |
| if: ${{ github.event.inputs.deploy == 'true' && ( github.event.inputs.processor == 'all' || github.event.inputs.processor == 'jira' || github.event.inputs.processor == 'jira-zephyr-scale' || github.event.inputs.processor == 'jira-xray-zephyr-squad' || github.event.inputs.processor == 'devops' || github.event.inputs.processor == 'azureboard' || github.event.inputs.processor == 'azurepipelines' || github.event.inputs.processor == 'scm-processor' || github.event.inputs.processor == 'rally-processor' || github.event.inputs.processor == 'ai-data-processor') }} | |
| run: | | |
| git clone ${{ secrets.SPEEDTOOLS_BITBUCKET_HELM_REPO }} | |
| - name: Update Jira Helm values with new image tag | |
| if: ${{ github.event.inputs.deploy == 'true' && ( github.event.inputs.processor == 'all' || github.event.inputs.processor == 'jira' ) }} | |
| run: | | |
| cd build-configurations/KnowHOW-Deploy/$JIRA_NAME | |
| # Update values.yaml image tag | |
| yq -i ".image.tag = \"${IMAGE_TAG}\"" $VALUES_FILE | |
| git config user.name "github-actions" | |
| git config user.email "[email protected]" | |
| git add $VALUES_FILE | |
| git diff --cached --quiet || git commit -m "Update image tag values to ${IMAGE_TAG}" | |
| git push origin HEAD | |
| - name: Update Jira-xray-zephyr-squad Helm values with new image tag | |
| if: ${{ github.event.inputs.deploy == 'true' && ( github.event.inputs.processor == 'all' || github.event.inputs.processor == 'jira-xray-zephyr-squad' ) }} | |
| run: | | |
| cd build-configurations/KnowHOW-Deploy/$JIRA_XRAY_ZEPHYR_SQUAD_NAME | |
| # Update values.yaml image tag | |
| yq -i ".image.tag = \"${IMAGE_TAG}\"" $VALUES_FILE | |
| git config user.name "github-actions" | |
| git config user.email "[email protected]" | |
| git add $VALUES_FILE | |
| git diff --cached --quiet || git commit -m "Update image tag values to ${IMAGE_TAG}" | |
| git push origin HEAD | |
| - name: Update Jira zephyr-scale Helm values with new image tag | |
| if: ${{ github.event.inputs.deploy == 'true' && ( github.event.inputs.processor == 'all' || github.event.inputs.processor == 'jira-zephyr-scale' ) }} | |
| run: | | |
| cd build-configurations/KnowHOW-Deploy/$JIRA_ZEPHYR_SCALE_NAME | |
| # Update values.yaml image tag | |
| yq -i ".image.tag = \"${IMAGE_TAG}\"" $VALUES_FILE | |
| git config user.name "github-actions" | |
| git config user.email "[email protected]" | |
| git add $VALUES_FILE | |
| git diff --cached --quiet || git commit -m "Update image tag values to ${IMAGE_TAG}" | |
| git push origin HEAD | |
| - name: Update devops Helm values with new image tag | |
| if: ${{ github.event.inputs.deploy == 'true' && ( github.event.inputs.processor == 'all' || github.event.inputs.processor == 'devops' ) }} | |
| run: | | |
| cd build-configurations/KnowHOW-Deploy/$DEVOPS_NAME | |
| # Update values.yaml image tag | |
| yq -i ".image.tag = \"${IMAGE_TAG}\"" $VALUES_FILE | |
| git config user.name "github-actions" | |
| git config user.email "[email protected]" | |
| git add $VALUES_FILE | |
| git diff --cached --quiet || git commit -m "Update image tag values to ${IMAGE_TAG}" | |
| git push origin HEAD | |
| - name: Update azure board Helm values with new image tag | |
| if: ${{ github.event.inputs.deploy == 'true' && ( github.event.inputs.processor == 'all' || github.event.inputs.processor == 'azureboard' ) }} | |
| run: | | |
| cd build-configurations/KnowHOW-Deploy/$AZUREBOARD_NAME | |
| # Update values.yaml image tag | |
| yq -i ".image.tag = \"${IMAGE_TAG}\"" $VALUES_FILE | |
| git config user.name "github-actions" | |
| git config user.email "[email protected]" | |
| git add $VALUES_FILE | |
| git diff --cached --quiet || git commit -m "Update image tag values to ${IMAGE_TAG}" | |
| git push origin HEAD | |
| - name: Update azure pipeline Helm values with new image tag | |
| if: ${{ github.event.inputs.deploy == 'true' && ( github.event.inputs.processor == 'all' || github.event.inputs.processor == 'azurepipelines' ) }} | |
| run: | | |
| cd build-configurations/KnowHOW-Deploy/$AZUREPIPELINE_NAME | |
| # Update values.yaml image tag | |
| yq -i ".image.tag = \"${IMAGE_TAG}\"" $VALUES_FILE | |
| git config user.name "github-actions" | |
| git config user.email "[email protected]" | |
| git add $VALUES_FILE | |
| git diff --cached --quiet || git commit -m "Update image tag values to ${IMAGE_TAG}" | |
| git push origin HEAD | |
| - name: Update scm Helm values with new image tag | |
| if: ${{ github.event.inputs.deploy == 'true' && ( github.event.inputs.processor == 'all' || github.event.inputs.processor == 'scm-processor' ) }} | |
| run: | | |
| cd build-configurations/KnowHOW-Deploy/$SCM_NAME | |
| # Update values.yaml image tag | |
| yq -i ".image.tag = \"${IMAGE_TAG}\"" $VALUES_FILE | |
| git config user.name "github-actions" | |
| git config user.email "[email protected]" | |
| git add $VALUES_FILE | |
| git diff --cached --quiet || git commit -m "Update image tag values to ${IMAGE_TAG}" | |
| git push origin HEAD | |
| - name: Update AI Data Processor Helm values with new image tag | |
| if: ${{ github.event.inputs.deploy == 'true' && ( github.event.inputs.processor == 'all' || github.event.inputs.processor == 'ai-data-processor' ) }} | |
| run: | | |
| cd build-configurations/KnowHOW-Deploy/$AI_DATA_PROCESSOR_NAME | |
| # Update values.yaml image tag | |
| yq -i ".image.tag = \"${IMAGE_TAG}\"" $VALUES_FILE | |
| git config user.name "github-actions" | |
| git config user.email "[email protected]" | |
| git add $VALUES_FILE | |
| git diff --cached --quiet || git commit -m "Update image tag values to ${IMAGE_TAG}" | |
| git push origin HEAD | |
| - name: Update Rally Processor Helm values with new image tag | |
| if: ${{ github.event.inputs.deploy == 'true' && ( github.event.inputs.processor == 'all' || github.event.inputs.processor == 'rally-processor' ) }} | |
| run: | | |
| cd build-configurations/KnowHOW-Deploy/$RALLY_NAME | |
| # Update values.yaml image tag | |
| yq -i ".image.tag = \"${IMAGE_TAG}\"" $VALUES_FILE | |
| git config user.name "github-actions" | |
| git config user.email "[email protected]" | |
| git add $VALUES_FILE | |
| git diff --cached --quiet || git commit -m "Update image tag values to ${IMAGE_TAG}" | |
| git push origin HEAD | |
| deploy-jira: | |
| runs-on: github-actions-self-hosted-runner | |
| timeout-minutes: 30 | |
| needs: [build] | |
| if: ${{ github.event.inputs.deploy == 'true' && (github.event.inputs.processor == 'all' || github.event.inputs.processor == 'jira') }} | |
| steps: | |
| - name: Install ArgoCD CLI | |
| run: | | |
| export ARGO_PATH="$HOME/bin" | |
| mkdir -p $ARGO_PATH | |
| curl -sSL -o "$ARGO_PATH/argocd" https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64 | |
| chmod +x "$ARGO_PATH/argocd" | |
| echo "$ARGO_PATH" >> $GITHUB_PATH | |
| - name: ArgoCD CLI Login | |
| run: | | |
| argocd login argocd-server \ | |
| --username ${{ secrets.SPEEDTOOLS_ARGOCD_USERNAME}} \ | |
| --password ${{ secrets.SPEEDTOOLS_ARGOCD_PASSWORD }} \ | |
| --plaintext | |
| - name: Deploy Jira Processor | |
| run: | | |
| argocd app sync $JIRA_NAME-${{ github.event.inputs.env }} | |
| argocd app wait $JIRA_NAME-${{ github.event.inputs.env }} --health --timeout 300 | |
| deploy-jira-xray-zephyr-squad: | |
| runs-on: github-actions-self-hosted-runner | |
| timeout-minutes: 30 | |
| needs: [build] | |
| if: ${{ github.event.inputs.deploy == 'true' && (github.event.inputs.processor == 'all' || github.event.inputs.processor == 'jira-xray-zephyr-squad') }} | |
| steps: | |
| - name: Install ArgoCD CLI | |
| run: | | |
| export ARGO_PATH="$HOME/bin" | |
| mkdir -p $ARGO_PATH | |
| curl -sSL -o "$ARGO_PATH/argocd" https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64 | |
| chmod +x "$ARGO_PATH/argocd" | |
| echo "$ARGO_PATH" >> $GITHUB_PATH | |
| - name: ArgoCD CLI Login | |
| run: | | |
| argocd login argocd-server \ | |
| --username ${{ secrets.SPEEDTOOLS_ARGOCD_USERNAME}} \ | |
| --password ${{ secrets.SPEEDTOOLS_ARGOCD_PASSWORD }} \ | |
| --plaintext | |
| - name: Deploy Jira Xray Zephyr Squad Processor | |
| run: | | |
| argocd app sync $JIRA_XRAY_ZEPHYR_SQUAD_NAME-${{ github.event.inputs.env }} | |
| argocd app wait $JIRA_XRAY_ZEPHYR_SQUAD_NAME-${{ github.event.inputs.env }} --health --timeout 300 | |
| deploy-jira-zephyr-scale: | |
| runs-on: github-actions-self-hosted-runner | |
| timeout-minutes: 30 | |
| needs: [build] | |
| if: ${{ github.event.inputs.deploy == 'true' && (github.event.inputs.processor == 'all' || github.event.inputs.processor == 'jira-zephyr-scale') }} | |
| steps: | |
| - name: Install ArgoCD CLI | |
| run: | | |
| export ARGO_PATH="$HOME/bin" | |
| mkdir -p $ARGO_PATH | |
| curl -sSL -o "$ARGO_PATH/argocd" https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64 | |
| chmod +x "$ARGO_PATH/argocd" | |
| echo "$ARGO_PATH" >> $GITHUB_PATH | |
| - name: ArgoCD CLI Login | |
| run: | | |
| argocd login argocd-server \ | |
| --username ${{ secrets.SPEEDTOOLS_ARGOCD_USERNAME}} \ | |
| --password ${{ secrets.SPEEDTOOLS_ARGOCD_PASSWORD }} \ | |
| --plaintext | |
| - name: Deploy jira-zephyr-scale Processor | |
| run: | | |
| argocd app sync $JIRA_ZEPHYR_SCALE_NAME-${{ github.event.inputs.env }} | |
| argocd app wait $JIRA_ZEPHYR_SCALE_NAME-${{ github.event.inputs.env }} --health --timeout 300 | |
| deploy-rally: | |
| runs-on: github-actions-self-hosted-runner | |
| timeout-minutes: 30 | |
| needs: [build] | |
| if: ${{ github.event.inputs.deploy == 'true' && (github.event.inputs.processor == 'all' || github.event.inputs.processor == 'rally-processor') }} | |
| steps: | |
| - name: Install ArgoCD CLI | |
| run: | | |
| export ARGO_PATH="$HOME/bin" | |
| mkdir -p $ARGO_PATH | |
| curl -sSL -o "$ARGO_PATH/argocd" https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64 | |
| chmod +x "$ARGO_PATH/argocd" | |
| echo "$ARGO_PATH" >> $GITHUB_PATH | |
| - name: ArgoCD CLI Login | |
| run: | | |
| argocd login argocd-server \ | |
| --username ${{ secrets.SPEEDTOOLS_ARGOCD_USERNAME}} \ | |
| --password ${{ secrets.SPEEDTOOLS_ARGOCD_PASSWORD }} \ | |
| --plaintext | |
| - name: Deploy Rally Processor | |
| run: | | |
| argocd app sync $RALLY_NAME-${{ github.event.inputs.env }} | |
| argocd app wait $RALLY_NAME-${{ github.event.inputs.env }} --health --timeout 300 | |
| deploy-az-board: | |
| runs-on: github-actions-self-hosted-runner | |
| timeout-minutes: 30 | |
| needs: [build] | |
| if: ${{ github.event.inputs.deploy == 'true' && (github.event.inputs.processor == 'all' || github.event.inputs.processor == 'azureboard') }} | |
| steps: | |
| - name: Install ArgoCD CLI | |
| run: | | |
| export ARGO_PATH="$HOME/bin" | |
| mkdir -p $ARGO_PATH | |
| curl -sSL -o "$ARGO_PATH/argocd" https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64 | |
| chmod +x "$ARGO_PATH/argocd" | |
| echo "$ARGO_PATH" >> $GITHUB_PATH | |
| - name: ArgoCD CLI Login | |
| run: | | |
| argocd login argocd-server \ | |
| --username ${{ secrets.SPEEDTOOLS_ARGOCD_USERNAME}} \ | |
| --password ${{ secrets.SPEEDTOOLS_ARGOCD_PASSWORD }} \ | |
| --plaintext | |
| - name: Deploy Azure Board Processor | |
| run: | | |
| argocd app sync $AZUREBOARD_NAME-${{ github.event.inputs.env }} | |
| argocd app wait $AZUREBOARD_NAME-${{ github.event.inputs.env }} --health --timeout 300 | |
| deploy-az-pipeline: | |
| runs-on: github-actions-self-hosted-runner | |
| timeout-minutes: 30 | |
| needs: [build] | |
| if: ${{ github.event.inputs.deploy == 'true' && (github.event.inputs.processor == 'all' || github.event.inputs.processor == 'azurepipelines') }} | |
| steps: | |
| - name: Install ArgoCD CLI | |
| run: | | |
| export ARGO_PATH="$HOME/bin" | |
| mkdir -p $ARGO_PATH | |
| curl -sSL -o "$ARGO_PATH/argocd" https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64 | |
| chmod +x "$ARGO_PATH/argocd" | |
| echo "$ARGO_PATH" >> $GITHUB_PATH | |
| - name: ArgoCD CLI Login | |
| run: | | |
| argocd login argocd-server \ | |
| --username ${{ secrets.SPEEDTOOLS_ARGOCD_USERNAME}} \ | |
| --password ${{ secrets.SPEEDTOOLS_ARGOCD_PASSWORD }} \ | |
| --plaintext | |
| - name: Deploy Azure Pipeline Processor | |
| run: | | |
| argocd app sync $AZUREPIPELINE_NAME-${{ github.event.inputs.env }} | |
| argocd app wait $AZUREPIPELINE_NAME-${{ github.event.inputs.env }} --health --timeout 300 | |
| deploy-scm-processor: | |
| runs-on: github-actions-self-hosted-runner | |
| timeout-minutes: 30 | |
| needs: [build] | |
| if: ${{ github.event.inputs.deploy == 'true' && (github.event.inputs.processor == 'all' || github.event.inputs.processor == 'scm-processor') }} | |
| steps: | |
| - name: Install ArgoCD CLI | |
| run: | | |
| export ARGO_PATH="$HOME/bin" | |
| mkdir -p $ARGO_PATH | |
| curl -sSL -o "$ARGO_PATH/argocd" https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64 | |
| chmod +x "$ARGO_PATH/argocd" | |
| echo "$ARGO_PATH" >> $GITHUB_PATH | |
| - name: ArgoCD CLI Login | |
| run: | | |
| argocd login argocd-server \ | |
| --username ${{ secrets.SPEEDTOOLS_ARGOCD_USERNAME}} \ | |
| --password ${{ secrets.SPEEDTOOLS_ARGOCD_PASSWORD }} \ | |
| --plaintext | |
| - name: Deploy SCM Processor | |
| run: | | |
| argocd app sync $SCM_NAME-${{ github.event.inputs.env }} | |
| argocd app wait $SCM_NAME-${{ github.event.inputs.env }} --health --timeout 300 | |
| deploy-ai-processor: | |
| runs-on: github-actions-self-hosted-runner | |
| timeout-minutes: 30 | |
| needs: [build] | |
| if: ${{ github.event.inputs.deploy == 'true' && (github.event.inputs.processor == 'all' || github.event.inputs.processor == 'ai-data-processor') }} | |
| steps: | |
| - name: Install ArgoCD CLI | |
| run: | | |
| export ARGO_PATH="$HOME/bin" | |
| mkdir -p $ARGO_PATH | |
| curl -sSL -o "$ARGO_PATH/argocd" https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64 | |
| chmod +x "$ARGO_PATH/argocd" | |
| echo "$ARGO_PATH" >> $GITHUB_PATH | |
| - name: ArgoCD CLI Login | |
| run: | | |
| argocd login argocd-server \ | |
| --username ${{ secrets.SPEEDTOOLS_ARGOCD_USERNAME}} \ | |
| --password ${{ secrets.SPEEDTOOLS_ARGOCD_PASSWORD }} \ | |
| --plaintext | |
| - name: Deploy AI Data Processor | |
| run: | | |
| argocd app sync $AI_DATA_PROCESSOR_NAME-${{ github.event.inputs.env }} | |
| argocd app wait $AI_DATA_PROCESSOR_NAME-${{ github.event.inputs.env }} --health --timeout 300 | |
| deploy-devops: | |
| runs-on: github-actions-self-hosted-runner | |
| timeout-minutes: 30 | |
| needs: [build] | |
| if: ${{ github.event.inputs.deploy == 'true' && (github.event.inputs.processor == 'all' || github.event.inputs.processor == 'devops') }} | |
| steps: | |
| - name: Install ArgoCD CLI | |
| run: | | |
| export ARGO_PATH="$HOME/bin" | |
| mkdir -p $ARGO_PATH | |
| curl -sSL -o "$ARGO_PATH/argocd" https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64 | |
| chmod +x "$ARGO_PATH/argocd" | |
| echo "$ARGO_PATH" >> $GITHUB_PATH | |
| - name: ArgoCD CLI Login | |
| run: | | |
| argocd login argocd-server \ | |
| --username ${{ secrets.SPEEDTOOLS_ARGOCD_USERNAME}} \ | |
| --password ${{ secrets.SPEEDTOOLS_ARGOCD_PASSWORD }} \ | |
| --plaintext | |
| - name: Deploy DevOps Processor | |
| run: | | |
| argocd app sync $DEVOPS_NAME-${{ github.event.inputs.env }} | |
| argocd app wait $DEVOPS_NAME-${{ github.event.inputs.env }} --health --timeout 1200 |