aboutsummaryrefslogtreecommitdiffstats
path: root/.gitea
diff options
context:
space:
mode:
Diffstat (limited to '.gitea')
-rw-r--r--.gitea/workflows/build.yaml78
1 files changed, 78 insertions, 0 deletions
diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml
new file mode 100644
index 0000000..54891f9
--- /dev/null
+++ b/.gitea/workflows/build.yaml
@@ -0,0 +1,78 @@
+name: "lint, build and push"
+on:
+ schedule:
+ - cron: "5 3 * * SUN"
+ push:
+ branches: [ master ]
+ pull_request:
+
+# Variables: https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/store-information-in-variables#default-environment-variables + https://forgejo.org/docs/latest/user/actions/#env-1
+
+jobs:
+ lint:
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Run Gitleaks
+ uses: docker://zricethezav/gitleaks:v8.18.4
+ with:
+ args: detect --no-git --verbose --source ${{ github.workspace }}
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Run hadolint
+ uses: docker://pipelinecomponents/hadolint:0.26.4
+ with:
+ args: hadolint Dockerfile
+# - name: Run ShellCheck
+# uses: sudo-bot/action-shellcheck@latest
+# with:
+# cli-args: "shell.sh"
+ - name: Send notification on error
+ uses: dawidd6/action-send-mail@v3
+ if: failure()
+ with:
+ connection_url: smtp://docker10.mgrote.net:1025
+ secure: false
+ ignore_cert: true
+ to: michael.grote@posteo.de
+ from: Gitea Actions <gitea@mgrote.net>
+ subject: "CI Error in ${{ env.GITHUB_REPOSITORY }}"
+ body: "Job of ${{ env.github.repository }} failed!"
+
+ build:
+ needs: [gitleaks, hadolint] # shellcheck
+ steps:
+ - uses: https://github.com/actions/checkout@v4
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v3
+# - name: Login to Docker Hub
+# uses: docker/login-action@v3
+# with:
+# username: ${{ secrets.DOCKERHUB_USERNAME }}
+# password: ${{ secrets.DOCKERHUB_TOKEN }}
+ - name: Extract repository name
+ id: meta
+ run: |
+ echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print $2}') >> $GITHUB_OUTPUT
+ - name: Extract branch name
+ shell: bash
+ run: echo "REPO_BRANCH=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
+ id: extract_branch
+ - name: Build and push Docker image
+ uses: https://github.com/docker/build-push-action@v5
+ with:
+ context: .
+ file: ./Dockerfile
+ push: true
+ tags: "registry.mgrote.net/${{ steps.meta.outputs.REPO_NAME }}:latest,registry.mgrote.net/${{ steps.meta.outputs.REPO_NAME }}:${{ steps.extract_branch.outputs.REPO_BRANCH }}"
+ - name: Send notification on error
+ uses: dawidd6/action-send-mail@v3
+ if: failure()
+ with:
+ connection_url: smtp://docker10.mgrote.net:1025
+ secure: false
+ ignore_cert: true
+ to: michael.grote@posteo.de
+ from: Gitea Actions <gitea@mgrote.net>
+ subject: "CI Error in ${{ env.GITHUB_REPOSITORY }}"
+ body: Job of ${{ env.github.repository }} failed!