diff --git a/README.md b/README.md index e4fd7c2..0e57a58 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,9 @@ The actions are used by Elysium to run CI/CD tasks and this repo will be archive The actions available are: - [S3 Backup](https://gitea.dunemask.dev/elysium/elysium-actions/src/branch/s3-backup/action.yml) -- [Oasis Deploy](https://gitea.dunemask.dev/elysium/elysium-actions/src/branch/oasis-deploy/action.yml) +- [Oasis Auto Setup](https://gitea.dunemask.dev/elysium/elysium-actions/src/branch/oasis-setup-auto/action.yml) - [Infisical Env](https://gitea.dunemask.dev/elysium/elysium-actions/src/branch/infisical-env/action.yml) +- [Oasis Advanced Setup](https://gitea.dunemask.dev/elysium/elysium-actions/src/branch/oasis-setup-advanced/action.yml) - [Elysium CI/CD](https://gitea.dunemask.dev/elysium/elysium-actions/src/branch/elysium-ci-cd/action.yml) ## Workflow Template diff --git a/action.yml b/action.yml new file mode 100644 index 0000000..1a9aa0a --- /dev/null +++ b/action.yml @@ -0,0 +1,60 @@ +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: | + 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 [ ${{ 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 + + - name: Configure Kubeconfig + uses: https://github.com/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 }} + ${{ inputs.additional-content }} +