Remove Dependency on External Repository for `before_script.sh` in CircleCI Orb
- Dominant language
- Shell
- Stars
- 11
- Forks
- 13
- PR merge metrics
- No merged PRs in 30d
Description
The CircleCI orb currently relies on the [GitLab CI example project](https://gitlab.com/game-ci/unity3d-gitlab-ci-example) 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:**
- A hotfix (referenced in https://github.com/game-ci/unity-orb/issues/85) has been implemented to freeze the reference to the last working version of the script from GitLab CI. This temporary fix ensures continued functionality but does not address the core issue of external dependency reliance.
Related code: https://github.com/game-ci/unity-orb/blob/a1ddf0924ba51fb2a6ddff27c891df0b09ce7f37/src/scripts/linux/prepare-env.sh#L65-L70
Contributor guide
Research direction
Start with src/scripts/linux/prepare-env.sh around lines 65–70 and review the hotfix described in issue #85 to identify the GitLab-sourced scripts, including before_script.sh and return_license.sh. Move the required shell scripts into the CircleCI orb and verify that the orb no longer depends on the external repository.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- ci-cd
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100