# Contributing ## Getting Started - [Install](https://github.com/bazelbuild/bazelisk#installation) `bazelisk` - Run `bazelisk test //...` - Run `bazelisk test $(bazelisk query "attr(tags, '\bmanual\b', //...)")` ## GitLab Compatibility GitLab CI components were experimental for a while. In [GitLab 16.3][16.3] the folder structure for a named component looked like so: ``` ├── template.yml ├── README.md ├── .gitlab-ci.yml ├── unit/ │ └── template.yml └── integration/ └── template.yml ``` In [16.5], the directory structure changed to: ``` ├── README.md ├── .gitlab-ci.yml └── templates/ └── all-scans.yml └── secret-detection.yml ``` The old structure was [deprecated]. Until the GitLab instance is upgraded past 16.5 both structures need to be supported. _Unfortunately_, a GitLab CI component **cannot be a symlink** so we must copy the content between `templates/bazelisk.yml` and `bazelisk/template.yml`. TODO: when gitlab.arm.com upgrades to 16.5+ remove this section and `bazelisk/template.yml` [16.3]: https://archives.docs.gitlab.com/16.3/ee/ci/components/#directory-structure [16.5]: https://docs.gitlab.com/16.5/ee/ci/components/#directory-structure [deprecated]: https://docs.gitlab.com/16.5/ee/ci/components/#component-configurations-saved-in-any-directory-deprecated