name: Deploy to Production on: push: tags: - 'v*' jobs: deploy: runs-on: splendid-bear steps: - name: Checkout tag env: GITEA_TOKEN: ${{ gitea.token }} run: | set -e export HOME=/tmp git config --global --add safe.directory "${{ vars.PROD_APP_DIR }}" cd "${{ vars.PROD_APP_DIR }}" AUTHED=$(git remote get-url origin | sed "s|://|://oauth2:${GITEA_TOKEN}@|") git remote set-url origin "$AUTHED" git fetch --tags --force git checkout "${{ gitea.ref_name }}" - name: Write .env env: PROD_ENV_FILE: ${{ secrets.PROD_ENV_FILE }} run: | printf '%s' "$PROD_ENV_FILE" > "${{ vars.PROD_APP_DIR }}/.env" - name: Build image run: | cd "${{ vars.PROD_APP_DIR }}" docker compose build - name: Start services run: | cd "${{ vars.PROD_APP_DIR }}" docker compose up -d