name: chart-publish "on": push: tags: - 'chart/v*' jobs: chart-publish: runs-on: ubuntu-latest name: chart-publish env: AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }} AWS_ACCESS_KEY_ID: ${{ secrets.GH_AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.GH_AWS_SECRET_ACCESS_KEY }} AWS_EC2_METADATA_DISABLED: true GH_GITHUB_API_KEY: ${{ secrets.GH_GITHUB_API_KEY }} DEV_REGISTRY: ${{ secrets.DEV_REGISTRY }} RELEASE_REGISTRY: ${{ secrets.RELEASE_REGISTRY }} steps: - uses: actions/checkout@v3 with: fetch-depth: 0 - name: "Install Deps" uses: ./.github/actions/setup-deps - run: | make release/push-chart - id: check-slack-webhook name: Assign slack webhook variable run: echo "slack_webhook_url=${{secrets.SLACK_WEBHOOK_URL}}" >> $GITHUB_OUTPUT - name: Slack notification if: steps.check-slack-webhook.outputs.slack_webhook_url && always() uses: edge/simple-slack-notify@master env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} with: status: ${{ job.status }} success_text: "Chart successfully published for ${env.GITHUB_REF}" failure_text: '${env.GITHUB_WORKFLOW} (${env.GITHUB_RUN_NUMBER}) build failed' cancelled_text: '${env.GITHUB_WORKFLOW} (${env.GITHUB_RUN_NUMBER}) build was cancelled' fields: | [{ "title": "Repository", "value": "${env.GITHUB_REPOSITORY}", "short": true }, { "title": "Branch", "value": "${env.GITHUB_REF}", "short": true }, { "title": "Action URL", "value": "${env.GITHUB_SERVER_URL}/${env.GITHUB_REPOSITORY}/actions/runs/${env.GITHUB_RUN_ID}"} ] - uses: ./.github/actions/after-job if: always() chart-create-gh-release: if: ${{ ! contains(github.ref, '-') }} runs-on: ubuntu-latest needs: [chart-publish] name: "Create GitHub release" steps: - uses: actions/checkout@v3 with: fetch-depth: 0 - name: "Install Deps" uses: ./.github/actions/setup-deps - name: "gh auth login" run: | gh auth login --with-token <<<'${{ secrets.GH_GITHUB_API_KEY }}' - name: Create GitHub release id: step-create-gh-release run: | make release/chart-create-gh-release - id: check-slack-webhook name: Assign slack webhook variable run: echo "slack_webhook_url=${{secrets.SLACK_WEBHOOK_URL}}" >> $GITHUB_OUTPUT - name: Slack notification if: steps.check-slack-webhook.outputs.slack_webhook_url && always() uses: edge/simple-slack-notify@master env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} with: status: ${{ job.status }} success_text: 'Chart GitHub release was created: ${{ steps.step-create-gh-release.outputs.url }}' failure_text: 'Chart GitHub release failed' cancelled_text: 'Chart GitHub release was was cancelled' fields: | [{ "title": "Repository", "value": "${env.GITHUB_REPOSITORY}", "short": true }, { "title": "Branch", "value": "${env.GITHUB_REF}", "short": true }, { "title": "Action URL", "value": "${env.GITHUB_SERVER_URL}/${env.GITHUB_REPOSITORY}/actions/runs/${env.GITHUB_RUN_ID}"} ] - uses: ./.github/actions/after-job if: always()