Files
snatchgame/.gitea/workflows/build-and-deploy.yml
josedario87 3385636129
Some checks failed
build-and-deploy / filter (push) Successful in 2s
build-and-deploy / build (push) Successful in 5s
build-and-deploy / deploy (push) Failing after 1s
cambiado el gitea
2025-08-15 12:09:03 -06:00

79 lines
2.8 KiB
YAML

name: build-and-deploy
on:
push:
branches: [ main ]
jobs:
#───────────────── filtra qué dirs cambiaron ─────────────────
filter:
runs-on: docker
outputs:
server: ${{ steps.paths.outputs.server }}
client: ${{ steps.paths.outputs.client }}
admin: ${{ steps.paths.outputs.admin }}
steps:
- uses: actions/checkout@v3
- id: paths
uses: dorny/paths-filter@v3
with:
filters: |
server: "server/**"
client: "client/**"
admin: "admin/**"
#───────────────── build & push ─────────────────
build:
needs: filter
runs-on: docker
env:
REG: gitea.nucleoriofrio.com/nucleo000
steps:
- uses: actions/checkout@v3
- uses: docker/setup-buildx-action@v2
- uses: docker/login-action@v2
with:
registry: gitea.nucleoriofrio.com
username: nucleo000
password: 7bc7b2fcd283bd6a251bef3ede368b7f897c919d
- name: Build+push server
if: needs.filter.outputs.server == 'true'
run: |
docker build -f server/Dockerfile -t $REG/snatchgame-server:${{ github.sha }} -t $REG/snatchgame-server:latest server
docker push $REG/snatchgame-server:${{ github.sha }}
docker push $REG/snatchgame-server:latest
- name: Build+push client
if: needs.filter.outputs.client == 'true'
run: |
docker build -f client/Dockerfile -t $REG/snatchgame-client:${{ github.sha }} -t $REG/snatchgame-client:latest client
docker push $REG/snatchgame-client:${{ github.sha }}
docker push $REG/snatchgame-client:latest
- name: Build+push admin
if: needs.filter.outputs.admin == 'true'
run: |
docker build -f admin/Dockerfile -t $REG/snatchgame-admin:${{ github.sha }} -t $REG/snatchgame-admin:latest admin
docker push $REG/snatchgame-admin:${{ github.sha }}
docker push $REG/snatchgame-admin:latest
#───────────────── deploy ─────────────────
deploy:
needs: build
runs-on: docker
env:
REG: gitea.nucleoriofrio.com/nucleo000
steps:
- uses: actions/checkout@v3
- name: Login to registry
run: docker login gitea.nucleoriofrio.com -u nucleo000 -p 7bc7b2fcd283bd6a251bef3ede368b7f897c919d
- name: Pull fresh images used in compose
run: docker compose pull --ignore-pull-failures
- name: Clean up stack
run: docker compose --project-name snatchgame down
- name: Update stack
run: docker compose --project-name snatchgame up -d --remove-orphans --wait