docker-scripts/.github/workflows/epicmorg.base.images.debian.sid.yml
2025-04-25 02:22:27 +03:00

419 lines
12 KiB
YAML

name: EpicMorg Base - Debian SID Images
on:
workflow_dispatch:
schedule:
- cron: '2 2 * * 1,3,5'
jobs:
build-base-images:
name: Build Debian SID Base Images
runs-on: [ ubuntu-24.04 ]
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 Debian SID slim
uses: nick-fields/retry@v3
with:
retry_wait_seconds: 45
timeout_minutes: 600
max_attempts: 15
command: cd linux/ecosystem/epicmorg/debian/sid/slim && pwd && make build && make deploy
- name: Build and Deploy Debian SID main
uses: nick-fields/retry@v3
with:
retry_wait_seconds: 45
timeout_minutes: 600
max_attempts: 15
command: cd linux/ecosystem/epicmorg/debian/sid/main && pwd && make build && make deploy
- name: Build and Deploy Debian SID develop
uses: nick-fields/retry@v3
with:
retry_wait_seconds: 45
timeout_minutes: 600
max_attempts: 15
command: cd linux/ecosystem/epicmorg/debian/sid/develop && 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
build-node-images:
name: Build Debian SID Node.js Images
runs-on: [ ubuntu-24.04 ]
needs: build-base-images
strategy:
matrix:
include:
# Special Node versions
- {type: 'lts', path: 'nodejs/lts'}
- {type: 'current', path: 'nodejs/current'}
# Node version matrix
- {version: '0.12', path: 'nodejs/node0.12'}
- {version: '4', path: 'nodejs/node4'}
- {version: '5', path: 'nodejs/node5'}
- {version: '6', path: 'nodejs/node6'}
- {version: '7', path: 'nodejs/node7'}
- {version: '8', path: 'nodejs/node8'}
- {version: '9', path: 'nodejs/node9'}
- {version: '10', path: 'nodejs/node10'}
- {version: '11', path: 'nodejs/node11'}
- {version: '12', path: 'nodejs/node12'}
- {version: '13', path: 'nodejs/node13'}
- {version: '14', path: 'nodejs/node14'}
- {version: '15', path: 'nodejs/node15'}
- {version: '16', path: 'nodejs/node16'}
- {version: '17', path: 'nodejs/node17'}
- {version: '18', path: 'nodejs/node18'}
- {version: '19', path: 'nodejs/node19'}
- {version: '20', path: 'nodejs/node20'}
- {version: '21', path: 'nodejs/node21'}
- {version: '22', path: 'nodejs/node22'}
- {version: '23', path: 'nodejs/node23'}
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 Node.js ${{ matrix.type || matrix.version }}
uses: nick-fields/retry@v3
with:
retry_wait_seconds: 45
timeout_minutes: 600
max_attempts: 15
command: cd linux/ecosystem/epicmorg/debian/sid/${{ matrix.path }} && 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
build-dotnet-images:
name: Build Debian SID .NET Images
runs-on: [ ubuntu-24.04 ]
needs: build-base-images
strategy:
matrix:
include:
# Special .NET versions
- {type: 'lts', path: 'dotnet/lts'}
- {type: 'sts', path: 'dotnet/sts'}
# .NET version matrix
- {version: '5', path: 'dotnet/dotnet5'}
- {version: '6', path: 'dotnet/dotnet6'}
- {version: '7', path: 'dotnet/dotnet7'}
- {version: '8', path: 'dotnet/dotnet8'}
- {version: '9', path: 'dotnet/dotnet9'}
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 .NET ${{ matrix.type || matrix.version }}
uses: nick-fields/retry@v3
with:
retry_wait_seconds: 45
timeout_minutes: 600
max_attempts: 15
command: cd linux/ecosystem/epicmorg/debian/sid/${{ matrix.path }} && 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
build-python-images:
name: Build Debian SID Python Images
runs-on: [ ubuntu-24.04 ]
needs: build-base-images
strategy:
matrix:
version: [
'2.6', '2.7',
# '3.0',
'3.1', '3.2', '3.3', '3.4', '3.5',
'3.6', '3.7', '3.8', '3.9',
'3.10', '3.11', '3.12', '3.13'
]
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 Python ${{ matrix.version }}
uses: nick-fields/retry@v3
with:
retry_wait_seconds: 45
timeout_minutes: 600
max_attempts: 15
command: cd linux/ecosystem/epicmorg/debian/sid/python/${{ 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
build-jdk-images:
name: Build Debian SID JDK Images
runs-on: [ ubuntu-24.04 ]
needs: build-base-images
strategy:
matrix:
version: [
'6', '7',
'8', '11', '17', '21',
'16', '18', '19', '20', '22', '23'
]
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 JDK ${{ matrix.version }}
uses: nick-fields/retry@v3
with:
retry_wait_seconds: 45
timeout_minutes: 600
max_attempts: 15
command: cd linux/ecosystem/epicmorg/debian/sid/jdk/jdk${{ 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