Conversation
The workflow only checked repository size and coding style; it never built the code or ran the tests, and it predates the CSFML 3 migration. Add a build_and_test job that installs the SFML 3 / CSFML 3 toolchain (built from source and cached, since the Ubuntu packages are still CSFML 2), compiles the project with `make`, and runs the criterion suite with `make tests_run`. The mirror step now waits on both the coding-style and build/test jobs so a broken build is never mirrored. The existing size and coding-style jobs are unchanged.
The check_coding_style job pulled ghcr.io/epitech/coding-style-checker, which no longer exists (manifest unknown) — the job had been failing on infrastructure, not on the code. Epitech replaced that tool with Banana. Add a coding_style job that installs Banana from the epitech PPA, runs the epiclang plug-in over the sources (filtered to project files; CSFML 3 headers are fetched so the includes resolve) and runs banana-check-repo for the repository rules. The mirror now waits on this job and on build_and_test.
banana-check-repo scans the working directory, so cloning CSFML into the checkout made it flag every CSFML header as an invalid file name (C-O4). Clone the header tree into $HOME instead, leaving the repository tree clean for the repository-rule check.
The push_to_mirror job ran on every push and failed with "no path specified" whenever vars.MIRROR_URL is unset (any fork without the Epitech mirror configured). Guard it on a non-empty MIRROR_URL so it is skipped instead of failing; it still runs once the mirror variable and SSH key are set.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on the sanitizer/test work that is already on
main(#3/#4) and on #5.Why
The workflow only checked size and coding style — it never built the code or ran
the tests, and it still assumed the pre-migration toolchain. A green pipeline
therefore proved nothing about whether the project compiled or passed its tests.
What
build_and_testjob:libcriterion-dev,still CSFML 2, which is incompatible with the migrated code), cached by
version,
makethenmake tests_run.push_to_mirrornow depends on bothcheck_coding_styleandbuild_and_test,so a broken build is never mirrored to the school repo.
sizeandcheck_coding_stylejobs are unchanged.Note
The CSFML-3-from-source step may need a follow-up tweak on its first real run
(the runners can't be exercised locally). Coverage in CI is still pending the
duplicate-basename fix.