elysium-actions/action.yml

63 lines
2.9 KiB
YAML

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
status:
description: Job Status (Can be provided using ${{ job.status }})
required: true
additional-content:
descrption: Additional info to include in the message
required: false
runs:
using: composite
steps:
- name: Configure Envars
shell: bash
run: |
DISCORD_MESSAGE_ADDITIONAL_CONTENT=""
DISCORD_CI_ENV=${{ env.CI_NAMESPACE }}
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
DISCORD_MESSAGE_ADDITIONAL_CONTENT="${DISCORD_MESSAGE_ADDITIONAL_CONTENT}\nCI Namspace: `${DISCORD_CI_ENV}`"
else
echo "Error! channel required, and must be 'ci' or 'deployments'!"
exit 1
fi
if [ ${{ inputs.status }} == "success" ]; then
echo DISCORD_MESSAGE_STATUS_ICON=":white_check_mark:" >> $GITHUB_ENV
echo DISCORD_MESSAGE_STATUS_COLOR=3405175 >> $GITHUB_ENV
elif [ ${{ inputs.status }} == "failure" ]; then
echo DISCORD_MESSAGE_STATUS_ICON=":x:" >> $GITHUB_ENV
echo DISCORD_MESSAGE_STATUS_COLOR=16071219 >> $GITHUB_ENV
else
echo "I donotwannaknow?"
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
echo DISCORD_MESSAGE_ADDITIONAL_CONTENT="${DISCORD_MESSAGE_ADDITIONAL_CONTENT}\n${{ inputs.additional-content }}" >> $GITHUB_ENV
- name: Configure Kubeconfig
uses: tsickert/discord-webhook@v5.4.0
with:
webhook-url: ${{ env.DISCORD_WEBHOOK }}
embed-title: Action Details
embed-description: ${{ env.GITHUB_REPOSITORY }}
embed-footer-text: "Repository: ${{ env.DISCORD_MESSAGE_REPOSITORY_URL }}"
embed-url: ${{ env.DISCORD_MESSAGE_ACTION_URL }}
embed-color: ${{ env.DISCORD_MESSAGE_STATUS_COLOR }}
content: |-
**[${{ env.DISCORD_MESSAGE_TITLE }}]** | ${{ inputs.header }} | ${{ env.DISCORD_MESSAGE_STATUS_ICON }}
${{ env.DISCORD_MESSAGE_ADDITIONAL_CONTENT }}