-
-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add version pattern for Github Source and correctly handle github tags #196
Conversation
Signed-off-by: Olivier Vernin <olivier@vernin.me>
Signed-off-by: Olivier Vernin <olivier@vernin.me>
Add pattern matching to github version Signed-off-by: Olivier Vernin <olivier@vernin.me>
Signed-off-by: Olivier Vernin <olivier@vernin.me>
Signed-off-by: Olivier Vernin <olivier@vernin.me>
Signed-off-by: Olivier Vernin <olivier@vernin.me>
Signed-off-by: Olivier Vernin <olivier@vernin.me>
Signed-off-by: Olivier Vernin <olivier@vernin.me>
Signed-off-by: Olivier Vernin <olivier@vernin.me>
Signed-off-by: Olivier Vernin <olivier@vernin.me>
Signed-off-by: Olivier Vernin <olivier@vernin.me>
Signed-off-by: Olivier Vernin <olivier@vernin.me>
Signed-off-by: Olivier Vernin <olivier@vernin.me>
Signed-off-by: Olivier Vernin <olivier@vernin.me>
Signed-off-by: Olivier Vernin <olivier@vernin.me>
Signed-off-by: Olivier Vernin <olivier@vernin.me>
Signed-off-by: Olivier Vernin <olivier@vernin.me>
Signed-off-by: Olivier Vernin <olivier@vernin.me>
Great job 👏 This will be really useful! As per our discussion, WDYT about the following:
Examples: source:
kind: githubRelease
spec:
owner: "jenkins-infra"
repository: "jenkins-wiki-exporter"
token: "{{ requiredEnv .github.token }}"
username: "john"
versionFilter:
kind: semVer
pattern: '~1.10'
transformers:
- addPrefix: "v"
####
# => Return `v1.11.1` for instance source:
kind: githubRelease
spec:
owner: "kubernetes"
repository: "kubectl"
token: "{{ requiredEnv .github.token }}"
username: "john"
versionFilter:
kind: regex
pattern: 'kubernetes-1.(\d*).(\d*)$'
####
# => Return `kubernetes-1.20` for instance source:
kind: githubRelease
spec:
owner: "hashicorp"
repository: "terraform"
token: "{{ requiredEnv .github.token }}"
username: "john"
versionFilter:
kind: regex
pattern: 'v0.12.(\d*)'
####
# => Return `v0.12.30` for instance |
Thanks for the feedback and I'll consider them but I am just pushing back for the following suggestions
Also, |
|
[githubRelease] Deprecate version Signed-off-by: Olivier Vernin <olivier@vernin.me>
Add unit tests Split Regex and latest into two distinct version kind Signed-off-by: Olivier Vernin <olivier@vernin.me>
Add unit tests Signed-off-by: Olivier Vernin <olivier@vernin.me>
Fix #175
Fix #182
Add a new parameter
versiontype
which allows defining the kind of version we are fetching.this new parameter accepts one of the two following values "semver" or "text". Default is set to semver
The parameter github.version can handle version pattern as explained in the following example
semver
If semver is used then it means we are looking for a version following the semantic versioning rules. we can provide a version pattern in the Github
version
and any rule explained here here can be used.It's important to notice that in the process we drop any character not compliant with the semantic versioning like if a version starts with v, so this value must be added using
transformers
like in the exampletext
If text is specified we can apply a simple string pattern where Github version will match the latest version returned by Github starting with the pattern
Add a new optional Github parameter "constraint".
"Constraint" can specify version constraint as explained
Signed-off-by: Olivier Vernin olivier@vernin.me