All checks were successful
Build and push / changes (push) Successful in 3s
Build and push / Lint-Python (push) Has been skipped
Build and push / Build-and-Push-Docker (push) Has been skipped
Build and push / sync-argocd-app (push) Has been skipped
Build and push / post-status-to-discord (push) Has been skipped
Try adding the discord webhook Try adding the discord webhook Try adding the discord webhook Try adding the discord webhook
84 lines
2.6 KiB
YAML
Executable File
84 lines
2.6 KiB
YAML
Executable File
name: Build and push
|
|
run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
|
|
on: [push]
|
|
|
|
jobs:
|
|
changes:
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
python_files: ${{ steps.filter.outputs.python_files }}
|
|
helm_files: ${{ steps.filter.outputs.helm }}
|
|
steps:
|
|
- name: Check out repository code
|
|
uses: actions/checkout@v4
|
|
- uses: dorny/paths-filter@v3
|
|
id: filter
|
|
with:
|
|
filters: |
|
|
python_files:
|
|
- 'app/**'
|
|
helm:
|
|
- 'helm/**'
|
|
Lint-Python:
|
|
runs-on: ubuntu-latest
|
|
needs: changes
|
|
if: ${{ needs.changes.outputs.python_files == 'true' }}
|
|
steps:
|
|
- name: Check out repository code
|
|
uses: actions/checkout@v4
|
|
- uses: dorny/paths-filter@v3
|
|
id: filter
|
|
with:
|
|
filters: |
|
|
python_files:
|
|
- 'app/**/*.py'
|
|
- name: install UV
|
|
run: |
|
|
pip install uv --quiet
|
|
if: steps.filter.outputs.python_files == 'true'
|
|
- name: install black and lint code
|
|
run: |
|
|
uv pip install black --system --quiet
|
|
black app --check --fast
|
|
if: steps.filter.outputs.python_files == 'true'
|
|
Build-and-Push-Docker:
|
|
needs: [changes, Lint-Python]
|
|
if: ${{ needs.changes.outputs.python_files == 'true' }}
|
|
steps:
|
|
- name: Login to Docker Hub
|
|
if: github.event_name != 'pull_request'
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ secrets.DOCKER_USERNAME }}
|
|
password: ${{ secrets.DOCKER_TOKEN }}
|
|
- name: Check out repository code
|
|
uses: actions/checkout@v4
|
|
- name: Build and push
|
|
uses: docker/build-push-action@v2
|
|
with:
|
|
context: .
|
|
platforms: linux/amd64
|
|
push: true
|
|
tags: |
|
|
ldooks/dragon-bot:latest
|
|
ldooks/dragon-bot:${{ gitea.run_id }}
|
|
sync-argocd-app:
|
|
needs: [changes, Build-and-Push-Docker]
|
|
if: ${{ needs.changes.outputs.python_files == 'true' }}
|
|
steps:
|
|
- name: Sync app in ArgoCD
|
|
uses: clowdhaus/argo-cd-action/@main
|
|
with:
|
|
version: 2.6.7
|
|
command: app
|
|
options: --insecure --server 192.168.1.205 --auth-token ${{ secrets.ARGOCD_TOKEN }} set dragon-bot --helm-set image.tag=${{ gitea.run_id }}
|
|
post-status-to-discord:
|
|
needs: [changes, Build-and-Push-Docker]
|
|
if: ${{ needs.changes.outputs.python_files == 'true' }}
|
|
steps:
|
|
- name: Post status to discord
|
|
if: github.event_name != 'pull_request'
|
|
uses: sarisia/actions-status-discord@v1
|
|
with:
|
|
webhook: ${{ secrets.DISCORD_WEBHOOK }}
|