Browse Source
* fix(workflows): support legacy game servers on older Ubuntu/Debian runners Multiple game servers have glibc compatibility requirements that prevent them from running on Ubuntu 24.04: - bfv, bf1942: Require Ubuntu <= 22.04 or Debian <= 12 (glibc 2.31) - btl, onset: Require Ubuntu <= 20.04 or Debian <= 11 (glibc 2.31) Changes: - Add runner field to details-check matrix generation - Map legacy servers to appropriate ubuntu-XX.04 LTS runners - Modern servers continue on ubuntu-latest (24.04) - Update details-check.yml to use dynamic runner from matrix This ensures all server tests pass in CI without breaking modern server testing on current GitHub Actions runners. * fix(workflows): run details-check on PRs and normalize ref resolution Details Check was not running for PR #4903 because the workflow only triggered on push to develop/workflow_dispatch. Also, pull_request refs (refs/pull/*) are not valid raw-content refs for GitHub downloads. Changes: - Trigger Details Check on pull_request to develop - Add LGSM_REF env resolved to PR head SHA or branch ref name - Use LGSM_REF for linuxgsm.sh download and LGSM_GITHUBBRANCH usage - Use LGSM_REF in matrix generation when fetching serverlist.csv This ensures legacy server jobs (bfv, bf1942, btl, onset) are included and executed during PR validation. * fix(workflows): run update-check on PRs and normalize ref resolution Apply the same PR-safe workflow behavior used in details-check: - Trigger update-check on pull_request to develop - Resolve LGSM_REF to PR head SHA or branch ref name - Use LGSM_REF for linuxgsm.sh download and LGSM_GITHUBBRANCH calls This ensures update-check validates PR changes instead of only running on develop pushes. * fix(check_deps): avoid false Debian version check on Ubuntu Ubuntu reports ID_LIKE=debian, which caused Debian upper-version checks to run on Ubuntu and incorrectly fail legacy titles on Ubuntu 22.04.x. Use distroid==debian for Debian limits in legacy compatibility guards so: - bf1942/bfv pass on Ubuntu 22.04.x as intended - btl/onset limits still apply correctly - Debian limits still apply on Debian only * fix(workflows): add PR trigger to version-check; replace archived action in docker trigger version-check.yml: - Add pull_request trigger targeting develop so version format is validated on PRs before merge trigger-docker-build.yml: - Replace archived convictional/[email protected] with native gh CLI approach (trigger + watch run ID) - Uses GH_TOKEN env var with PERSONAL_ACCESS_TOKEN secret - gh workflow run dispatches the workflow; gh run watch polls for completion and exits non-zero on failure, preserving job dependencies * fix(workflows): use timestamp filter to reliably identify triggered run ID Using --limit 1 to find the run ID is a race condition if another run of the same workflow starts concurrently. Capture a timestamp before dispatching and pass --created >=${before} to gh run list so we always select the run we just triggered. * remove pr checkpull/4906/head
committed by
GitHub
5 changed files with 74 additions and 31 deletions
@ -15,12 +15,22 @@ jobs: |
|||
runs-on: ubuntu-latest |
|||
steps: |
|||
- name: Trigger Workflow and Wait (linuxgsm) |
|||
uses: convictional/[email protected] |
|||
with: |
|||
owner: GameServerManagers |
|||
repo: docker-linuxgsm |
|||
github_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} |
|||
workflow_file_name: action-docker-publish.yml |
|||
env: |
|||
GH_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }} |
|||
run: | |
|||
before=$(date -u +%Y-%m-%dT%H:%M:%SZ) |
|||
gh workflow run action-docker-publish.yml --repo GameServerManagers/docker-linuxgsm |
|||
sleep 10 |
|||
run_id=$(gh run list \ |
|||
--workflow action-docker-publish.yml \ |
|||
--repo GameServerManagers/docker-linuxgsm \ |
|||
--created ">=${before}" \ |
|||
--limit 1 \ |
|||
--json databaseId \ |
|||
--jq '.[0].databaseId') |
|||
gh run watch "${run_id}" \ |
|||
--repo GameServerManagers/docker-linuxgsm \ |
|||
--exit-status |
|||
|
|||
trigger_build_docker-gameserver: |
|||
if: github.repository_owner == 'GameServerManagers' |
|||
@ -29,9 +39,19 @@ jobs: |
|||
runs-on: ubuntu-latest |
|||
steps: |
|||
- name: Trigger Workflow and Wait (gameserver) |
|||
uses: convictional/[email protected] |
|||
with: |
|||
owner: GameServerManagers |
|||
repo: docker-gameserver |
|||
github_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} |
|||
workflow_file_name: action-docker-publish.yml |
|||
env: |
|||
GH_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }} |
|||
run: | |
|||
before=$(date -u +%Y-%m-%dT%H:%M:%SZ) |
|||
gh workflow run action-docker-publish.yml --repo GameServerManagers/docker-gameserver |
|||
sleep 10 |
|||
run_id=$(gh run list \ |
|||
--workflow action-docker-publish.yml \ |
|||
--repo GameServerManagers/docker-gameserver \ |
|||
--created ">=${before}" \ |
|||
--limit 1 \ |
|||
--json databaseId \ |
|||
--jq '.[0].databaseId') |
|||
gh run watch "${run_id}" \ |
|||
--repo GameServerManagers/docker-gameserver \ |
|||
--exit-status |
|||
|
|||
Loading…
Reference in new issue