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

Enable dynamic schema refresh #2703

Merged
merged 1 commit into from Nov 23, 2022
Merged

Conversation

ssbarnea
Copy link
Member

@ssbarnea ssbarnea commented Nov 19, 2022

  • schemas refresh is skipped on offline mode
  • failure to download schemas does not fail job
  • update attempt happens not more than once a day

@ssbarnea ssbarnea requested review from a team as code owners November 19, 2022 17:40
@github-actions github-actions bot added the skip-changelog Can be missed from the changelog. label Nov 19, 2022
@ssbarnea ssbarnea force-pushed the chore/schemas branch 2 times, most recently from 7063b41 to c34803d Compare November 19, 2022 19:21
@felixfontein
Copy link
Contributor

I'm not sure this is a good idea. It basically means that two folks two run ansible-lint for a specific x.y.z version end up with different results, especially when one is using --offline (like you should do in CI to make results repoducable) and the other one not (developers usually locally don't add that flag).

@ssbarnea
Copy link
Member Author

I'm not sure this is a good idea. It basically means that two folks two run ansible-lint for a specific x.y.z version end up with different results, especially when one is using --offline (like you should do in CI to make results repoducable) and the other one not (developers usually locally don't add that flag).

The difference is quite subtle because schemas changes are of minor nature. Look a https://github.com/ansible/schemas/pulls?q=is%3Apr+sort%3Aupdated-desc+is%3Amerged to get an idea about what kinds of changes are applied to them. I do not want to have to make a new release just to document existence of a new OS release in galaxy schema, it is to much work for both upstream/downstream use.

The reality is that we will slowly see more "online" feature being introduced in the future as we want to speedup the development.

The reproducibility, especially on CI is not something that is 0 or 1, it is always a gray agrea, ranging from very-good to very-poor. Different results can be produced even when running in offline mode or the extreamly of it the locked-down environment. One example is that SSL certificates expire, so running the same thing would produce different results in isolation, only if the clock is different.

The real question about this feature is if the current implementation is resilient enough to fallback to current copy when network is unavailable. We don't want to see any failure related to not being able to contact github.

@ssbarnea ssbarnea added enhancement and removed skip-changelog Can be missed from the changelog. labels Nov 20, 2022
@felixfontein
Copy link
Contributor

The reality is that we will slowly see more "online" feature being introduced in the future as we want to speedup the development.

IMO that's a really dangerous slippy slope that a linter should really, really avoid.

@github-actions github-actions bot added the skip-changelog Can be missed from the changelog. label Nov 23, 2022
@ssbarnea ssbarnea merged commit b5572ed into ansible:main Nov 23, 2022
@ssbarnea ssbarnea deleted the chore/schemas branch November 23, 2022 22:19
@ssbarnea ssbarnea removed the skip-changelog Can be missed from the changelog. label Nov 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants