diff options
Diffstat (limited to '.gitea')
| -rw-r--r-- | .gitea/workflows/build.yaml | 78 |
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! |