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