From 8d61fd54cd5482a66c69bb48cc796243fa225ab9 Mon Sep 17 00:00:00 2001 From: Matt DiMeglio Date: Sat, 7 Feb 2026 23:17:39 -0500 Subject: [PATCH] Update to TeamCity --- .github/workflows/api-container.yml | 12 +++++--- .github/workflows/api-deploy-nonprod.yml | 35 ++++++++++++++++++------ .github/workflows/api-deploy-prod.yml | 35 ++++++++++++++++++------ .github/workflows/web-container.yml | 12 +++++--- .github/workflows/web-deploy-nonprod.yml | 35 ++++++++++++++++++------ .github/workflows/web-deploy-prod.yml | 35 ++++++++++++++++++------ 6 files changed, 120 insertions(+), 44 deletions(-) diff --git a/.github/workflows/api-container.yml b/.github/workflows/api-container.yml index 773d856..291a01f 100644 --- a/.github/workflows/api-container.yml +++ b/.github/workflows/api-container.yml @@ -68,8 +68,10 @@ jobs: DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }} DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} TEST: ${{ secrets.TEST }} - COOLIFY_WEBHOOK_API: ${{ secrets.COOLIFY_WEBHOOK_API }} - COOLIFY_TOKEN: ${{ secrets.COOLIFY_TOKEN }} + TEAMCITY_API_ID: ${{ secrets.TEAMCITY_API_ID }} + TEAMCITY_URL: ${{ secrets.TEAMCITY_URL }} + TEAMCITY_USERNAME: ${{ secrets.TEAMCITY_USERNAME }} + TEAMCITY_PASSWORD: ${{ secrets.TEAMCITY_PASSWORD }} permissions: contents: read packages: write @@ -90,8 +92,10 @@ jobs: DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }} DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} TEST: ${{ secrets.TEST }} - COOLIFY_WEBHOOK_API: ${{ secrets.COOLIFY_WEBHOOK_API }} - COOLIFY_TOKEN: ${{ secrets.COOLIFY_TOKEN }} + TEAMCITY_API_ID: ${{ secrets.TEAMCITY_API_ID }} + TEAMCITY_URL: ${{ secrets.TEAMCITY_URL }} + TEAMCITY_USERNAME: ${{ secrets.TEAMCITY_USERNAME }} + TEAMCITY_PASSWORD: ${{ secrets.TEAMCITY_PASSWORD }} permissions: contents: read packages: write diff --git a/.github/workflows/api-deploy-nonprod.yml b/.github/workflows/api-deploy-nonprod.yml index 0e6c77f..f740c63 100644 --- a/.github/workflows/api-deploy-nonprod.yml +++ b/.github/workflows/api-deploy-nonprod.yml @@ -22,8 +22,10 @@ on: DOCKERHUB_USER: {} DOCKERHUB_TOKEN: {} TEST: {} - COOLIFY_WEBHOOK_API: {} - COOLIFY_TOKEN: {} + TEAMCITY_API_ID: {} + TEAMCITY_URL: {} + TEAMCITY_USERNAME: {} + TEAMCITY_PASSWORD: {} jobs: check-inputs: runs-on: 'ubuntu-latest' @@ -31,17 +33,29 @@ jobs: steps: - name: Check secrets present run: | - if [[ -z "${{ secrets.COOLIFY_WEBHOOK_API }}" ]]; then - echo "COOLIFY_WEBHOOK_API secret is empty or missing" + if [[ -z "${{ secrets.TEAMCITY_API_ID }}" ]]; then + echo "TEAMCITY_API_ID secret is empty or missing" exit 1 else - echo "COOLIFY_WEBHOOK_API secret is set" + echo "TEAMCITY_API_ID secret is set" fi - if [[ -z "${{ secrets.COOLIFY_TOKEN }}" ]]; then - echo "COOLIFY_TOKEN secret is empty or missing" + if [[ -z "${{ secrets.TEAMCITY_URL }}" ]]; then + echo "TEAMCITY_URL secret is empty or missing" exit 1 else - echo "COOLIFY_TOKEN secret is set" + echo "TEAMCITY_URL secret is set" + fi + if [[ -z "${{ secrets.TEAMCITY_USERNAME }}" ]]; then + echo "TEAMCITY_USERNAME secret is empty or missing" + exit 1 + else + echo "TEAMCITY_USERNAME secret is set" + fi + if [[ -z "${{ secrets.TEAMCITY_PASSWORD }}" ]]; then + echo "TEAMCITY_PASSWORD secret is empty or missing" + exit 1 + else + echo "TEAMCITY_PASSWORD secret is set" fi if [[ -z "${{ secrets.DOCKERHUB_USER }}" ]]; then echo "DOCKERHUB_USER secret is empty or missing" @@ -90,4 +104,7 @@ jobs: steps: - name: Deploy to Coolify run: | - curl -X GET '${{ secrets.COOLIFY_WEBHOOK_API }}' --header 'Authorization: Bearer ${{ secrets.COOLIFY_TOKEN }}' \ No newline at end of file + curl -u ${{ secrets.TEAMCITY_USERNAME }}:${{ secrets.TEAMCITY_PASSWORD }} \ + -X POST \ + -d "buildType=id:${{ secrets.TEAMCITY_API_ID }}" \ + "${{ secrets.TEAMCITY_URL }}/httpAuth/app/rest/buildQueue" \ No newline at end of file diff --git a/.github/workflows/api-deploy-prod.yml b/.github/workflows/api-deploy-prod.yml index fc13d6d..fae8a84 100644 --- a/.github/workflows/api-deploy-prod.yml +++ b/.github/workflows/api-deploy-prod.yml @@ -22,8 +22,10 @@ on: DOCKERHUB_USER: {} DOCKERHUB_TOKEN: {} TEST: {} - COOLIFY_WEBHOOK_API: {} - COOLIFY_TOKEN: {} + TEAMCITY_API_ID: {} + TEAMCITY_URL: {} + TEAMCITY_USERNAME: {} + TEAMCITY_PASSWORD: {} jobs: check-inputs: runs-on: 'ubuntu-latest' @@ -31,17 +33,29 @@ jobs: steps: - name: Check secrets present run: | - if [[ -z "${{ secrets.COOLIFY_WEBHOOK_API }}" ]]; then - echo "COOLIFY_WEBHOOK_API secret is empty or missing" + if [[ -z "${{ secrets.TEAMCITY_API_ID }}" ]]; then + echo "TEAMCITY_API_ID secret is empty or missing" exit 1 else - echo "COOLIFY_WEBHOOK_API secret is set" + echo "TEAMCITY_API_ID secret is set" fi - if [[ -z "${{ secrets.COOLIFY_TOKEN }}" ]]; then - echo "COOLIFY_TOKEN secret is empty or missing" + if [[ -z "${{ secrets.TEAMCITY_URL }}" ]]; then + echo "TEAMCITY_URL secret is empty or missing" exit 1 else - echo "COOLIFY_TOKEN secret is set" + echo "TEAMCITY_URL secret is set" + fi + if [[ -z "${{ secrets.TEAMCITY_USERNAME }}" ]]; then + echo "TEAMCITY_USERNAME secret is empty or missing" + exit 1 + else + echo "TEAMCITY_USERNAME secret is set" + fi + if [[ -z "${{ secrets.TEAMCITY_PASSWORD }}" ]]; then + echo "TEAMCITY_PASSWORD secret is empty or missing" + exit 1 + else + echo "TEAMCITY_PASSWORD secret is set" fi if [[ -z "${{ secrets.DOCKERHUB_USER }}" ]]; then echo "DOCKERHUB_USER secret is empty or missing" @@ -90,4 +104,7 @@ jobs: steps: - name: Deploy to Coolify run: | - curl -X GET '${{ secrets.COOLIFY_WEBHOOK_API }}' --header 'Authorization: Bearer ${{ secrets.COOLIFY_TOKEN }}' + curl -u ${{ secrets.TEAMCITY_USERNAME }}:${{ secrets.TEAMCITY_PASSWORD }} \ + -X POST \ + -d "buildType=id:${{ secrets.TEAMCITY_API_ID }}" \ + "${{ secrets.TEAMCITY_URL }}/httpAuth/app/rest/buildQueue" diff --git a/.github/workflows/web-container.yml b/.github/workflows/web-container.yml index 550d526..9015fe5 100644 --- a/.github/workflows/web-container.yml +++ b/.github/workflows/web-container.yml @@ -68,8 +68,10 @@ jobs: DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }} DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} TEST: ${{ secrets.TEST }} - COOLIFY_WEBHOOK_WEB: ${{ secrets.COOLIFY_WEBHOOK_WEB }} - COOLIFY_TOKEN: ${{ secrets.COOLIFY_TOKEN }} + TEAMCITY_WEB_ID: ${{ secrets.TEAMCITY_WEB_ID }} + TEAMCITY_URL: ${{ secrets.TEAMCITY_URL }} + TEAMCITY_USERNAME: ${{ secrets.TEAMCITY_USERNAME }} + TEAMCITY_PASSWORD: ${{ secrets.TEAMCITY_PASSWORD }} permissions: contents: read packages: write @@ -90,8 +92,10 @@ jobs: DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }} DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} TEST: ${{ secrets.TEST }} - COOLIFY_WEBHOOK_WEB: ${{ secrets.COOLIFY_WEBHOOK_WEB }} - COOLIFY_TOKEN: ${{ secrets.COOLIFY_TOKEN }} + TEAMCITY_WEB_ID: ${{ secrets.TEAMCITY_WEB_ID }} + TEAMCITY_URL: ${{ secrets.TEAMCITY_URL }} + TEAMCITY_USERNAME: ${{ secrets.TEAMCITY_USERNAME }} + TEAMCITY_PASSWORD: ${{ secrets.TEAMCITY_PASSWORD }} permissions: contents: read packages: write diff --git a/.github/workflows/web-deploy-nonprod.yml b/.github/workflows/web-deploy-nonprod.yml index 0642e75..5c0caca 100644 --- a/.github/workflows/web-deploy-nonprod.yml +++ b/.github/workflows/web-deploy-nonprod.yml @@ -22,8 +22,10 @@ on: DOCKERHUB_USER: {} DOCKERHUB_TOKEN: {} TEST: {} - COOLIFY_WEBHOOK_WEB: {} - COOLIFY_TOKEN: {} + TEAMCITY_WEB_ID: {} + TEAMCITY_URL: {} + TEAMCITY_USERNAME: {} + TEAMCITY_PASSWORD: {} jobs: check-inputs: runs-on: 'ubuntu-latest' @@ -31,17 +33,29 @@ jobs: steps: - name: Check secrets present run: | - if [[ -z "${{ secrets.COOLIFY_WEBHOOK_WEB }}" ]]; then - echo "COOLIFY_WEBHOOK_WEB secret is empty or missing" + if [[ -z "${{ secrets.TEAMCITY_WEB_ID }}" ]]; then + echo "TEAMCITY_WEB_ID secret is empty or missing" exit 1 else - echo "COOLIFY_WEBHOOK_WEB secret is set" + echo "TEAMCITY_WEB_ID secret is set" fi - if [[ -z "${{ secrets.COOLIFY_TOKEN }}" ]]; then - echo "COOLIFY_TOKEN secret is empty or missing" + if [[ -z "${{ secrets.TEAMCITY_URL }}" ]]; then + echo "TEAMCITY_URL secret is empty or missing" exit 1 else - echo "COOLIFY_TOKEN secret is set" + echo "TEAMCITY_URL secret is set" + fi + if [[ -z "${{ secrets.TEAMCITY_USERNAME }}" ]]; then + echo "TEAMCITY_USERNAME secret is empty or missing" + exit 1 + else + echo "TEAMCITY_USERNAME secret is set" + fi + if [[ -z "${{ secrets.TEAMCITY_PASSWORD }}" ]]; then + echo "TEAMCITY_PASSWORD secret is empty or missing" + exit 1 + else + echo "TEAMCITY_PASSWORD secret is set" fi if [[ -z "${{ secrets.DOCKERHUB_USER }}" ]]; then echo "DOCKERHUB_USER secret is empty or missing" @@ -90,4 +104,7 @@ jobs: steps: - name: Deploy to Coolify run: | - curl -X GET '${{ secrets.COOLIFY_WEBHOOK_WEB }}' --header 'Authorization: Bearer ${{ secrets.COOLIFY_TOKEN }}' + curl -u ${{ secrets.TEAMCITY_USERNAME }}:${{ secrets.TEAMCITY_PASSWORD }} \ + -X POST \ + -d "buildType=id:${{ secrets.TEAMCITY_WEB_ID }}" \ + "${{ secrets.TEAMCITY_URL }}/httpAuth/app/rest/buildQueue" \ No newline at end of file diff --git a/.github/workflows/web-deploy-prod.yml b/.github/workflows/web-deploy-prod.yml index d02cc97..95a8fa0 100644 --- a/.github/workflows/web-deploy-prod.yml +++ b/.github/workflows/web-deploy-prod.yml @@ -22,8 +22,10 @@ on: DOCKERHUB_USER: {} DOCKERHUB_TOKEN: {} TEST: {} - COOLIFY_WEBHOOK_WEB: {} - COOLIFY_TOKEN: {} + TEAMCITY_WEB_ID: {} + TEAMCITY_URL: {} + TEAMCITY_USERNAME: {} + TEAMCITY_PASSWORD: {} jobs: check-inputs: runs-on: 'ubuntu-latest' @@ -31,17 +33,29 @@ jobs: steps: - name: Check secrets present run: | - if [[ -z "${{ secrets.COOLIFY_WEBHOOK_WEB }}" ]]; then - echo "COOLIFY_WEBHOOK_WEB secret is empty or missing" + if [[ -z "${{ secrets.TEAMCITY_WEB_ID }}" ]]; then + echo "TEAMCITY_WEB_ID secret is empty or missing" exit 1 else - echo "COOLIFY_WEBHOOK_WEB secret is set" + echo "TEAMCITY_WEB_ID secret is set" fi - if [[ -z "${{ secrets.COOLIFY_TOKEN }}" ]]; then - echo "COOLIFY_TOKEN secret is empty or missing" + if [[ -z "${{ secrets.TEAMCITY_URL }}" ]]; then + echo "TEAMCITY_URL secret is empty or missing" exit 1 else - echo "COOLIFY_TOKEN secret is set" + echo "TEAMCITY_URL secret is set" + fi + if [[ -z "${{ secrets.TEAMCITY_USERNAME }}" ]]; then + echo "TEAMCITY_USERNAME secret is empty or missing" + exit 1 + else + echo "TEAMCITY_USERNAME secret is set" + fi + if [[ -z "${{ secrets.TEAMCITY_PASSWORD }}" ]]; then + echo "TEAMCITY_PASSWORD secret is empty or missing" + exit 1 + else + echo "TEAMCITY_PASSWORD secret is set" fi if [[ -z "${{ secrets.DOCKERHUB_USER }}" ]]; then echo "DOCKERHUB_USER secret is empty or missing" @@ -90,4 +104,7 @@ jobs: steps: - name: Deploy to Coolify run: | - curl -X GET '${{ secrets.COOLIFY_WEBHOOK_WEB }}' --header 'Authorization: Bearer ${{ secrets.COOLIFY_TOKEN }}' + curl -u ${{ secrets.TEAMCITY_USERNAME }}:${{ secrets.TEAMCITY_PASSWORD }} \ + -X POST \ + -d "buildType=id:${{ secrets.TEAMCITY_WEB_ID }}" \ + "${{ secrets.TEAMCITY_URL }}/httpAuth/app/rest/buildQueue" \ No newline at end of file