diff --git a/.github/workflows/_disabled/docker-linux-develop.yml.txt b/.github/workflows/_disabled/docker-linux-develop.yml.txt index eb8fe8bd9..8e537c6cc 100644 --- a/.github/workflows/_disabled/docker-linux-develop.yml.txt +++ b/.github/workflows/_disabled/docker-linux-develop.yml.txt @@ -13,7 +13,7 @@ on: jobs: build-forked-fixed-independed-images: name: Forked and fixed independed images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v2 @@ -87,7 +87,7 @@ jobs: build-all-iamges: name: All images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/_disabled/docker-linux-master.yml.txt b/.github/workflows/_disabled/docker-linux-master.yml.txt index 28d86c1bf..39d4a7c4b 100644 --- a/.github/workflows/_disabled/docker-linux-master.yml.txt +++ b/.github/workflows/_disabled/docker-linux-master.yml.txt @@ -20,7 +20,7 @@ jobs: build-forked-fixed-independed-images: name: Forked and fixed independed images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v2 @@ -81,7 +81,7 @@ jobs: build-base-prod-iamges: name: EpicMorg Base Production images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v2 @@ -126,7 +126,7 @@ jobs: build-base-edge-iamges: name: EpicMorg Base Edge images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] needs: build-base-prod-iamges steps: @@ -173,7 +173,7 @@ jobs: build-base-develop-iamges: name: EpicMorg Base Develop images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] needs: build-base-edge-iamges steps: @@ -220,7 +220,7 @@ jobs: build-emg-main-iamges: name: EpicMorg Main images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] needs: build-base-develop-iamges steps: @@ -282,7 +282,7 @@ jobs: build-tr-iamges: name: Testrail image - runs-on: ubuntu-24.04 + runs-on: [self-hosted] needs: build-emg-main-iamges steps: @@ -309,7 +309,7 @@ jobs: build-emg-additional-web-iamges: name: EpicMorg Secondary images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] needs: build-emg-main-iamges steps: @@ -399,7 +399,7 @@ jobs: build-atl-bb-iamges: name: Atlassian Bitbucket latest images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] needs: build-base-prod-iamges steps: @@ -431,7 +431,7 @@ jobs: build-atl-docs-iamges: name: Atlassian Confluence latest images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] needs: build-base-prod-iamges steps: @@ -463,7 +463,7 @@ jobs: build-atl-jira-iamges: name: Atlassian Jira latest images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] needs: build-base-prod-iamges steps: @@ -495,7 +495,7 @@ jobs: build-atl-fycru-iamges: name: Atlassian Fisheye + Crucible images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] needs: build-base-prod-iamges steps: @@ -522,7 +522,7 @@ jobs: build-qbt-iamges: name: qBitTorrent images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] needs: build-base-edge-iamges steps: @@ -559,7 +559,7 @@ jobs: build-pgsql-iamges: name: PostgresSQL Backport images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] needs: build-base-edge-iamges steps: @@ -651,7 +651,7 @@ jobs: ################################################################################## build-nextcloud-backports: name: NextCloud Backport images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v2 @@ -715,7 +715,7 @@ jobs: build-atl-bb6-iamges: name: Atlassian Bitbucket 6 Backport images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] needs: build-base-prod-iamges steps: @@ -1472,7 +1472,7 @@ jobs: build-atl-bb7-iamges: name: Atlassian Bitbucket 7 Backport images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] needs: build-base-prod-iamges steps: @@ -1634,7 +1634,7 @@ jobs: build-atl-docs5-iamges: name: Atlassian Confluence 5 Backport images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] needs: build-base-prod-iamges steps: @@ -1676,7 +1676,7 @@ jobs: build-atl-docs6-iamges: name: Atlassian Confluence 6 Backport images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] needs: build-base-prod-iamges steps: @@ -2249,7 +2249,7 @@ jobs: build-atl-docs7-iamges: name: Atlassian Confluence 7 Backport images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] needs: build-base-prod-iamges steps: @@ -2461,7 +2461,7 @@ jobs: build-atl-jira5-iamges: name: Atlassian Jira 5 Backport images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] needs: build-base-prod-iamges steps: @@ -2488,7 +2488,7 @@ jobs: build-atl-jira6-iamges: name: Atlassian Jira 6 Backport images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] needs: build-base-prod-iamges steps: @@ -2525,7 +2525,7 @@ jobs: build-atl-jira7-iamges: name: Atlassian Jira 7 Backport images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] needs: build-base-prod-iamges steps: @@ -3129,7 +3129,7 @@ jobs: build-atl-jira8-iamges: name: Atlassian Jira 8 Backport images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] needs: build-base-prod-iamges steps: diff --git a/.github/workflows/_disabled/epicmorg.advanced.python.yml.txt b/.github/workflows/_disabled/epicmorg.advanced.python.yml.txt index 9070faadc..ad3dd454e 100644 --- a/.github/workflows/_disabled/epicmorg.advanced.python.yml.txt +++ b/.github/workflows/_disabled/epicmorg.advanced.python.yml.txt @@ -9,7 +9,7 @@ jobs: build-python-base-images: name: Build EpicMorg Advanced Debian Python Base Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -27,8 +27,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy Python 2.7 Main Image:" run: cd linux/advanced/python/main/2.7 && pwd && make build && make deploy @@ -73,7 +73,7 @@ jobs: build-python-develop-images: name: Build EpicMorg Advanced Debian Python Develop Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] needs: build-python-base-images steps: @@ -92,8 +92,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy Python 2.7 Develop Image:" run: cd linux/advanced/python/develop/2.7 && pwd && make build && make deploy diff --git a/.github/workflows/_disabled/epicmorg.ecosysctem.freegpt.images.yml.txt b/.github/workflows/_disabled/epicmorg.ecosysctem.freegpt.images.yml.txt index 89fa76229..8756357ad 100644 --- a/.github/workflows/_disabled/epicmorg.ecosysctem.freegpt.images.yml.txt +++ b/.github/workflows/_disabled/epicmorg.ecosysctem.freegpt.images.yml.txt @@ -10,7 +10,7 @@ jobs: build-freegpt-webui-image: name: EpicMorg EcoSystem freegpt-webui Image - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -28,8 +28,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: Build and Deploy freegpt-webui 1.0 run: cd linux/ecosystem/freegpt-webui/1.0 && make build && make deploy diff --git a/.github/workflows/epicmorg.advanced.images.yml b/.github/workflows/epicmorg.advanced.images.yml index 831b1ccdf..714d48679 100644 --- a/.github/workflows/epicmorg.advanced.images.yml +++ b/.github/workflows/epicmorg.advanced.images.yml @@ -2,14 +2,14 @@ name: EpicMorg Advanced Images on: workflow_dispatch: - schedule: - - cron: '0 02 * * 2,4,6' +# schedule: +# - cron: '0 02 * * 2,4,6' jobs: build-images: name: EpicMorg Advanced Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -27,8 +27,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy Advanced Mattermost Images:" run: cd linux/advanced/mattermost && pwd && make build && make deploy diff --git a/.github/workflows/epicmorg.advanced.nextcloud.images.yml b/.github/workflows/epicmorg.advanced.nextcloud.images.yml index b80e8e4ff..1f2c20a14 100644 --- a/.github/workflows/epicmorg.advanced.nextcloud.images.yml +++ b/.github/workflows/epicmorg.advanced.nextcloud.images.yml @@ -2,14 +2,14 @@ name: EpicMorg Advanced Nextcloud Images on: workflow_dispatch: - schedule: - - cron: '0 02 * * 2,4,6' +# schedule: +# - cron: '0 02 * * 2,4,6' jobs: build-pure-images: name: EpicMorg Advanced Nextcloud Stock Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -27,8 +27,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip # - name: "Build and Deploy Advanced Nextcloud 14 Stock Images:" # run: cd linux/advanced/nextcloud/pure/14 && pwd && make build && make deploy @@ -97,7 +97,7 @@ jobs: build-patched-images: name: Advanced Nextcloud Patched Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -115,8 +115,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip # - name: "Build and Deploy Advanced Nextcloud 14 Patched Images:" # run: cd linux/advanced/nextcloud/patched/14 && pwd && make build && make deploy diff --git a/.github/workflows/epicmorg.advanced.vscode.images.yml b/.github/workflows/epicmorg.advanced.vscode.images.yml index a0be40983..df3f83ff9 100644 --- a/.github/workflows/epicmorg.advanced.vscode.images.yml +++ b/.github/workflows/epicmorg.advanced.vscode.images.yml @@ -2,14 +2,14 @@ name: "EpicMorg Advanced Vscode Server Images" on: workflow_dispatch: - schedule: - - cron: '0 0 * * 2,4,6' +# schedule: +# - cron: '0 0 * * 2,4,6' jobs: build-images: name: Build EpicMorg Advanced Vscode Server Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -28,8 +28,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip ################################################################################## diff --git a/.github/workflows/epicmorg.advanced.zabbix.images.yml b/.github/workflows/epicmorg.advanced.zabbix.images.yml index 83abf025b..df605c125 100644 --- a/.github/workflows/epicmorg.advanced.zabbix.images.yml +++ b/.github/workflows/epicmorg.advanced.zabbix.images.yml @@ -2,14 +2,14 @@ name: EpicMorg Advanced Zabbix Images on: workflow_dispatch: - schedule: - - cron: '0 03 * * 2,4,6' +# schedule: +# - cron: '0 03 * * 2,4,6' jobs: build-latest-images: name: EpicMorg Advanced Zabbix Latest Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -27,8 +27,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy Advanced Zabbix Agent Images:" run: cd linux/advanced/zabbix/latest/agent && pwd && make build && make deploy @@ -64,7 +64,7 @@ jobs: build-30-images: name: Build EpicMorg Advanced Zabbix 3.0 Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -82,8 +82,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy Advanced Zabbix Agent Images:" run: cd linux/advanced/zabbix/3.0/agent && pwd && make build && make deploy @@ -116,7 +116,7 @@ jobs: build-40-images: name: Build EpicMorg Advanced Zabbix 4.0 Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -134,8 +134,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy Advanced Zabbix Agent Images:" run: cd linux/advanced/zabbix/4.0/agent && pwd && make build && make deploy @@ -168,7 +168,7 @@ jobs: build-50-images: name: Build EpicMorg Advanced Zabbix 5.0 Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -186,8 +186,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy Advanced Zabbix Agent Images:" run: cd linux/advanced/zabbix/5.0/agent && pwd && make build && make deploy @@ -223,7 +223,7 @@ jobs: build-52-images: name: Build EpicMorg Advanced Zabbix 5.2 Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -241,8 +241,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy Advanced Zabbix Agent Images:" run: cd linux/advanced/zabbix/5.2/agent && pwd && make build && make deploy @@ -278,7 +278,7 @@ jobs: build-54-images: name: Build EpicMorg Advanced Zabbix 5.4 Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -296,8 +296,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy Advanced Zabbix Agent Images:" run: cd linux/advanced/zabbix/5.4/agent && pwd && make build && make deploy @@ -333,7 +333,7 @@ jobs: build-60-images: name: Build EpicMorg Advanced Zabbix 6.0 Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -351,8 +351,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy Advanced Zabbix Agent Images:" run: cd linux/advanced/zabbix/6.0/agent && pwd && make build && make deploy @@ -388,7 +388,7 @@ jobs: build-62-images: name: Build EpicMorg Advanced Zabbix 6.2 Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -406,8 +406,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy Advanced Zabbix Agent Images:" run: cd linux/advanced/zabbix/6.2/agent && pwd && make build && make deploy @@ -443,7 +443,7 @@ jobs: build-64-images: name: Build EpicMorg Advanced Zabbix 6.4 Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -461,8 +461,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy Advanced Zabbix Agent Images:" run: cd linux/advanced/zabbix/6.4/agent && pwd && make build && make deploy @@ -498,7 +498,7 @@ jobs: build-70-images: name: Build EpicMorg Advanced Zabbix 7.0 Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -516,8 +516,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy Advanced Zabbix Agent Images:" run: cd linux/advanced/zabbix/7.0/agent && pwd && make build && make deploy @@ -551,9 +551,9 @@ jobs: ################################################################################## - build-trunk-images: - name: Build EpicMorg Advanced Zabbix trunk Images - runs-on: ubuntu-24.04 + build-72-images: + name: Build EpicMorg Advanced Zabbix 7.2 Images + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -571,8 +571,63 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip + + - name: "Build and Deploy Advanced Zabbix Agent Images:" + run: cd linux/advanced/zabbix/7.2/agent && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Agent2 Images:" + run: cd linux/advanced/zabbix/7.2/agent2 && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Java Gateway Images:" + run: cd linux/advanced/zabbix/7.2/java-gateway && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Proxy Mysql Images:" + run: cd linux/advanced/zabbix/7.2/proxy-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Proxy Sqlite3 Images:" + run: cd linux/advanced/zabbix/7.2/proxy-sqlite3 && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Server Mysql Images:" + run: cd linux/advanced/zabbix/7.2/server-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Server Pgsql Images:" + run: cd linux/advanced/zabbix/7.2/server-pgsql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Snmptraps Images:" + run: cd linux/advanced/zabbix/7.2/snmptraps && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Web Mysql Images:" + run: cd linux/advanced/zabbix/7.2/web-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Web Pgsql Images:" + run: cd linux/advanced/zabbix/7.2/web-pgsql && pwd && make build && make deploy + +################################################################################## + + build-trunk-images: + name: Build EpicMorg Advanced Zabbix trunk Images + runs-on: [self-hosted] + + steps: + - uses: actions/checkout@v4 + - name: Log into docker registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Log into harbor registry + run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" + + - name: Check buildah + run: | + buildah --version + buildah info + + - name: Test Make + run: make + +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy Advanced Zabbix Agent Images:" run: cd linux/advanced/zabbix/trunk/agent && pwd && make build && make deploy diff --git a/.github/workflows/epicmorg.base.images.current.atlassian.yml b/.github/workflows/epicmorg.base.images.current.atlassian.yml index 42e416201..32326aff5 100644 --- a/.github/workflows/epicmorg.base.images.current.atlassian.yml +++ b/.github/workflows/epicmorg.base.images.current.atlassian.yml @@ -9,7 +9,7 @@ jobs: build-10-images: name: Build EpicMorg Atlassian Main Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -27,8 +27,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy Atlassian Bitbucket Image:" run: cd linux/ecosystem/atlassian/bitbucket/latest && pwd && make build && make deploy diff --git a/.github/workflows/epicmorg.base.images.debian.10.yml b/.github/workflows/epicmorg.base.images.debian.10.yml index 7d638a8da..3a1ff72c2 100644 --- a/.github/workflows/epicmorg.base.images.debian.10.yml +++ b/.github/workflows/epicmorg.base.images.debian.10.yml @@ -9,7 +9,7 @@ jobs: build-10-images: name: Build EpicMorg Debian 10 Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -27,8 +27,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip ################################################################################## diff --git a/.github/workflows/epicmorg.base.images.debian.11.yml b/.github/workflows/epicmorg.base.images.debian.11.yml index 258f8dc67..1fcfacc4a 100644 --- a/.github/workflows/epicmorg.base.images.debian.11.yml +++ b/.github/workflows/epicmorg.base.images.debian.11.yml @@ -9,7 +9,7 @@ jobs: build-10-images: name: Build EpicMorg Debian 11 LTS Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -27,8 +27,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy Debian 11 LTS slim Image:" run: cd linux/ecosystem/epicmorg/debian/11-bullseye/slim && pwd && make build && make deploy diff --git a/.github/workflows/epicmorg.base.images.debian.12.yml b/.github/workflows/epicmorg.base.images.debian.12.yml index f7da1fa3e..51d167831 100644 --- a/.github/workflows/epicmorg.base.images.debian.12.yml +++ b/.github/workflows/epicmorg.base.images.debian.12.yml @@ -13,7 +13,7 @@ jobs: build-10-images: name: Build EpicMorg Debian 12 Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -31,8 +31,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy Debian 12 slim Image:" run: cd linux/ecosystem/epicmorg/debian/12-bookworm/slim && pwd && make build && make deploy diff --git a/.github/workflows/epicmorg.base.images.debian.13.yml b/.github/workflows/epicmorg.base.images.debian.13.yml index 9f963f59d..3c22fd1ce 100644 --- a/.github/workflows/epicmorg.base.images.debian.13.yml +++ b/.github/workflows/epicmorg.base.images.debian.13.yml @@ -9,7 +9,7 @@ jobs: build-10-images: name: Build EpicMorg Debian 13 Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -27,8 +27,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy Debian 13 slim Image:" run: cd linux/ecosystem/epicmorg/debian/13-trixie/slim && pwd && make build && make deploy diff --git a/.github/workflows/epicmorg.base.images.debian.6.yml b/.github/workflows/epicmorg.base.images.debian.6.yml index 5c33878ad..b6342f623 100644 --- a/.github/workflows/epicmorg.base.images.debian.6.yml +++ b/.github/workflows/epicmorg.base.images.debian.6.yml @@ -9,7 +9,7 @@ jobs: build-06-images: name: Build EpicMorg Debian 6 Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -27,8 +27,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy Debian 6 slim Image:" run: cd linux/ecosystem/epicmorg/debian/06-squeeze/slim && pwd && make build && make deploy diff --git a/.github/workflows/epicmorg.base.images.debian.7.yml b/.github/workflows/epicmorg.base.images.debian.7.yml index 1ce53516a..b5e70e140 100644 --- a/.github/workflows/epicmorg.base.images.debian.7.yml +++ b/.github/workflows/epicmorg.base.images.debian.7.yml @@ -9,7 +9,7 @@ jobs: build-07-images: name: Build EpicMorg Debian 7 Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -27,8 +27,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy Debian 7 slim Image:" run: cd linux/ecosystem/epicmorg/debian/07-wheezy/slim && pwd && make build && make deploy diff --git a/.github/workflows/epicmorg.base.images.debian.8.yml b/.github/workflows/epicmorg.base.images.debian.8.yml index afe84edaa..77b648a88 100644 --- a/.github/workflows/epicmorg.base.images.debian.8.yml +++ b/.github/workflows/epicmorg.base.images.debian.8.yml @@ -9,7 +9,7 @@ jobs: build-08-images: name: Build EpicMorg Debian 8 Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -27,8 +27,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy Debian 8 slim Image:" run: cd linux/ecosystem/epicmorg/debian/08-jessie/slim && pwd && make build && make deploy diff --git a/.github/workflows/epicmorg.base.images.debian.9.yml b/.github/workflows/epicmorg.base.images.debian.9.yml index d287d4a1b..5b95202d1 100644 --- a/.github/workflows/epicmorg.base.images.debian.9.yml +++ b/.github/workflows/epicmorg.base.images.debian.9.yml @@ -9,7 +9,7 @@ jobs: build-09-images: name: Build EpicMorg Debian 9 Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -27,8 +27,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy Debian 9 slim Image:" run: cd linux/ecosystem/epicmorg/debian/09-stretch/slim && pwd && make build && make deploy diff --git a/.github/workflows/epicmorg.base.images.debian.sid.yml b/.github/workflows/epicmorg.base.images.debian.sid.yml index 976fd3994..da0cd0dce 100644 --- a/.github/workflows/epicmorg.base.images.debian.sid.yml +++ b/.github/workflows/epicmorg.base.images.debian.sid.yml @@ -9,7 +9,7 @@ jobs: build-10-images: name: Build EpicMorg Debian SID Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -27,8 +27,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy Debian SID slim Image:" run: cd linux/ecosystem/epicmorg/debian/sid/slim && pwd && make build && make deploy diff --git a/.github/workflows/epicmorg.base.images.gilhub.runners.yml b/.github/workflows/epicmorg.base.images.gilhub.runners.yml new file mode 100644 index 000000000..d5db4c59c --- /dev/null +++ b/.github/workflows/epicmorg.base.images.gilhub.runners.yml @@ -0,0 +1,261 @@ +name: EpicMorg EcoSystem Github Runner Images + +on: + workflow_dispatch: +# schedule: +# - cron: '4 5 * * 2,4,6' + +jobs: + + build-glr-main-images: + name: Build EpicMorg GitHub Runner Main Images + runs-on: [self-hosted] + + steps: + - uses: actions/checkout@v4 + - name: Log into docker registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Log into harbor registry + run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" + + - name: Check buildah + run: | + buildah --version + buildah info + + - name: Test Make + run: make + +# - name: Install requirements.txt +# run: make pip + + - name: "Build and Deploy GitHub Runner Minimal Image:" + run: cd linux/ecosystem/github/runner/minimal && pwd && make build && make deploy + + - name: "Build and Deploy GitHub Runner Main Image:" + run: cd linux/ecosystem/github/runner/latest && pwd && make build && make deploy + +################################################################################### +# +# build-glr-other-images: +# name: Build EpicMorg GitHub Runner Oter Images +# runs-on: [self-hosted] +# needs: build-glr-main-images +# +# steps: +# - uses: actions/checkout@v4 +# - name: Log into registry +# run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin +# +# - name: Check buildah +# run: | +# buildah --version +# buildah info +# +# - name: Test Make +# run: make +# +# - name: Install requirements.txt +# run: make pip +# +# - name: "Build and Deploy GitHub Runner amxX 1.9 SDK Image:" +# run: cd linux/ecosystem/github/runner/amxx-sdk/1.9 && pwd && make build && make deploy +# +# - name: "Build and Deploy GitHub Runner amxX 1.10 SDK Image:" +# run: cd linux/ecosystem/github/runner/amxx-sdk/1.10 && pwd && make build && make deploy +# +################################################################################### +# +# - name: Cleanup +# run: make clean +# +################################################################################### +# +# - name: "Build and Deploy GitHub Runner Android SDK Image (jdk8):" +# run: cd linux/ecosystem/github/runner/android-sdk/jdk8 && pwd && make build && make deploy +# +################################################################################### +# +# - name: Cleanup +# run: make clean +# +################################################################################### +# +# - name: "Build and Deploy GitHub Runner Android SDK Image (jdk11):" +# run: cd linux/ecosystem/github/runner/android-sdk/jdk11 && pwd && make build && make deploy +# +################################################################################### +# +# - name: Cleanup +# run: make clean +# +################################################################################### +# +# - name: "Build and Deploy GitHub Runner Android SDK Image (jdk17):" +# run: cd linux/ecosystem/github/runner/android-sdk/jdk17 && pwd && make build && make deploy +# +################################################################################### +# +# - name: Cleanup +# run: make clean +# +################################################################################### +# +# - name: "Build and Deploy GitHub Runner Atlassian SDK Image:" +# run: cd linux/ecosystem/github/runner/atlassian-sdk && pwd && make build && make deploy +# +################################################################################### +# +# - name: Cleanup +# run: make clean +# +################################################################################### +# +# - name: "Build and Deploy GitHub Runner dotNet SDK Image:" +# run: cd linux/ecosystem/github/runner/dotnet-sdk && pwd && make build && make deploy +# +# - name: "Build and Deploy GitHub Runner node0.12 Image:" +# run: cd linux/ecosystem/github/runner/node0.12 && pwd && make build && make deploy +# +# - name: "Build and Deploy GitHub Runner node4 Image:" +# run: cd linux/ecosystem/github/runner/node4 && pwd && make build && make deploy +# +################################################################################### +# +# - name: Cleanup +# run: make clean +# +################################################################################### +## +## - name: "Build and Deploy GitHub Runner node5 Image:" +## run: cd linux/ecosystem/github/runner/node5 && pwd && make build && make deploy +## +## - name: "Build and Deploy GitHub Runner node6 Image:" +## run: cd linux/ecosystem/github/runner/node6 && pwd && make build && make deploy +## +## - name: "Build and Deploy GitHub Runner node7 Image:" +## run: cd linux/ecosystem/github/runner/node7 && pwd && make build && make deploy +## +## ################################################################################## +## +## - name: Cleanup +## run: make clean +## +## ################################################################################## +## +## - name: "Build and Deploy GitHub Runner node8 Image:" +## run: cd linux/ecosystem/github/runner/node8 && pwd && make build && make deploy +## +## - name: "Build and Deploy GitHub Runner node9 Image:" +## run: cd linux/ecosystem/github/runner/node9 && pwd && make build && make deploy +## +## - name: "Build and Deploy GitHub Runner node10 Image:" +## run: cd linux/ecosystem/github/runner/node10 && pwd && make build && make deploy +## +## ################################################################################## +## +## - name: Cleanup +## run: make clean +## +## ################################################################################## +## +## - name: "Build and Deploy GitHub Runner node11 Image:" +## run: cd linux/ecosystem/github/runner/node11 && pwd && make build && make deploy +## +## - name: "Build and Deploy GitHub Runner node12 Image:" +## run: cd linux/ecosystem/github/runner/node12 && pwd && make build && make deploy +## +## - name: "Build and Deploy GitHub Runner node13 Image:" +## run: cd linux/ecosystem/github/runner/node13 && pwd && make build && make deploy +## +## ################################################################################## +## +## - name: Cleanup +## run: make clean +## +## ################################################################################## +## +## - name: "Build and Deploy GitHub Runner node14 Image:" +## run: cd linux/ecosystem/github/runner/node14 && pwd && make build && make deploy +## +## - name: "Build and Deploy GitHub Runner node15 Image:" +## run: cd linux/ecosystem/github/runner/node15 && pwd && make build && make deploy +## +## +## ################################################################################## +## +## - name: Cleanup +## run: make clean +## +## ################################################################################## +## +## - name: "Build and Deploy GitHub Runner node16 Image:" +## run: cd linux/ecosystem/github/runner/node16 && pwd && make build && make deploy +## +## - name: "Build and Deploy GitHub Runner node17 Image:" +## run: cd linux/ecosystem/github/runner/node17 && pwd && make build && make deploy +## +## - name: "Build and Deploy GitHub Runner node18 Image:" +## run: cd linux/ecosystem/github/runner/node18 && pwd && make build && make deploy +## +## ################################################################################## +## +## - name: Cleanup +## run: make clean +## +## ################################################################################## +## +## - name: "Build and Deploy GitHub Runner node19 Image:" +## run: cd linux/ecosystem/github/runner/node19 && pwd && make build && make deploy +## +## - name: "Build and Deploy GitHub Runner node20 Image:" +## run: cd linux/ecosystem/github/runner/node20 && pwd && make build && make deploy +## +## - name: "Build and Deploy GitHub Runner node21 Image:" +## run: cd linux/ecosystem/github/runner/node21 && pwd && make build && make deploy +## +## - name: "Build and Deploy GitHub Runner node22 Image:" +## run: cd linux/ecosystem/github/runner/node22 && pwd && make build && make deploy +## +## ################################################################################## +## +## - name: Cleanup +## run: make clean +## +## ################################################################################## +## +## - name: "Build and Deploy GitHub Runner php7.2 Image:" +## run: cd linux/ecosystem/github/runner/php7.2 && pwd && make build && make deploy +## +## - name: "Build and Deploy GitHub Runner php7.3 Image:" +## run: cd linux/ecosystem/github/runner/php7.3 && pwd && make build && make deploy +## +## - name: "Build and Deploy GitHub Runner php7.4 Image:" +## run: cd linux/ecosystem/github/runner/php7.4 && pwd && make build && make deploy +## +## +## ################################################################################## +## +## - name: Cleanup +## run: make clean +## +## ################################################################################## +## +## - name: "Build and Deploy GitHub Runner php8.0 Image:" +## run: cd linux/ecosystem/github/runner/php8.0 && pwd && make build && make deploy +## +## - name: "Build and Deploy GitHub Runner php8.1 Image:" +## run: cd linux/ecosystem/github/runner/php8.1 && pwd && make build && make deploy +## +## - name: "Build and Deploy GitHub Runner php8.2 Image:" +## run: cd linux/ecosystem/github/runner/php8.2 && pwd && make build && make deploy +## +## - name: "Build and Deploy GitHub Runner php8.3 Image:" +## run: cd linux/ecosystem/github/runner/php8.3 && pwd && make build && make deploy +## +## - name: "Build and Deploy GitHub Runner Steam SDK Image:" +## run: cd linux/ecosystem/github/runner/steam-sdk && pwd && make build && make deploy +## +## ################################################################################## +# \ No newline at end of file diff --git a/.github/workflows/epicmorg.base.images.giltab.runners.yml b/.github/workflows/epicmorg.base.images.giltab.runners.yml index 07389a56f..e295da68a 100644 --- a/.github/workflows/epicmorg.base.images.giltab.runners.yml +++ b/.github/workflows/epicmorg.base.images.giltab.runners.yml @@ -9,7 +9,7 @@ jobs: build-glr-main-images: name: Build EpicMorg Gitlab Runner Main Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -27,8 +27,12 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip + + - name: "Build and Deploy Gitlab Runner minimal Image:" + run: cd linux/ecosystem/gitlab/runner/minimal && pwd && make build && make deploy + - name: "Build and Deploy Gitlab Runner Main Image:" run: cd linux/ecosystem/gitlab/runner/latest && pwd && make build && make deploy @@ -37,7 +41,7 @@ jobs: # # build-glr-other-images: # name: Build EpicMorg Gitlab Runner Oter Images -# runs-on: ubuntu-24.04 +# runs-on: [self-hosted] # needs: build-glr-main-images # # steps: diff --git a/.github/workflows/epicmorg.base.images.perforce.yml b/.github/workflows/epicmorg.base.images.perforce.yml index 0911e919c..a2f5ad1b9 100644 --- a/.github/workflows/epicmorg.base.images.perforce.yml +++ b/.github/workflows/epicmorg.base.images.perforce.yml @@ -9,7 +9,7 @@ jobs: build-p4-images: name: Build EpicMorg Perfocre Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -27,8 +27,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy Perfocre r16.2 Image:" run: cd linux/ecosystem/perforce/base/r16.2 && pwd && make build && make deploy @@ -107,7 +107,7 @@ jobs: build-p4p-images: name: Build EpicMorg Perfocre Proxy Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] needs: build-p4-images steps: @@ -126,8 +126,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy Perfocre Proxy r16.2 Image:" run: cd linux/ecosystem/perforce/p4p/r16.2 && pwd && make build && make deploy diff --git a/.github/workflows/epicmorg.base.images.postgresql.yml b/.github/workflows/epicmorg.base.images.postgresql.yml index 48bf0a0ff..c32aae109 100644 --- a/.github/workflows/epicmorg.base.images.postgresql.yml +++ b/.github/workflows/epicmorg.base.images.postgresql.yml @@ -9,7 +9,7 @@ jobs: build-pgsql-images: name: Build EpicMorg PostgreSQL Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -27,8 +27,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy PostgreSQL 8.2 Image:" run: cd linux/ecosystem/postgres/8.2 && pwd && make build && make deploy diff --git a/.github/workflows/epicmorg.base.images.teamcity.agents.yml b/.github/workflows/epicmorg.base.images.teamcity.agents.yml index 25ef935d9..ddfbf2af4 100644 --- a/.github/workflows/epicmorg.base.images.teamcity.agents.yml +++ b/.github/workflows/epicmorg.base.images.teamcity.agents.yml @@ -9,7 +9,7 @@ jobs: build-tca-main-images: name: Build EpicMorg TeamCity Agent Main Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -27,8 +27,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy TeamCity Agent Minimal Image (jdk21):" run: cd linux/ecosystem/teamcity/agent/minimal && pwd && make build && make deploy @@ -40,7 +40,7 @@ jobs: build-tca-other-images: name: Build EpicMorg TeamCity Agent Oter Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] needs: build-tca-main-images steps: @@ -59,8 +59,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip # - name: "Build and Deploy TeamCity Agent amxX 1.9 SDK Image:" # run: cd linux/ecosystem/teamcity/agent/amxx-sdk/1.9 && pwd && make build && make deploy diff --git a/.github/workflows/epicmorg.base.images.testrail.yml b/.github/workflows/epicmorg.base.images.testrail.yml index 3fca3b93c..6e5fc80ef 100644 --- a/.github/workflows/epicmorg.base.images.testrail.yml +++ b/.github/workflows/epicmorg.base.images.testrail.yml @@ -9,7 +9,7 @@ jobs: build-testrail-images: name: Build EpicMorg Testrail Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] # needs: build-php-images steps: @@ -28,8 +28,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy Cassandra 3.11 Image:" run: cd linux/advanced/cassandra/3.11 && pwd && make build && make deploy @@ -38,7 +38,7 @@ jobs: build-testrail-702-images: name: Build EpicMorg Testrail 7.0.2.1016 Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] # needs: build-php-images steps: @@ -57,8 +57,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy Testrail 7.0.2.1016 Image:" run: cd linux/ecosystem/testrail/7.0.2.1016/main && pwd && make build && make deploy @@ -73,7 +73,7 @@ jobs: build-testrail-741-images: name: Build EpicMorg Testrail 7.4.1.8092 Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] # needs: build-php-images steps: @@ -92,8 +92,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy Testrail 7.4.1.8092 Image:" run: cd linux/ecosystem/testrail/7.4.1.8092/main && pwd && make build && make deploy diff --git a/.github/workflows/epicmorg.base.images.web.yml b/.github/workflows/epicmorg.base.images.web.yml index 7490c38ea..7e66b294a 100644 --- a/.github/workflows/epicmorg.base.images.web.yml +++ b/.github/workflows/epicmorg.base.images.web.yml @@ -9,7 +9,7 @@ jobs: build-apache2-images: name: Build EpicMorg Apache 2 Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -27,8 +27,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip # - name: "Build and Deploy Apache 2 Latest Image:" # run: cd linux/ecosystem/apache2/latest && pwd && make build && make deploy @@ -84,7 +84,7 @@ jobs: # # build-nginx-images: # name: Build EpicMorg NginX Images -# runs-on: ubuntu-24.04 +# runs-on: [self-hosted] # # steps: # - uses: actions/checkout@v4 diff --git a/.github/workflows/epicmorg.ecosysctem.misc.images.yml b/.github/workflows/epicmorg.ecosysctem.misc.images.yml index 034cd0721..99d299688 100644 --- a/.github/workflows/epicmorg.ecosysctem.misc.images.yml +++ b/.github/workflows/epicmorg.ecosysctem.misc.images.yml @@ -9,7 +9,7 @@ jobs: build-torrserver-image: name: EpicMorg EcoSystem TorrServer Image - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -27,8 +27,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: Build and Deploy TorrServer run: cd linux/ecosystem/torrserver && make build && make deploy @@ -37,7 +37,7 @@ jobs: build-ers-image: name: EpicMorg EcoSystem Electron Release Server Image - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -55,8 +55,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: Build and Deploy Electron Release Server run: cd linux/ecosystem/electron-release-server && make build && make deploy @@ -65,7 +65,7 @@ jobs: build-vk2discord-image: name: EpicMorg EcoSystem vk2discord Image - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -83,8 +83,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: Build and Deploy vk2discord run: cd linux/ecosystem/vk2discord && make build && make deploy @@ -93,7 +93,7 @@ jobs: build-qbittorrent-image: name: EpicMorg EcoSystem qBittorrent Image - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -111,8 +111,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: Build and Deploy qBittorrent 4.4.0 run: cd linux/ecosystem/qbittorrent/4.4.0 && make build && make deploy @@ -232,7 +232,7 @@ jobs: build-opentracker-image: name: EpicMorg EcoSystem openTracker Image - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -250,8 +250,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: Build and Deploy openTracker run: cd linux/ecosystem/opentracker && make build && make deploy @@ -260,7 +260,7 @@ jobs: build-retracker-image: name: EpicMorg EcoSystem reTracker Image - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -278,8 +278,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip # to rework # - name: Build and Deploy reTracker # run: cd linux/ecosystem/retracker && make build && make deploy @@ -288,7 +288,7 @@ jobs: build-torrust-tracker-image: name: EpicMorg EcoSystem Torrust Tracker Image - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -306,8 +306,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: Build and Deploy Torrust Tracker run: cd linux/ecosystem/torrust-tracker && make build && make deploy @@ -319,7 +319,7 @@ jobs: build-monero-cli-image: name: EpicMorg EcoSystem Monero CLI Image - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -337,8 +337,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: Build and Deploy Monero CLI run: cd linux/ecosystem/monero/monerod && make build && make deploy @@ -347,7 +347,7 @@ jobs: build-monero-p2pool-image: name: EpicMorg EcoSystem Monero p2pool Image - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -365,8 +365,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: Build and Deploy Monero p2pool run: cd linux/ecosystem/monero/p2pool && make build && make deploy @@ -375,7 +375,7 @@ jobs: build-ninjam-image: name: EpicMorg EcoSystem ninjam Image - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -393,8 +393,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: Build and Deploy ninjam run: cd linux/ecosystem/ninjam/latest && make build && make deploy diff --git a/.github/workflows/epicmorg.experimental.images.yml b/.github/workflows/epicmorg.experimental.images.yml index b58c7e43e..6c0844ad6 100644 --- a/.github/workflows/epicmorg.experimental.images.yml +++ b/.github/workflows/epicmorg.experimental.images.yml @@ -9,7 +9,7 @@ jobs: build-images: name: EpicMorg Advanced Images - runs-on: ubuntu-24.04 + runs-on: [self-hosted] steps: - uses: actions/checkout@v4 @@ -27,8 +27,8 @@ jobs: - name: Test Make run: make - - name: Install requirements.txt - run: make pip +# - name: Install requirements.txt +# run: make pip - name: "Build and Deploy Advanced Sentry Image:" run: cd linux/experimental/sentry/latest && pwd && make build && make deploy diff --git a/CHANGELOG.md b/CHANGELOG.md index 8db02e04a..8b5c62424 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ # Changelog * `apr` + * added `github runner` basic images. * updated `opentracker` * updated `retracker` * updated `torrserver` diff --git a/Makefile b/Makefile index efb089c9f..82ab613f6 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -VERSION = "2025.03.22" +VERSION = "2025.04.18" AUTHOR = "EpicMorg" MODIFIED = "STAM" DOCKER_SCAN_SUGGEST = false @@ -392,6 +392,7 @@ ecosystem-images: make ecosystem-postgres-images make ecosystem-teamcity-agent-images make ecosystem-gitlab-runner-images + make ecosystem-github-runner-images # make ecosystem-nginx-images # make advanced-vscode-server-images # make bundle-jira @@ -1417,6 +1418,10 @@ ecosystem-teamcity-agent-images: cd `pwd`/linux/ecosystem/teamcity/agent/php83 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/teamcity/agent/php84 && pwd && make build && make deploy +ecosystem-github-runner-images: + cd `pwd`/linux/ecosystem/github/runner/minimal && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/github/runner/latest && pwd && make build && make deploy + ecosystem-gitlab-runner-images: cd `pwd`/linux/ecosystem/gitlab/runner/minimal && pwd && make build && make deploy cd `pwd`/linux/ecosystem/gitlab/runner/latest && pwd && make build && make deploy diff --git a/linux/ecosystem/github/runner/latest/Dockerfile b/linux/ecosystem/github/runner/latest/Dockerfile new file mode 100644 index 000000000..91176d20e --- /dev/null +++ b/linux/ecosystem/github/runner/latest/Dockerfile @@ -0,0 +1,123 @@ +FROM hub.epicm.org/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# OCI setup: Buildah, Podman, Kaniko, Docker +################################################################## +# https://docs.docker.com/build/architecture/#install-buildx +RUN install -m 0755 -d /etc/apt/keyrings && \ + curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc && \ + chmod a+r /etc/apt/keyrings/docker.asc && \ + echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian bookworm stable nightly" | tee /etc/apt/sources.list.d/docker.list > /dev/null && \ + apt-get update && \ + apt-get install -y --no-install-recommends --allow-unauthenticated \ + docker-ce \ + docker-ce-cli \ + containerd.io \ + docker-buildx-plugin \ + docker-compose-plugin \ + containerd.io \ + buildah \ + podman \ + podman-compose \ + fuse-overlayfs && \ + pip3 install --break-system-packages --no-cache-dir \ + kaniko-wrapper \ + buildah-wrapper && \ + systemctl disable docker && \ + systemctl disable podman && \ + rm -rf /bin/docker-compose && \ + rm -rf /sbin/docker-compose && \ + rm -rf /usr/bin/docker-compose && \ + rm -rf /usr/sbin/docker-compose && \ + rm -rf /usr/local/bin/docker-compose && \ + rm -rf /usr/local/sbin/docker-compose && \ + export DOCKER_COMPOSE_VERSION=`curl --silent https://api.github.com/repos/docker/compose/releases/latest | jq .name -r` && \ + echo "Latest compose is: ${DOCKER_COMPOSE_VERSION}" && \ + curl -SL https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose && \ + chmod +x /usr/local/bin/docker-compose && \ +# cleanup + apt-get clean -y && \ + apt-get clean all -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +################################################################## +# TeamCity Agent post-setup +################################################################## +ENV BUILDAH_FORMAT=docker +ENV BUILDAH_ISOLATION=docker +ENV DOCKER_HOST="unix:///var/run/docker.sock" +ENV PODMAN_HOST="unix:///var/run/docker.sock" + +COPY etc/ /etc/ + +################################################################## +# installing dotnet +################################################################## +ENV DOTNET_CHANNEL=STS +ENV DOTNET_ROOT=${EMG_LOCAL_BASE_DIR}/dotnet/${DOTNET_CHANNEL} +ARG DOTNET_TOOLS_DIR=${DOTNET_ROOT}/tools +ARG DOTNET_INSTALL_DIR=${DOTNET_ROOT} +ARG DOTNET_INSTALL_SCRIPT_URL=https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh + +ENV DOTNET_CLI_TELEMETRY_OPTOUT=true +ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true + +ADD ${DOTNET_INSTALL_SCRIPT_URL} /tmp +RUN mkdir -p ${DOTNET_ROOT} && \ + chmod +x /tmp/dotnet-install.sh && \ + /tmp/dotnet-install.sh --verbose --no-path --install-dir ${DOTNET_ROOT} --channel ${DOTNET_CHANNEL} --version latest + +################################################################## +# Setup $PATH +################################################################## +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo $(dotnet --info) && \ + echo $(dotnet --list-sdks) && \ + echo $(dotnet --list-runtimes) && \ + echo "=============================================" + +################################################################## +# Mono +################################################################## +RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF && \ +# echo "deb https://download.mono-project.com/repo/debian stable-buster main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list && \ +# echo "deb https://download.mono-project.com/repo/debian nightly-buster main" | sudo tee /etc/apt/sources.list.d/mono-official-nightly.list && \ + echo "deb https://download.mono-project.com/repo/debian preview-buster main" | sudo tee /etc/apt/sources.list.d/mono-official-preview.list && \ + apt-get update && \ + apt-get install -y --allow-unauthenticated \ + mono-complete \ + mono-llvm-support \ + mono-devel \ + mono-dbg \ + referenceassemblies-pcl \ + ca-certificates-mono \ + mono-xsp4 + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +################################################################## +# final config +################################################################## +WORKDIR ${RUNNER_DIST_DIR} +VOLUME ["/var/lib/docker", "/var/lib/containers", "/var/tmp"] + +RUN updatedb diff --git a/linux/ecosystem/github/runner/latest/Makefile b/linux/ecosystem/github/runner/latest/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/github/runner/latest/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/latest/README.md b/linux/ecosystem/github/runner/latest/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/linux/ecosystem/github/runner/latest/docker-compose.yml b/linux/ecosystem/github/runner/latest/docker-compose.yml new file mode 100644 index 000000000..b669d5099 --- /dev/null +++ b/linux/ecosystem/github/runner/latest/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "hub.epicm.org/epicmorg/github-runner:latest" + build: + context: . diff --git a/linux/ecosystem/github/runner/latest/etc/containers/registries.conf b/linux/ecosystem/github/runner/latest/etc/containers/registries.conf new file mode 100644 index 000000000..681592e4a --- /dev/null +++ b/linux/ecosystem/github/runner/latest/etc/containers/registries.conf @@ -0,0 +1,79 @@ +# For more information on this configuration file, see containers-registries.conf(5). +# +# NOTE: RISK OF USING UNQUALIFIED IMAGE NAMES +# We recommend always using fully qualified image names including the registry +# server (full dns name), namespace, image name, and tag +# (e.g., registry.redhat.io/ubi8/ubi:latest). Pulling by digest (i.e., +# quay.io/repository/name@digest) further eliminates the ambiguity of tags. +# When using short names, there is always an inherent risk that the image being +# pulled could be spoofed. For example, a user wants to pull an image named +# `foobar` from a registry and expects it to come from myregistry.com. If +# myregistry.com is not first in the search list, an attacker could place a +# different `foobar` image at a registry earlier in the search list. The user +# would accidentally pull and run the attacker's image and code rather than the +# intended content. We recommend only adding registries which are completely +# trusted (i.e., registries which don't allow unknown or anonymous users to +# create accounts with arbitrary names). This will prevent an image from being +# spoofed, squatted or otherwise made insecure. If it is necessary to use one +# of these registries, it should be added at the end of the list. +# +# # An array of host[:port] registries to try when pulling an unqualified image, in order. +# unqualified-search-registries = ["example.com"] +# +# [[registry]] +# # The "prefix" field is used to choose the relevant [[registry]] TOML table; +# # (only) the TOML table with the longest match for the input image name +# # (taking into account namespace/repo/tag/digest separators) is used. +# # +# # The prefix can also be of the form: *.example.com for wildcard subdomain +# # matching. +# # +# # If the prefix field is missing, it defaults to be the same as the "location" field. +# prefix = "example.com/foo" +# +# # If true, unencrypted HTTP as well as TLS connections with untrusted +# # certificates are allowed. +# insecure = false +# +# # If true, pulling images with matching names is forbidden. +# blocked = false +# +# # The physical location of the "prefix"-rooted namespace. +# # +# # By default, this is equal to "prefix" (in which case "prefix" can be omitted +# # and the [[registry]] TOML table can only specify "location"). +# # +# # Example: Given +# # prefix = "example.com/foo" +# # location = "internal-registry-for-example.net/bar" +# # requests for the image example.com/foo/myimage:latest will actually work with the +# # internal-registry-for-example.net/bar/myimage:latest image. +# +# # The location can be empty iff prefix is in a +# # wildcarded format: "*.example.com". In this case, the input reference will +# # be used as-is without any rewrite. +# location = internal-registry-for-example.com/bar" +# +# # (Possibly-partial) mirrors for the "prefix"-rooted namespace. +# # +# # The mirrors are attempted in the specified order; the first one that can be +# # contacted and contains the image will be used (and if none of the mirrors contains the image, +# # the primary location specified by the "registry.location" field, or using the unmodified +# # user-specified reference, is tried last). +# # +# # Each TOML table in the "mirror" array can contain the following fields, with the same semantics +# # as if specified in the [[registry]] TOML table directly: +# # - location +# # - insecure +# [[registry.mirror]] +# location = "example-mirror-0.local/mirror-for-foo" +# [[registry.mirror]] +# location = "example-mirror-1.local/mirrors/foo" +# insecure = true +# # Given the above, a pull of example.com/foo/image:latest will try: +# # 1. example-mirror-0.local/mirror-for-foo/image:latest +# # 2. example-mirror-1.local/mirrors/foo/image:latest +# # 3. internal-registry-for-example.net/bar/image:latest +# # in order, and use the first one that exists. + +unqualified-search-registries = ["docker.io"] diff --git a/linux/ecosystem/github/runner/latest/etc/containers/storage.conf b/linux/ecosystem/github/runner/latest/etc/containers/storage.conf new file mode 100644 index 000000000..edb86fb1d --- /dev/null +++ b/linux/ecosystem/github/runner/latest/etc/containers/storage.conf @@ -0,0 +1,8 @@ +[storage] +driver = "overlay" +runroot = "/run/containers/storage" +graphroot = "/var/lib/containers/storage" +#rootless_storage_path = "$HOME/.local/share/containers/storage" + +[storage.options.overlay] +mount_program = "/usr/bin/fuse-overlayfs" diff --git a/linux/ecosystem/github/runner/latest/etc/supervisor/conf.d/docker-service.conf b/linux/ecosystem/github/runner/latest/etc/supervisor/conf.d/docker-service.conf new file mode 100644 index 000000000..faaafcaf4 --- /dev/null +++ b/linux/ecosystem/github/runner/latest/etc/supervisor/conf.d/docker-service.conf @@ -0,0 +1,13 @@ +[program:dockerd] +command=/usr/bin/dockerd --host unix:///var/run/docker.sock --experimental --iptables=false --bridge=none --log-level=warn +autostart=true +autorestart=true +killasgroup=true +stopasgroup=true +stdout_logfile=/var/log/supervisor/dockerd.out.log +stdout_logfile_maxbytes=128MB +stderr_logfile=/var/log/supervisor/dockerd.err.log +stderr_logfile_maxbytes=128MB +user=root +priority=1 +startretries=5 diff --git a/linux/ecosystem/github/runner/minimal/Dockerfile b/linux/ecosystem/github/runner/minimal/Dockerfile new file mode 100644 index 000000000..f3a85beef --- /dev/null +++ b/linux/ecosystem/github/runner/minimal/Dockerfile @@ -0,0 +1,55 @@ +FROM hub.epicm.org/epicmorg/debian:bookworm-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# GHA setup +################################################################## + +USER root + +ENV GIT_SSH_VARIANT=ssh + +ENV RUNNER_VERSION=2.323.0 +ENV RUNNER_DIST_DIR=${EMG_LOCAL_BASE_DIR}/github/actions-runner +ENV RUNNER_BIN_DIR=${RUNNER_DIST_DIR}/bin +ENV RUNNER_DIAG_DIR=${RUNNER_DIST_DIR}_diag +ENV RUNNER_WORK_DIR=${RUNNER_DIST_DIR}/_work +ENV RUNNER_URL=https://github.com/actions/runner/releases/download/v${RUNNER_VERSION}/actions-runner-linux-x64-${RUNNER_VERSION}.tar.gz +ENV RUNNER_TEMP=/tmp/actions-runner-linux-x64-${RUNNER_VERSION}.tar.gz + +COPY etc/ /etc/ +COPY usr/local/share/epicmorg/ /usr/local/share/epicmorg/ + +ADD ${RUNNER_URL} ${RUNNER_TEMP} +RUN mkdir -p ${RUNNER_DIST_DIR} ${RUNNER_DIST_DIR} ${RUNNER_WORK_DIR} && \ + apt-get update && \ + apt-get install -y --no-install-recommends --allow-unauthenticated \ + supervisor && \ + tar -xvzf ${RUNNER_TEMP} --directory ${RUNNER_DIST_DIR} && \ + chmod +x ${RUNNER_DIST_DIR}/bin/*.sh && \ + chmod +x ${RUNNER_DIST_DIR}/sbin/*.sh && \ + ${RUNNER_DIST_DIR}/bin//installdependencies.sh && \ + sync + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +################################################################## +# final config +################################################################## +WORKDIR ${RUNNER_DIST_DIR} + +VOLUME ["${RUNNER_WORK_DIR}", "${RUNNER_DIAG_DIR}", "/var/log/supervisor"] + +CMD ["/usr/bin/supervisord"] + +RUN updatedb diff --git a/linux/ecosystem/github/runner/minimal/Makefile b/linux/ecosystem/github/runner/minimal/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/github/runner/minimal/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/minimal/README.md b/linux/ecosystem/github/runner/minimal/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/linux/ecosystem/github/runner/minimal/docker-compose.yml b/linux/ecosystem/github/runner/minimal/docker-compose.yml new file mode 100644 index 000000000..808eb83bc --- /dev/null +++ b/linux/ecosystem/github/runner/minimal/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "hub.epicm.org/epicmorg/github-runner:minimal" + build: + context: . diff --git a/linux/ecosystem/github/runner/minimal/etc/supervisor/conf.d/github-runner.conf b/linux/ecosystem/github/runner/minimal/etc/supervisor/conf.d/github-runner.conf new file mode 100644 index 000000000..e34990880 --- /dev/null +++ b/linux/ecosystem/github/runner/minimal/etc/supervisor/conf.d/github-runner.conf @@ -0,0 +1,15 @@ +[program:github-actions-runner] +command=/usr/local/share/epicmorg/github/actions-runner/sbin/entrypoint.sh +autostart=true +autorestart=true +killasgroup=true +stopasgroup=true +#stdout_logfile=/var/log/supervisor/github-agent.out.log +#stderr_logfile=/var/log/supervisor/github-agent.err.log +stdout_logfile=/dev/fd/1 +stdout_logfile_maxbytes=0 +stderr_logfile=/dev/fd/2 +stderr_logfile_maxbytes=0 +user=root +priority=10 +startretries=5 diff --git a/linux/ecosystem/github/runner/minimal/etc/supervisor/conf.d/supervisord.conf b/linux/ecosystem/github/runner/minimal/etc/supervisor/conf.d/supervisord.conf new file mode 100644 index 000000000..591277381 --- /dev/null +++ b/linux/ecosystem/github/runner/minimal/etc/supervisor/conf.d/supervisord.conf @@ -0,0 +1,5 @@ +[supervisord] +nodaemon=true + +#[inet_http_server] +#port = 1337 diff --git a/linux/ecosystem/github/runner/minimal/usr/local/share/epicmorg/github/actions-runner/sbin/entrypoint.sh b/linux/ecosystem/github/runner/minimal/usr/local/share/epicmorg/github/actions-runner/sbin/entrypoint.sh new file mode 100644 index 000000000..3839102c5 --- /dev/null +++ b/linux/ecosystem/github/runner/minimal/usr/local/share/epicmorg/github/actions-runner/sbin/entrypoint.sh @@ -0,0 +1,31 @@ +#!/bin/bash +set -e # Exit immediately on any error + +# Validate required environment variables +if [[ -z "${GITHUB_URL}" || -z "${GITHUB_TOKEN}" || -z "${RUNNER_NAME}" ]]; then + echo "❌ Error: Missing required variables - GITHUB_URL, GITHUB_TOKEN, RUNNER_NAME" >&2 + exit 1 +fi + +# Navigate to runner directory (fail fast if missing) +cd "${RUNNER_DIST_DIR}" || { + echo "❌ Error: Runner directory not found" >&2 + exit 1 +} + +# Register/replace the runner (--replace handles existing configurations) +echo "🚀 Registering GitHub runner with --replace flag..." +./config.sh \ + --unattended \ + --replace \ + --url "${GITHUB_URL}" \ + --token "${GITHUB_TOKEN}" \ + --name "${RUNNER_NAME}" \ + --work "${RUNNER_WORK_DIR:-_work}" || { + echo "❌ Error: Runner registration failed" >&2 + exit 1 + } + +# Start the runner (exec replaces shell process for proper signal handling) +echo "🏃 Runner started successfully - waiting for jobs..." +exec ./run.sh diff --git a/linux/ecosystem/gitlab/runner/latest/Dockerfile b/linux/ecosystem/gitlab/runner/latest/Dockerfile index b7e650d23..ac52bce67 100644 --- a/linux/ecosystem/gitlab/runner/latest/Dockerfile +++ b/linux/ecosystem/gitlab/runner/latest/Dockerfile @@ -1,4 +1,4 @@ -FROM hub.epicm.org/epicmorg/debian:bookworm-develop +FROM hub.epicm.org/epicmorg/gitlab-runner:minimal LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive diff --git a/linux/ecosystem/gitlab/runner/minimal/Dockerfile b/linux/ecosystem/gitlab/runner/minimal/Dockerfile index e9ee66cb3..12d7678de 100644 --- a/linux/ecosystem/gitlab/runner/minimal/Dockerfile +++ b/linux/ecosystem/gitlab/runner/minimal/Dockerfile @@ -15,7 +15,10 @@ ENV GIT_SSH_VARIANT=ssh ADD https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64 /tmp -RUN mkdir -p \ +RUN apt-get update && \ + apt-get install -y --no-install-recommends --allow-unauthenticated \ + supervisor && \ + mkdir -p \ ${GITLAB_RUNNER_DIR} \ ${GITLAB_RUNNER_BIN_DIR} \ ${GITLAB_RUNNER_CONF_DIR} \ @@ -30,6 +33,8 @@ ENV PATH=${GITLAB_RUNNER_BIN_DIR}:$PATH RUN gitlab-runner --version +COPY etc/ /etc/ + ################################################################## # cleaninig up ################################################################## @@ -46,7 +51,7 @@ RUN apt-get clean -y && \ ################################################################## WORKDIR ${GITLAB_RUNNER_DIR} -VOLUME ["${GITLAB_RUNNER_CONF_DIR}", "${GITLAB_RUNNER_CERTS_DIR}", "${GITLAB_RUNNER_WORKER_DIR}", "/var/log/supervisor"] +VOLUME ["${GITLAB_RUNNER_CONF_DIR}", "${GITLAB_RUNNER_WORKER_DIR}", "/var/log/supervisor"] CMD ["/usr/bin/supervisord"]