Skip to content

chore: set up asdf with .tool-versions #516

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

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

Conversation

devin-ai-integration[bot]
Copy link
Contributor

@devin-ai-integration devin-ai-integration bot commented Apr 28, 2025

Note from AJ (@aaronsteers)

This is a spinoff from this Slack thread:

Idea is to keep things more DRY and reduce version drift for tools used in CI workflows.

In total, this PR replaces 20 hardcoded version refs for Python and/or Poetry, instead storing the version in a new .tool-versions file which we can maintain centrally.

I've reviewed this PR and I think it's ready for others to review as well, esp. @bnchrch who's more experienced with asdf.

How

Link to GitHub Action docs:

Do developers have to use asdf?

No. This step does not require everyone on the team to use asdf. The scope here is just CI, and creating the local .tool-versions file. Developers can (if they want to) start using asdf, but that is not required for this PR to have positive value, since the emphasis here is really just on CI.

Generated Summary (Devin):

Set up asdf with .tool-versions

This PR adds a .tool-versions file containing the tool versions currently used in GitHub Actions workflows and updates the workflows to use the marocchino/tool-versions-action. This allows managing tool versions in a single place.

Changes:

  • Add .tool-versions file with Python and Poetry versions
  • Add tool-versions-action to workflows
  • Replace hardcoded versions with references to tool-versions step outputs

Requested by: Aaron ("AJ") Steers (aj@airbyte.io)

Link to Devin run: https://app.devin.ai/sessions/faac6654afb44c50b895d7e768f7c9aa

…n workflows

Co-Authored-By: Aaron <AJ> Steers <aj@airbyte.io>
Copy link
Contributor Author

Original prompt from Aaron:

@Devin - I want you to set up the CDK and the Airbyte repos to use asdf, including a .tool-versions file in each repo. Start by scanning the version numbers hardcoded into our existing github actions workflows. Then create a .tool-versions file containing all of the tools and versions that are currently hardcoded. Lastly, update those github workflows to leverage `marocchino/tool-versions-action` with a step id of `'tool-versions'. Everywhere in github actions you'd have a hardcoded version number, instead use the output of the new `tool-versions` step to feed the version number.
Copy link
Contributor Author

devin-ai-integration bot commented Apr 28, 2025

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring
@github-actions github-actions bot added the chore label Apr 28, 2025
Copy link
Contributor

@aaronsteers aaronsteers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

More places where matrix should have priority over tool versions file. I will apply these changes.

@aaronsteers aaronsteers requested review from bnchrch and dbgold17 April 28, 2025 18:25
@aaronsteers aaronsteers changed the title chore: set up asdf with .tool-versions Apr 28, 2025
@@ -0,0 +1,2 @@
python 3.11
Copy link
Contributor

@dbgold17 dbgold17 Apr 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

some workflows are using 3.10 it seems. - worth testing to make sure this bump doesn't break anything. Similarly workflows are not all using the same poetry version

Also unless there's a good reason not to, I like that this makes all workflows use the same versions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2 participants