The CircleCI orb currently relies on the GitLab CI example project for the return_license.sh script.
This external dependency introduces instability, as updates to the GitLab project (such as breaking changes or script removals) can disrupt the CircleCI orb’s functionality. Specifically, recent changes to GitLab CI broke the integration by modifying or removing critical scripts.
Issue:
- The CircleCI orb should not rely on external repositories for critical files like
before_script.sh. This makes the integration fragile and prone to breaking when changes occur in the GitLab CI project.
Solution:
- The long-term solution is to include the necessary shell scripts directly within the CircleCI orb. This will ensure that the orb remains stable and self-contained.
Mitigation:
Related code:
|
# Download before_script.sh from GameCI. |
|
curl --silent --location \ |
|
--request GET \ |
|
--url "https://gitlab.com/game-ci/unity3d-gitlab-ci-example/-/raw/main/ci/before_script.sh" \ |
|
--header 'Accept: application/vnd.github.v3+json' \ |
|
--output "$base_dir/before_script.sh" |
The CircleCI orb currently relies on the GitLab CI example project for the
return_license.shscript.This external dependency introduces instability, as updates to the GitLab project (such as breaking changes or script removals) can disrupt the CircleCI orb’s functionality. Specifically, recent changes to GitLab CI broke the integration by modifying or removing critical scripts.
Issue:
before_script.sh. This makes the integration fragile and prone to breaking when changes occur in the GitLab CI project.Solution:
Mitigation:
Related code:
unity-orb/src/scripts/linux/prepare-env.sh
Lines 65 to 70 in a1ddf09