-
Notifications
You must be signed in to change notification settings - Fork 320
Open
Labels
cccl devexCCCL Developer Experience improvementsCCCL Developer Experience improvementsfeature requestNew feature or request.New feature or request.infrastructureShared CMake, github, etc infrastructureShared CMake, github, etc infrastructure
Description
Is this a duplicate?
- I confirmed there appear to be no duplicate issues for this request and that I agree to the Code of Conduct
Area
Infrastructure
Is your feature request related to a problem? Please describe.
Developer Setup
As a CCCL developer, there are many routine setup tasks that need to be done after cloning a repo. While our devcontainers streamline much of the process, there are still setup tasks that need to be done on the host-side repo that cannot be configured via devcontainers:
- remote fork setup
- git repo config (rev-parse-ignore, git aliases, ignore
copy-pr-botbranches on fetch) - host-side vscode extension setup
- host-side precommit install
- WSL setup / error checking
Developer One-Shot
As a CCCL developer, I need to fetch/build/test a single SHA on a remote / temporary environment.
- Single-branch shallow fetch
- Option to run arbitrary commands in the fetched repo to simplify scripting
- Examples of useful commands:
ci/{build,test}_*.sh,ci/util/build_and_test_targets.sh.devcontainer/launch.sh -d <...>
- Examples of useful commands:
User Clone / Install
As a CCCL user, I'd like to be able to do a minimum fetch/install of a user-facing branch:
- Single branch clone
- Shallow clone
- Restrict auto-fetch branches to only
mainand release branches. - (optional:
--install <path>) Minimum config/build/install cycle restricted to only producing an install tree.
Describe the solution you'd like
Add convenience scripts that can be wget | bash'd to implement the above workflows:
setup/dev_clone.sh- clones and calls
dev_setup.shto do the bulk of the work (allows post-clone setup on existing repos).
- clones and calls
setup/oneshot_clone.shsetup/user_clone.sh- Install option uses existing install scripts.
Describe alternatives you've considered
No response
Additional context
No response
Metadata
Metadata
Assignees
Labels
cccl devexCCCL Developer Experience improvementsCCCL Developer Experience improvementsfeature requestNew feature or request.New feature or request.infrastructureShared CMake, github, etc infrastructureShared CMake, github, etc infrastructure
Type
Projects
Status
Todo