Files
barotrauma-admin/.gitea/workflows/ci.yaml
T
vlad.os 82b78053aa
Build & Deploy / build (push) Failing after 20m41s
Build & Deploy / deploy (push) Has been skipped
Merge remote master, keep local README, update CI
2026-07-18 15:15:06 +03:00

75 lines
2.4 KiB
YAML

name: Build & Deploy
run-name: ${{ gitea.event_name }} by ${{ gitea.actor }}
on:
push:
branches: [main, master, dev]
pull_request:
branches: [main, master]
jobs:
build:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 21
- name: Grant Gradle executable
run: chmod +x gradlew
- name: Build
run: ./gradlew --no-daemon build
- name: Test
run: ./gradlew --no-daemon test
deploy:
runs-on: ubuntu-24.04
needs: build
if: gitea.event_name == 'pull_request' && gitea.base_ref == 'master' && gitea.head_ref == 'dev'
steps:
- name: Build distribution
run: ./gradlew --no-daemon installDist
- name: Login to Container Registry
run: echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login ${{ secrets.REGISTRY_URL }} -u "${{ secrets.REGISTRY_USER }}" --password-stdin
- name: Build Docker image
run: |
docker build -t ${{ secrets.REGISTRY_URL }}/${{ gitea.repository }}:${{ gitea.sha }} -t ${{ secrets.REGISTRY_URL }}/${{ gitea.repository }}:latest .
- name: Push Docker image
run: |
docker push ${{ secrets.REGISTRY_URL }}/${{ gitea.repository }}:${{ gitea.sha }}
docker push ${{ secrets.REGISTRY_URL }}/${{ gitea.repository }}:latest
- name: Deploy via SSH
uses: appleboy/ssh-action@v1
with:
host: ${{ secrets.DEPLOY_HOST }}
port: ${{ secrets.DEPLOY_PORT || '22' }}
username: ${{ secrets.DEPLOY_USER }}
key: ${{ secrets.DEPLOY_SSH_KEY }}
script: |
set -e
cd ${{ secrets.DEPLOY_PATH }}
cat > .env << EOF
REGISTRY_URL=${{ secrets.REGISTRY_URL }}
IMAGE_NAME=${{ gitea.repository }}
IMAGE_TAG=${{ gitea.sha }}
DATABASE_JDBC_URL=${{ secrets.DATABASE_JDBC_URL }}
DATABASE_USER=${{ secrets.DATABASE_USER }}
DATABASE_PASSWORD=${{ secrets.DATABASE_PASSWORD }}
DATABASE_POOL_SIZE=${DATABASE_POOL_SIZE:-10}
HOST_PORT=${HOST_PORT:-8080}
EOF
docker compose -f docker-compose.remote.yml pull
docker compose -f docker-compose.remote.yml up -d --remove-orphans
docker image prune -f