-
Notifications
You must be signed in to change notification settings - Fork 54
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
hashicorp/go-azure-sdk
- grouped submodules
#3601
Labels
tool/msgraph-importer
Issues related to the Microsoft Graph importer
Comments
tombuildsstuff
added
the
tool/msgraph-importer
Issues related to the Microsoft Graph importer
label
Jan 10, 2024
tombuildsstuff
added a commit
to hashicorp/terraform-provider-azurerm
that referenced
this issue
Jan 23, 2024
…e Manager submodules Dependent on (and can't be fully tested until) hashicorp/pandora#3601 is rolled out.
tombuildsstuff
added a commit
to hashicorp/terraform-provider-azurerm
that referenced
this issue
Jan 23, 2024
…e Manager submodules Dependent on (and can't be fully tested until) hashicorp/pandora#3601 is rolled out.
tombuildsstuff
added a commit
to hashicorp/go-azure-sdk
that referenced
this issue
Jan 23, 2024
This is needed as a part of hashicorp/pandora#3601 since we're going to be publishing multiple Go Modules at different paths - but the version number of each of them is going to be the same. As such this PR splits the determining and publishing of the Git Tag - such that the existing update tooling continues to work with minor changes (tracked in hashicorp/terraform-provider-azurerm#24602)
tombuildsstuff
added a commit
to hashicorp/terraform-provider-azurerm
that referenced
this issue
Jan 23, 2024
…e Manager submodules Dependent on (and can't be fully tested until) hashicorp/pandora#3601 is rolled out.
This was referenced Jan 24, 2024
tombuildsstuff
added a commit
to hashicorp/terraform-provider-azurerm
that referenced
this issue
Jan 25, 2024
…e Manager submodules Dependent on (and can't be fully tested until) hashicorp/pandora#3601 is rolled out.
tombuildsstuff
added a commit
to hashicorp/terraform-provider-azurerm
that referenced
this issue
Jan 25, 2024
…e Manager submodules Dependent on (and can't be fully tested until) hashicorp/pandora#3601 is rolled out.
tombuildsstuff
added a commit
to hashicorp/terraform-provider-azurerm
that referenced
this issue
Jan 25, 2024
…e Manager submodules Dependent on (and can't be fully tested until) hashicorp/pandora#3601 is rolled out.
tombuildsstuff
added a commit
to hashicorp/terraform-provider-azurerm
that referenced
this issue
Jan 25, 2024
…e Manager submodules Dependent on (and can't be fully tested until) hashicorp/pandora#3601 is rolled out.
tombuildsstuff
added a commit
to hashicorp/terraform-provider-azurerm
that referenced
this issue
Jan 25, 2024
…e Manager submodules Dependent on (and can't be fully tested until) hashicorp/pandora#3601 is rolled out.
This has now been rolled out:
And vendored into each of the projects listed above. |
rizkybiz
pushed a commit
to rizkybiz/terraform-provider-azurerm
that referenced
this issue
Jan 30, 2024
…e Manager submodules Dependent on (and can't be fully tested until) hashicorp/pandora#3601 is rolled out.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
We’re looking to generate the SDKs for both
microsoft-graph
andresource-manager
intohashicorp/go-azure-sdk
.However considering the size of each SDK (particularly
microsoft-graph
) in order to achieve this we’re going to need to split thehashicorp/go-azure-sdk
repository up into 3 nested Go modules, namely:github.com/hashicorp/go-azure-sdk/sdk
github.com/hashicorp/go-azure-sdk/microsoft-graph
github.com/hashicorp/go-azure-sdk/resource-manager
Whilst we could seek to version these separately (for example tagging the
sdk
directory by hand, and then updating theresource-manager
andmicrosoft-graph
directories automatically) - in practice we might as well release all 3 modules at the same time, meaning that we have one semantic version number for the entire SDK.This means that we’ll end up with more Git Tags over time (since each release will become 3 separate Git Tags - one per submodule) - but means that we don’t need to be concerned with the modules falling out of sync.
As an example, running the release script today releases a version in the format
v0.20240110.1174848
, however with these changes the following Git Tags would be published:sdk/v0.20240110.1174848
microsoft-graph/v0.20240110.1174848
resource-manager/v0.20240110.1174848
I’ve done some investigation of this, and it appears that this would entail:
go.mod
andgo.sum
(andREADME.md
, for convenience) to themicrosoft-graph
,resource-manager
andsdk
directories.sdk
Go module, then (for bothmicrosoft-graph
andresource-manager
) update the reference to thesdk
module and release it.sdk
module to ensure it exists - followed by a one-time manual update of both themicrosoft-graph
andresource-manager
Go modules to reference the newsdk
version.At which point the regular release script should be able to handle releasing the SDK.
The branch containing the investigation can be found here: hashicorp/go-azure-sdk@main...tombuildsstuff:go-azure-sdk:f/submodules-per-type (intentionally done in a complete fork of the repository).
A branch containing one commit updating the user (so as to not pollute the
hashicorp
repository with tags during development) - which allows running./scripts/determine-and-publish-git-tag.sh
to trigger a release can be found in: https://github.com/tombuildsstuff/go-azure-sdk/tree/f/tombuildsstuff-module-taggingOnce that’s done, we’d then need to:
manicminer/hamilton
: update to use the new Go Submodule.hashicorp/terraform-provider-azurerm
: update to account for the updated Go submodule structure.hashicorp/terraform-provider-azurerm
: update thetools/update-go-azure-sdk
tool to account for multiple submodules existing/needing to be updated.tools/update-go-azure-sdk
: updating both the Base Layer and Resource Manager submodules terraform-provider-azurerm#24602hashicorp/go-azure-sdk
- the release script will need updating to account for there being multiple Git Tags available.hashicorp/terraform-provider-azuread
: update to account for the updated Go submodule structure.tombuildsstuff/azurerm-dalek
: update to use the new Go Submodule.tombuildsstuff/giovanni
: update to use the new Go Submodule.Whilst we also need to update
./tools/generator-go-sdk
(to generate the Graph SDK) andtools/importer-msgraph-metadata
(to write the API Definitions for Graph) in this repository to account for that - however this task is really a prerequisite for that (and requires coordination across the downstream tooling, so needs to be done sooner rather than later.The text was updated successfully, but these errors were encountered: