dragon-bot/.gitea/workflows/build-and-push.yaml
Luke Robles 6ec5af336e
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

Try adding the discord webhook
2024-11-10 21:34:16 -08:00

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 }}