mirror of
https://github.com/EpicMorg/docker-scripts.git
synced 2025-07-23 05:31:39 +03:00
195 lines
6.2 KiB
YAML
195 lines
6.2 KiB
YAML
name: EpicMorg EcoSystem Github Runner Images
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
schedule:
|
|
- cron: '4 5 * * 2,4,6'
|
|
|
|
jobs:
|
|
build-main-runners:
|
|
name: Build Main Github Runners
|
|
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: 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 Minimal Github Runner
|
|
uses: nick-fields/retry@v3
|
|
with:
|
|
retry_wait_seconds: 45
|
|
timeout_minutes: 600
|
|
max_attempts: 15
|
|
command: cd linux/ecosystem/github/runner/minimal && pwd && make build && make deploy
|
|
|
|
|
|
- name: Build and Deploy Main Github Runner
|
|
uses: nick-fields/retry@v3
|
|
with:
|
|
retry_wait_seconds: 45
|
|
timeout_minutes: 600
|
|
max_attempts: 15
|
|
command: cd linux/ecosystem/github/runner/latest && pwd && make build && make deploy
|
|
|
|
build-additional-runners:
|
|
name: Build Additional Github Runner
|
|
runs-on: [ ubuntu-24.04 ]
|
|
needs: build-main-runners
|
|
strategy:
|
|
matrix:
|
|
agent_type: [
|
|
# AMXX SDK
|
|
{type: 'amxx-sdk', version: '1.9', path: 'amxx-sdk/1.9'},
|
|
{type: 'amxx-sdk', version: '1.10', path: 'amxx-sdk/1.10'},
|
|
|
|
# Android SDK
|
|
{type: 'android-sdk', version: 'latest', path: 'android-sdk'},
|
|
|
|
# Atlassian SDK
|
|
{type: 'atlassian-sdk', version: 'latest', path: 'atlassian-sdk'},
|
|
|
|
# Node.js versions
|
|
{type: 'node', version: '0.12', path: 'node0.12'},
|
|
{type: 'node', version: '4', path: 'node4'},
|
|
{type: 'node', version: '5', path: 'node5'},
|
|
{type: 'node', version: '6', path: 'node6'},
|
|
{type: 'node', version: '7', path: 'node7'},
|
|
{type: 'node', version: '8', path: 'node8'},
|
|
{type: 'node', version: '9', path: 'node9'},
|
|
{type: 'node', version: '10', path: 'node10'},
|
|
{type: 'node', version: '11', path: 'node11'},
|
|
{type: 'node', version: '12', path: 'node12'},
|
|
{type: 'node', version: '13', path: 'node13'},
|
|
{type: 'node', version: '14', path: 'node14'},
|
|
{type: 'node', version: '15', path: 'node15'},
|
|
{type: 'node', version: '16', path: 'node16'},
|
|
{type: 'node', version: '17', path: 'node17'},
|
|
{type: 'node', version: '18', path: 'node18'},
|
|
{type: 'node', version: '19', path: 'node19'},
|
|
{type: 'node', version: '20', path: 'node20'},
|
|
{type: 'node', version: '21', path: 'node21'},
|
|
{type: 'node', version: '22', path: 'node22'},
|
|
{type: 'node', version: '23', path: 'node23'},
|
|
|
|
# PHP versions
|
|
{type: 'php', version: '5.6', path: 'php56'},
|
|
{type: 'php', version: '7.0', path: 'php70'},
|
|
{type: 'php', version: '7.1', path: 'php71'},
|
|
{type: 'php', version: '7.2', path: 'php72'},
|
|
{type: 'php', version: '7.3', path: 'php73'},
|
|
{type: 'php', version: '7.4', path: 'php74'},
|
|
{type: 'php', version: '8.0', path: 'php80'},
|
|
{type: 'php', version: '8.1', path: 'php81'},
|
|
{type: 'php', version: '8.2', path: 'php82'},
|
|
{type: 'php', version: '8.3', path: 'php83'},
|
|
{type: 'php', version: '8.4', path: 'php84'},
|
|
]
|
|
|
|
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 Github Runner ${{ matrix.agent_type.type }} ${{ matrix.agent_type.version }}
|
|
uses: nick-fields/retry@v3
|
|
with:
|
|
retry_wait_seconds: 45
|
|
timeout_minutes: 600
|
|
max_attempts: 15
|
|
command: cd linux/ecosystem/github/runner/${{ matrix.agent_type.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
|