diff --git a/.github/workflows/update-check.yml b/.github/workflows/update-check.yml new file mode 100644 index 0000000..74ee31b --- /dev/null +++ b/.github/workflows/update-check.yml @@ -0,0 +1,39 @@ +name: Helm chart image tag check +on: + workflow_dispatch: + schedule: + - cron: "0 */12 * * *" + +jobs: + check: + name: Check + runs-on: ubuntu-22.04 + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Download "helm-chart-update-check" + uses: engineerd/configurator@v0.0.10 + with: + name: "hcuc" + fromGitHubReleases: "true" + repo: "pmoscode/helm-chart-update-check" + urlTemplate: "https://github.com/pmoscode/helm-chart-update-check/releases/download/{{version}}/hcuc-{{version}}-linux-amd64.tar.gz" + version: "v0.1.0" + pathInArchive: "hcuc" + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Check for updates + run: | + hcuc --docker-hub-repo jlesage/jdownloader-2 --fail-on-update --debug + + - name: Send notification + if: failure() + env: + MAILJET_KEY: ${{ secrets.MAILJET_KEY }} + MAILJET_SECRET: ${{ secrets.MAILJET_SECRET }} + MAILJET_FROM_MAIL: ${{ vars.MAILJET_FROM_MAIL }} + MAILJET_TO_MAIL: ${{ vars.MAILJET_TO_MAIL }} + MAILJET_SUBJECT: ${{ vars.MAILJET_SUBJECT }} + run: | + ./pipeline/send_mail.sh diff --git a/pipeline/mail_data.tpl.json b/pipeline/mail_data.tpl.json new file mode 100644 index 0000000..8073982 --- /dev/null +++ b/pipeline/mail_data.tpl.json @@ -0,0 +1,21 @@ +{ + "Messages":[ + { + "From": { + "Email": "$MAILJET_FROM_MAIL" + }, + "To": [ + { + "Email": "$MAILJET_TO_MAIL" + } + ], + "TemplateID": 5363003, + "TemplateLanguage": true, + "Subject": "$MAILJET_SUBJECT", + "Variables": { + "project_name": "$GITHUB_REPOSITORY", + "project_url": "$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" + } + } + ] +} diff --git a/pipeline/send_mail.sh b/pipeline/send_mail.sh new file mode 100755 index 0000000..1eb2ee6 --- /dev/null +++ b/pipeline/send_mail.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +set -e + +cat pipeline/mail_data.tpl.json | envsubst > mail_data.json + +curl -s \ + -X POST \ + --user "$MAILJET_KEY:$MAILJET_SECRET" \ + https://api.mailjet.com/v3.1/send \ + -H 'Content-Type: application/json' \ + -d '@./mail_data.json' + +rm mail_data.json