Newer
Older
# Contributing
## Getting Started
- [Install](https://github.com/bazelbuild/bazelisk#installation) `bazelisk`
- Run `bazelisk test //...`
- Run `bazelisk test $(bazelisk query "attr(tags, '\bmanual\b', //...)")`
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
## 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