Skip to content

ci: add self-contained Linux job on distro packages; guard sonarcloud for forks - #1132

Open
Danux-Be wants to merge 1 commit into
CytopiaTeam:masterfrom
Danux-Be:ci-native-linux
Open

ci: add self-contained Linux job on distro packages; guard sonarcloud for forks#1132
Danux-Be wants to merge 1 commit into
CytopiaTeam:masterfrom
Danux-Be:ci-native-linux

Conversation

@Danux-Be

Copy link
Copy Markdown
Contributor

Two CI changes, motivated by resilience of the project's build infrastructure:

1. New self-contained Linux job: build-linux-native.yml

Builds the game and runs the test suite against the distro packages (apt: libsdl2-dev, libsdl2-image-dev, libsdl2-ttf-dev, libnoise-dev, libopenal-dev, libvorbis-dev, …) — no Conan, no external servers.

Rationale: the existing jobs depend on personal infrastructure (git.anotherfoxguy.com build-tools clone, a personal Conan remote, CDN downloads). If any of that goes away, the project loses its CI entirely. For what it's worth, on our fork the Windows conan job already fails on master's own workflow with CMake Error: Could not read presets — this native job gives the project a working, self-contained CI in the meantime.

First run on a plain ubuntu-latest runner: Danux-Be/Cytopia #33274938804 — green in ~2m30 (configure, build, 53/53 tests with SDL_VIDEODRIVER=dummy, artifact upload).

Note: this PR also triggers the new workflow here, so it should validate itself on the upstream runners. 🙂 It depends on the FindLibNoise fixes from #1130 to find distro libnoise.

2. sonarcloud.yml: only run on the upstream repository

Forks lack the SONAR_TOKEN secret, and the scan step downloads a runner script from an external CDN — so forks just get a red ❌ for a job they can't run. Added if: github.repository == 'CytopiaTeam/Cytopia' to the job.


Related PRs from our fork: FindLibNoise fixes, codecov opt-in, --skipMenu fix — each independent, in case you want to review/merge them separately.

… for forks

- New build-linux-native workflow builds the game and runs the test suite
  against distro SDL2/libnoise/OpenAL packages (apt), with no Conan and no
  third-party server dependencies. Mirrors a verified local build.
- sonarcloud job now only runs on the upstream repository: forks lack
  SONAR_TOKEN and the scan step fetches a runner script from an external CDN.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant