name: EpicMorg Advanced TeamCity Servers Images on: workflow_dispatch: schedule: - cron: '0 08 * * 2,4,6' jobs: build-teamcity-servers: name: Build TeamCity Server ${{ matrix.version }} Image runs-on: [ ubuntu-24.04 ] strategy: matrix: version: [ 'latest', '2025.03', '2024.12', '2024.07.3', '2024.03.3', '2023.05.6', '2022.10.6', '2022.04.7' ] steps: - uses: actions/checkout@v4 with: clean: true show-progress: true submodules: true - name: Log into docker registry uses: nick-fields/retry@v3 with: retry_wait_seconds: 45 timeout_minutes: 600 max_attempts: 15 command: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin - name: Log into Quay.IO registry uses: nick-fields/retry@v3 with: retry_wait_seconds: 45 timeout_minutes: 600 max_attempts: 15 command: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" - name: Check buildah uses: nick-fields/retry@v3 with: retry_wait_seconds: 45 timeout_minutes: 600 max_attempts: 15 command: buildah --version - name: Test Make uses: nick-fields/retry@v3 with: retry_wait_seconds: 45 timeout_minutes: 600 max_attempts: 15 command: make - name: Install requirements.txt uses: nick-fields/retry@v3 with: retry_wait_seconds: 45 timeout_minutes: 600 max_attempts: 15 command: make pip - name: Build and Deploy TeamCity Server ${{ matrix.version }} uses: nick-fields/retry@v3 with: retry_wait_seconds: 45 timeout_minutes: 600 max_attempts: 15 command: cd linux/advanced/teamcity/server/${{ matrix.version }} && pwd && make build && make deploy - name: Cleanup uses: nick-fields/retry@v3 with: retry_wait_seconds: 45 timeout_minutes: 600 max_attempts: 15 command: make clean