1
2
3
4
5
6
7
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
# galaxy
This rule identifies if the collection version mentioned in galaxy.yml is ideal
in terms of the version number being greater than or equal to `1.0.0`.
This rule looks for a changelog file in expected locations, detailed below in
the Changelog Details section.
This rule checks to see if the `galaxy.yml` file includes one of the required
tags for certification on Automation Hub. Additional custom tags can be added,
but one or more of these tags must be present for certification.
The tag list is as follows: `application`, `cloud`,`database`, `infrastructure`,
`linux`, `monitoring`, `networking`, `security`,`storage`, `tools`, `windows`.
This rule can produce messages such:
- `galaxy[version-missing]` - `galaxy.yaml` should have version tag.
- `galaxy[version-incorrect]` - collection version should be greater than or
equal to `1.0.0`
- `galaxy[no-changelog]` - collection is missing a changelog file in expected
locations.
- `galaxy[no-runtime]` - Please add a
[meta/runtime.yml](https://docs.ansible.com/ansible/latest/dev_guide/developing_collections_structure.html#meta-directory-and-runtime-yml)
file.
- `galaxy[tags]` - `galaxy.yaml` must have one of the required tags:
`application`, `cloud`, `database`, `infrastructure`, `linux`, `monitoring`,
`networking`, `security`, `storage`, `tools`, `windows`.
- `galaxy[invalid-dependency-version]` = Invalid collection metadata. Dependency
version spec range is invalid
If you want to ignore some of the messages above, you can add any of them to the
`ignore_list`.
## Problematic code
```yaml
# galaxy.yml
---
name: foo
namespace: bar
version: 0.2.3 # <-- collection version should be >= 1.0.0
authors:
- John
readme: ../README.md
description: "..."
```
## Correct code
```yaml
# galaxy.yml
---
name: foo
namespace: bar
version: 1.0.0
authors:
- John
readme: ../README.md
description: "..."
```
# Changelog Details
This rule expects a `CHANGELOG.md`, `CHANGELOG.rst`,
`changelogs/changelog.yaml`, or `changelogs/changelog.yml` file in the
collection root.
If a `changelogs/changelog.yaml` or `changelogs/changelog.yml` file exists, the
schema will be checked.
## Minimum required changelog.yaml/changelog.yml file
```yaml
# changelog.yaml
---
releases: {}
```
# Required Tag Details
## Problematic code
```yaml
# galaxy.yml
---
namespace: bar
name: foo
version: 1.0.0
authors:
- John
readme: ../README.md
description: "..."
license:
- Apache-2.0
repository: https://github.com/ORG/REPO_NAME
```
## Correct code
```yaml
# galaxy.yml
---
namespace: bar
name: foo
version: 1.0.0
authors:
- John
readme: ../README.md
description: "..."
license:
- Apache-2.0
repository: https://github.com/ORG/REPO_NAME
tags: [networking, test_tag, test_tag_2]
```
|