From 23bb552e826618ff0c67296e127a534a2bc51732 Mon Sep 17 00:00:00 2001 From: Dunemask Date: Sun, 18 Feb 2024 17:18:55 -0700 Subject: [PATCH] [FEATURE] Better Discord Status --- action.yml | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 action.yml diff --git a/action.yml b/action.yml new file mode 100644 index 0000000..36f665a --- /dev/null +++ b/action.yml @@ -0,0 +1,55 @@ +name: Oasis Auto Config Action +description: Configure env for deploying apps using Oasis Automagically +inputs: + channel: + description: Channel (ci or deployments) + required: true + header: + description: Header to be displayed next to the environment + required: true + additional-content: + descrption: Additional info to include in the message + required: false +runs: + using: composite + steps: + - name: Configure Envars + shell: bash + run: | + if [ ${{ inputs.channel }} == "deployments" ]; then + echo DISCORD_WEBHOOK=${{ env.DISCORD_WEBHOOK_DEPLOYMENTS }} >> $GITHUB_ENV + echo DISCORD_MESSAGE_TITLE=DEPLOY >> $GITHUB_ENV + elif [ ${{ inputs.channel }} == "ci" ]; then + echo DISCORD_WEBHOOK=${{ env.DISCORD_WEBHOOK_CI }} >> $GITHUB_ENV + echo DISCORD_MESSAGE_TITLE=CI >> $GITHUB_ENV + else + echo "Error! channel required, and must be 'ci' or 'deployments'!" + exit 1 + fi + + if [ ${{ job.status }} == "success" ]; then + echo DISCORD_MESSAGE_STATUS_ICON=":white_check_mark:" >> $GITHUB_ENV + echo DISCORD_MESSAGE_STATUS_COLOR=3405175 >> $GITHUB_ENV + elif [ ${{ job.status }} == "failure" ]; then + echo DISCORD_MESSAGE_STATUS_ICON=":x:" >> $GITHUB_ENV + echo DISCORD_MESSAGE_STATUS_COLOR=16071219 >> $GITHUB_ENV + else + echo DISCORD_MESSAGE_STATUS_ICON=":warning:" >> $GITHUB_ENV + echo DISCORD_MESSAGE_STATUS_COLOR=16102451 >> $GITHUB_ENV + fi + + # Save Common Envars + echo DISCORD_MESSAGE_ACTION_URL=${{ env.GITHUB_SERVER_URL }}/${{ env.GITHUB_REPOSITORY }}/actions/runs/${{ env.GITHUB_RUN_NUMBER }} >> $GITHUB_ENV + echo DISCORD_MESSAGE_REPOSITORY_URL=${{ env.GITHUB_SERVER_URL }}/${{ env.GITHUB_REPOSITORY }} >> $GITHUB_ENV + + - name: Configure Kubeconfig + uses: tsickert/discord-webhook@v5.4.0 + with: + webhook-url: ${{ env.DISCORD_WEBHOOK }} + embed-title: ${{ env.GITHUB_REPOSITORY }} + embed-url: ${{ env.DISCORD_MESSAGE_REPOSITORY_URL }} + embed-color: ${{ env.DISCORD_MESSAGE_STATUS_COLOR }} + content: |- + **[${{env.DISCORD_MESSAGE_TITLE}}]** | ${{ inputs.header }} | ${{env.DISCORD_MESSAGE_STATUS_ICON}} + ${{ env.GITHUB_SERVER_URL }}/${{ env.GITHUB_REPOSITORY }}/actions/runs/${{ env.GITHUB_RUN_NUMBER + ${{ inputs.additional-content }}