name: Build and Deploy on: push: branches: - main - development jobs: build: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login to Forgejo Registry uses: docker/login-action@v3 with: registry: forgejo.wulfconsulting.cloud username: ${{ secrets.REGISTRY_USERNAME }} password: ${{ secrets.REGISTRY_PASSWORD }} - name: Determine tag id: tag run: | if [ "${{ github.ref_name }}" = "main" ]; then echo "tag=latest" >> $GITHUB_OUTPUT else echo "tag=dev" >> $GITHUB_OUTPUT fi - name: Build and push uses: docker/build-push-action@v6 with: context: . push: true tags: forgejo.wulfconsulting.cloud/lorentz/quest-vorteq:${{ steps.tag.outputs.tag }} deploy: needs: build runs-on: ubuntu-latest steps: - name: Deploy to server uses: appleboy/ssh-action@v1.0.3 with: host: ${{ secrets.DEPLOY_HOST }} username: ${{ secrets.DEPLOY_USER }} key: ${{ secrets.DEPLOY_SSH_KEY }} script: | cd /opt/stacks/vorteq docker compose pull app-prod app-dev docker compose up -d app-prod app-dev