docker-scripts/.github/workflows/epicmorg.advanced.teamcity.servers.yml
2025-04-25 02:22:27 +03:00

87 lines
2.3 KiB
YAML

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