...
1package promote
2
3import (
4 "list"
5)
6
7#VersionList: {
8 [...#Version]
9 list.MinItems(1)
10}
11
12#Version: {
13 digest: #Digest
14 tags!: [...string]
15}
16
17#Package: {
18 name: string
19 versions?: #VersionList
20
21 // Require that latest be a digest that's contained in versions
22 // let versionDigests = [ for v in versions {v.digest} ]
23 // #versionsContainsLatest: list.Contains(versionDigests, latest)
24}
25
26packages: [...#Package]
27
28#Digest: {
29 =~"^sha256:[a-fA-F0-9]{64}" & !=""
30}
View as plain text