mirror of
https://github.com/EpicMorg/docker-scripts.git
synced 2025-07-21 12:46:24 +03:00
419 lines
13 KiB
YAML
419 lines
13 KiB
YAML
name: EpicMorg Base - Debian 13 Images
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
schedule:
|
|
- cron: '1 1 * * 1,3,5'
|
|
|
|
jobs:
|
|
build-base-images:
|
|
name: Build Debian 13 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 13 slim
|
|
uses: nick-fields/retry@v3
|
|
with:
|
|
retry_wait_seconds: 45
|
|
timeout_minutes: 600
|
|
max_attempts: 15
|
|
command: cd linux/ecosystem/epicmorg/debian/13-trixie/slim && pwd && make build && make deploy
|
|
|
|
- name: Build and Deploy Debian 13 main
|
|
uses: nick-fields/retry@v3
|
|
with:
|
|
retry_wait_seconds: 45
|
|
timeout_minutes: 600
|
|
max_attempts: 15
|
|
command: cd linux/ecosystem/epicmorg/debian/13-trixie/main && pwd && make build && make deploy
|
|
|
|
- name: Build and Deploy Debian 13 develop
|
|
uses: nick-fields/retry@v3
|
|
with:
|
|
retry_wait_seconds: 45
|
|
timeout_minutes: 600
|
|
max_attempts: 15
|
|
command: cd linux/ecosystem/epicmorg/debian/13-trixie/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 13 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/13-trixie/${{ 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 13 .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/13-trixie/${{ 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 13 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/13-trixie/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 13 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/13-trixie/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
|