Skip to content
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

lint: version stream #1062

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open

Conversation

Dentrax
Copy link
Member

@Dentrax Dentrax commented Jul 13, 2024

This PR adds a new linter to check if version-stream correctly set for the given package:

  • With a ReGeX, it checks whether package name contains version stream suffix
  • If update.github is used, it checks if the tag filter matches with version stream

I ran the code against wolfi/os and found the following issues:

wolfictl lint
2024/07/13 15:42:33 INFO Package: gitlab-cng-17.1: [valid-version-stream]: package is version streamed but tag filter 17.1 is missing on update.github (ERROR)
2024/07/13 15:42:33 INFO Package: gitlab-kas-17.1: [valid-version-stream]: package is version streamed but tag filter 17.1 is missing on update.github (ERROR)
2024/07/13 15:42:33 INFO Package: gitlab-runner-17.1: [valid-version-stream]: package is version streamed but tag filter 17.1 is missing on update.github (ERROR)
2024/07/13 15:42:33 INFO Package: go-1.20: [valid-version-stream]: package is version streamed but tag filter 1.20 is missing on update.github (ERROR)
2024/07/13 15:42:33 INFO Package: go-1.21: [valid-version-stream]: package is version streamed but go=${{package.full-version}} is missing on dependencies.provides (ERROR)
2024/07/13 15:42:33 INFO Package: go-1.22: [valid-version-stream]: package is version streamed but tag filter 1.22 is missing on update.github (ERROR)
2024/07/13 15:42:33 INFO Package: go-fips-1.20: [valid-version-stream]: package is version streamed but tag filter 1.20 is missing on update.github (ERROR)
2024/07/13 15:42:33 INFO Package: go-fips-1.21: [valid-version-stream]: package is version streamed but tag filter 1.21 is missing on update.github (ERROR)
2024/07/13 15:42:33 INFO Package: gtk-2.0: [valid-version-stream]: package is version streamed but gtk=${{package.full-version}} is missing on dependencies.provides (ERROR)
2024/07/13 15:42:33 INFO Package: jruby-9.4: [valid-version-stream]: package is version streamed but jruby=${{package.full-version}} is missing on dependencies.provides (ERROR)
2024/07/13 15:42:33 INFO Package: loki-3.0: [valid-version-stream]: package is version streamed but tag filter 3.0 is missing on update.github (ERROR)
2024/07/13 15:42:33 INFO Package: management-api-for-apache-cassandra-4.1: [valid-version-stream]: package is version streamed but tag filter 4.1 is missing on update.github (ERROR)
2024/07/13 15:42:33 INFO Package: percona-server-8.3: [valid-version-stream]: package is version streamed but percona-server=${{package.full-version}} is missing on dependencies.provides (ERROR)
2024/07/13 15:42:33 INFO Package: python-3.10: [valid-version-stream]: package is version streamed but python=${{package.full-version}} is missing on dependencies.provides (ERROR)
2024/07/13 15:42:33 INFO Package: python-3.11: [valid-version-stream]: package is version streamed but python=${{package.full-version}} is missing on dependencies.provides (ERROR)
2024/07/13 15:42:33 INFO Package: python-3.12: [valid-version-stream]: package is version streamed but python=${{package.full-version}} is missing on dependencies.provides (ERROR)
2024/07/13 15:42:33 INFO Package: ruby-3.0: [valid-version-stream]: package is version streamed but ruby=${{package.full-version}} is missing on dependencies.provides (ERROR)
2024/07/13 15:42:33 INFO Package: ruby-3.1: [valid-version-stream]: package is version streamed but ruby=${{package.full-version}} is missing on dependencies.provides (ERROR)
2024/07/13 15:42:33 INFO Package: ruby-3.2: [valid-version-stream]: package is version streamed but ruby=${{package.full-version}} is missing on dependencies.provides (ERROR)
2024/07/13 15:42:33 INFO Package: ruby-3.3: [valid-version-stream]: package is version streamed but ruby=${{package.full-version}} is missing on dependencies.provides (ERROR)
2024/07/13 15:42:33 INFO Package: ruby3.2-openid_connect-1.1.8: [valid-version-stream]: package is version streamed but ruby3.2-openid_connect=${{package.full-version}} is missing on dependencies.provides (ERROR)
2024/07/13 15:42:33 INFO Package: ruby3.2-rack-2.2: [valid-version-stream]: package is version streamed but ruby3.2-rack=${{package.full-version}} is missing on dependencies.provides (ERROR)

pkg/lint/rules.go Outdated Show resolved Hide resolved
@Dentrax Dentrax force-pushed the lint-version-stream branch 2 times, most recently from 528c36a to 0c086a1 Compare July 22, 2024 14:41
@Dentrax Dentrax marked this pull request as ready for review July 28, 2024 09:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants