UNPKG

klip-sdk

Version:

JavaScript SDK to interact with klip App2App requests

155 lines (136 loc) 7.18 kB
name: Image patch helm chart author: Bolt description: 'This action is used when the CI done.' inputs: PAT: description: '' required: true default: '' GITHUB_SHA: description: '' required: true default: '' PROJECT: description: '' required: true default: '' PROJECT_NAME: description: '' required: true default: '' ENVIRONMENT: description: '' required: true default: '' IS_STAGING: description: '' required: false default: 'enabled' outputs: PR_URL: description: '' value: ${{ steps.var.outputs.PR_URL }} runs: using: "composite" steps: - name: gh auth login shell: bash run: | echo ${{ inputs.PAT }} | gh auth login --with-token - name: set outputs id: set-outputs shell: bash run: | echo "ENVIRONMENT=${{ inputs.ENVIRONMENT }}" >> $GITHUB_OUTPUT echo "IS_STAGING=${{ inputs.IS_STAGING }}" >> $GITHUB_OUTPUT echo "PROJECT=${{ inputs.PROJECT }}" >> $GITHUB_OUTPUT echo "PROJECT_NAME=${{ inputs.PROJECT_NAME }}" >> $GITHUB_OUTPUT - name: deploy staging environments klip, drops (helm chart) shell: bash if: | ( steps.set-outputs.outputs.ENVIRONMENT == 'staging' ) && ( steps.set-outputs.outputs.PROJECT_NAME == 'klip' || steps.set-outputs.outputs.PROJECT_NAME == 'klipdrops' ) && ( steps.set-outputs.outputs.IS_STAGING == 'enabled') run: | echo "deploy staging environments" sed -i -r "s|(tag: )[0-9a-f]+(-.*)?|\1${{ inputs.GITHUB_SHA }}\2|" charts/apps/${{ inputs.PROJECT }}/${{ inputs.PROJECT_NAME }}/helm-chart/values/staging/image.yaml - name: deploy staging environments klippass, baas, kas, multichain, devops (general) shell: bash if: | ( steps.set-outputs.outputs.ENVIRONMENT == 'staging' ) && ( steps.set-outputs.outputs.PROJECT_NAME != 'klip' && steps.set-outputs.outputs.PROJECT_NAME != 'klipdrops') && ( steps.set-outputs.outputs.IS_STAGING == 'enabled') run: | sed -i -r "s|(tag: )[0-9a-f]+(-.*)?|\1${{ inputs.GITHUB_SHA }}\2|" charts/apps/${{ inputs.PROJECT }}/${{ inputs.PROJECT_NAME }}/values/staging/image.yaml - name: deploy not staging environments kas, baas, multichain ( dev, qa-2, etc ...) shell: bash if: | ( steps.set-outputs.outputs.ENVIRONMENT != 'staging' ) && ( steps.set-outputs.outputs.PROJECT == 'kas' || steps.set-outputs.outputs.PROJECT == 'baas' ) run: | if [[ ${{ inputs.ENVIRONMENT }} == "qa" ]]; then sed -i -r "s|(tag: )[0-9a-f]+(-.*)?|\1${{ inputs.GITHUB_SHA }}\2|" charts/apps/${{ inputs.PROJECT }}/${{ inputs.PROJECT_NAME }}/values/qa-2/image.yaml else sed -i -r "s|(tag: )[0-9a-f]+(-.*)?|\1${{ inputs.GITHUB_SHA }}\2|" charts/apps/${{ inputs.PROJECT }}/${{ inputs.PROJECT_NAME }}/values/${{ inputs.ENVIRONMENT }}/image.yaml fi - name: deploy not staging environments klippass, devops (general) (dev, qa, etc ...) shell: bash if: | ( steps.set-outputs.outputs.ENVIRONMENT != 'staging' ) && ( steps.set-outputs.outputs.PROJECT != 'kas' ) && ( steps.set-outputs.outputs.PROJECT != 'baas' ) && ( steps.set-outputs.outputs.PROJECT_NAME != 'klip' ) && ( steps.set-outputs.outputs.PROJECT_NAME != 'klipdrops' ) run: | sed -i -r "s|(tag: )[0-9a-f]+(-.*)?|\1${{ inputs.GITHUB_SHA }}\2|" charts/apps/${{ inputs.PROJECT }}/${{ inputs.PROJECT_NAME }}/values/${{ inputs.ENVIRONMENT }}/image.yaml - name: deploy not staging environments klip, klipdrops (helm chart) (dev, qa, etc ...) shell: bash if: | ( steps.set-outputs.outputs.ENVIRONMENT != 'staging' ) && ( steps.set-outputs.outputs.PROJECT_NAME == 'klip' || steps.set-outputs.outputs.PROJECT_NAME == 'klipdrops' ) run: | sed -i -r "s|(tag: )[0-9a-f]+(-.*)?|\1${{ inputs.GITHUB_SHA }}\2|" charts/apps/${{ inputs.PROJECT }}/${{ inputs.PROJECT_NAME }}/helm-chart/values/${{ inputs.ENVIRONMENT }}/image.yaml - name: git commit and push shell: bash if: (steps.set-outputs.outputs.ENVIRONMENT != 'staging') || (steps.set-outputs.outputs.ENVIRONMENT == 'staging' && steps.set-outputs.outputs.IS_STAGING == 'enabled') run: | git add . git config --local user.email "github-actions[bot]@users.noreply.github.com" git config --local user.name "github-actions[bot]" git commit -m "Update ${{ inputs.PROJECT_NAME }} image tag in ${{ inputs.ENVIRONMENT }}." git push origin master echo "git commit and push done" - name: pr to master step klip, klipdrops shell: bash if: | ( steps.set-outputs.outputs.ENVIRONMENT == 'staging' ) && ( steps.set-outputs.outputs.PROJECT_NAME == 'klip' || steps.set-outputs.outputs.PROJECT_NAME == 'klipdrops' ) run: | echo "pr to master step" suffix=`echo $(date +%Y-%m-%d-%H-%M-%S)` git pull origin master git checkout -b ${{ inputs.PROJECT_NAME }}-$suffix sed -i -r "s|(tag: )[0-9a-f]+(-.*)?|\1${{ inputs.GITHUB_SHA }}\2|" charts/apps/${{ inputs.PROJECT }}/${{ inputs.PROJECT_NAME }}/helm-chart/values/prod/image.yaml git add . git config --local user.email "github-actions[bot]@users.noreply.github.com" git config --local user.name "github-actions[bot]" git commit -m "Update ${{ inputs.PROJECT_NAME }} image tag in Production." git push origin ${{ inputs.PROJECT_NAME }}-$suffix pr_url=$(gh pr create --base master --title "There is a deployment request for ${{ inputs.PROJECT_NAME }} version ${{ github.head_ref }}." --body "Update image tag to prod" --head ${{ inputs.PROJECT_NAME }}-$suffix) echo "PR_URL=$pr_url" >> $GITHUB_OUTPUT echo "PR_URL: $pr_url" - name: pr to master step klippass, kas, baas id: pr-to-master shell: bash if: | ( steps.set-outputs.outputs.ENVIRONMENT == 'staging' ) && ( steps.set-outputs.outputs.PROJECT_NAME != 'klip' && steps.set-outputs.outputs.PROJECT_NAME != 'klipdrops' ) run: | echo "pr to master step" suffix=`echo $(date +%Y-%m-%d-%H-%M-%S)` git pull origin master git checkout -b ${{ inputs.PROJECT_NAME }}-$suffix echo suffix=$suffix >> $GITHUB_OUTPUT sed -i -r "s|(tag: )[0-9a-f]+(-.*)?|\1${{ inputs.GITHUB_SHA }}\2|" charts/apps/${{ inputs.PROJECT }}/${{ inputs.PROJECT_NAME }}/values/prod/image.yaml git add . git config --local user.email "github-actions[bot]@users.noreply.github.com" git config --local user.name "github-actions[bot]" git commit -m "Update ${{ inputs.PROJECT_NAME }} image tag in Production." git push origin ${{ inputs.PROJECT_NAME }}-$suffix pr_url=$(gh pr create --base master --title "There is a deployment request for ${{ inputs.PROJECT_NAME }} version ${{ github.head_ref }}." --body "Update image tag to prod" --head ${{ inputs.PROJECT_NAME }}-$suffix) echo "PR_URL=$pr_url" >> $GITHUB_OUTPUT echo "PR_URL: $pr_url"