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

go get github.com/apache/airflow-client-go@latest yields outdated github.com/apache/airflow-client-go/airflow subpackage #41

Open
bgoldman-videoamp opened this issue Feb 6, 2023 · 3 comments
Assignees

Comments

@bgoldman-videoamp
Copy link

I want to use the current version (v2.5.0), but using go get github.com/apache/airflow-client-go@latest as of today gives me v0.0.0-20230203175943-7af9875e7d4c. It definitely appears out of sync with the latest version as NewClearTaskInstance() function is missing and in addition the fields for theClearInstance struct appear out of sync with those of the current version.

go version: go1.19.5 darwin/arm64

@bgoldman-videoamp
Copy link
Author

bgoldman-videoamp commented Feb 6, 2023

So a closer look shows that the version issue is a rather superficial one (see opensearch-project/opensearch-go#73 for a similar issue. All you need to do is set the tag 2.5.0 to v2.5.0.) The real issue at hand is that the subpackage github.com/apache/airflow-client-go/airflow installed is out of date. When go get github.com/apache/airflow-client-go@latest is run, the package version for the subpackage installed is v0.0.0-20200725194829-781c285536c1 when it should be v0.0.0-20230203175943-7af9875e7d4c

@bgoldman-videoamp bgoldman-videoamp changed the title go get github.com/apache/airflow-client-go@latest gives me v0.0.0, not v2.5.0. go get github.com/apache/airflow-client-go@latest yields outdated github.com/apache/airflow-client-go/airflow subpackage Feb 6, 2023
@bgoldman-videoamp bgoldman-videoamp changed the title go get github.com/apache/airflow-client-go@latest yields outdated github.com/apache/airflow-client-go/airflow subpackage go get github.com/apache/airflow-client-go@latest yields outdated github.com/apache/airflow-client-go/airflow subpackage Feb 6, 2023
@pierrejeambrun
Copy link
Member

pierrejeambrun commented Feb 10, 2023

Hello @bgoldman-videoamp,

Thank you for reporting this. We are currently working on the release process of this package and your feedback is really welcome.

Out of sync submodule

I think the intent of this top level module was to have a way to actually test the client, using client_test.go. As you can see in the go.mod it also depends on testify test library, so this will also add this unnecessary dependency to your project. There is no reason for airflow client to require this extra test dependency for production. (or add test code etc.)

You can install directly the submodule:

go get github.com/apache/airflow-client-go/airflow/@latest

In this testing context, it explains why the top level dependency was almost never updated, the replace directive was enough for it to work as expected.

Nonetheless it is really easy to update it, here is a PR for that, also adding install instructions #42

II Tags Convention

We followed the same tagging strategy that we use for airflow core and other api clients. Indeed, for Go It looks like tag needs to start with v... to be recognized as version for most tools. For now you can still use the hash commit to install a specific tag if needed (go get github.com/apache/airflow-client-go/airflow/@<hashcommit>), but we might want to change the way we tag release for Go client.

I will open a separate PR to suggest this change.

Thanks

@pierrejeambrun pierrejeambrun self-assigned this Feb 10, 2023
@Rick-xuy
Copy link

I ran into a similar issue here. It seems that airflow is a separate module under repo github.com/apache/airflow-client-go. As far as I know, tags for submodule airflow should be like airflow/v2.5.0 to enable downstream to correctly get v2.5.0 of submodule github.com/apache/airflow-client-go/airflow.

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

No branches or pull requests

3 participants