Skip to content

ci-mgmt onboarding#446

Merged
blampe merged 32 commits into
mainfrom
blampe/ci-mgmt
Dec 6, 2024
Merged

ci-mgmt onboarding#446
blampe merged 32 commits into
mainfrom
blampe/ci-mgmt

Conversation

@blampe

@blampe blampe commented Nov 18, 2024

Copy link
Copy Markdown
Contributor

This onboards the provider to new workflows consistent with pulumi/ci-mgmt#1140. This doesn't change anything with regard to the release process, but it does bring the provider up-to-speed with current best practices and it will make it easier to automatically manage with ci-mgmt in the future.

Notable changes:

  • Java publishing
  • Embedding versioning (respectSchemaVersion)
  • Sharded tests
  • Goreleaser replaced by pulumi/pulumi-package-publisher

@blampe blampe added the impact/no-changelog-required This issue doesn't require a CHANGELOG update label Nov 18, 2024
@github-actions

Copy link
Copy Markdown
Contributor

Does the PR have any schema changes?

Looking good! No breaking changes found.
No new resources/functions.

Maintainer note: consult the runbook for dealing with any breaking changes.

@blampe blampe requested a review from IaroslavTitov December 5, 2024 20:43

@IaroslavTitov IaroslavTitov left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Left some questions, mostly curiosity

Comment thread Makefile
install_plugins: .pulumi/bin/pulumi

bin/linux-amd64/$(PROVIDER): TARGET := linux-amd64
bin/linux-arm64/$(PROVIDER): TARGET := linux-arm64

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

These 2 lines are exactly the same - is there supposed to be a different configuration here? Same with darwin, and lines below as well

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

They are for ARM and x86 targets. Eventually with pulumi/ci-mgmt#1131 you shouldn't need to see or care about this.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Oooh, I'm just blind, didn't spot the 2 letter difference

@@ -1,4 +1,5 @@
//go:build dotnet || all
// +build dotnet all

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

What do these comments do? I didn't even realize they were there

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

These +build tags are equivalent to the go:build ones and are just added for compatibility I guess.

<PackageProjectUrl>https://pulumi.com</PackageProjectUrl>
<RepositoryUrl>https://github.com/pulumi/pulumi-pulumiservice</RepositoryUrl>
<PackageIcon>logo.png</PackageIcon>
<Version>1.0.0-alpha.0+dev</Version>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Will this version be correct in an actual release? This commited version will only be used for local testing? I see it in other SDK, so guessing it's fine, just want to make sure

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

During release PROVIDER_VERSION will be set. We just need a placeholder for when that's not set.

@@ -0,0 +1,20 @@
name: Upload SDK asset

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Are all the .yml action/workflow files standardized? Any of them written specifically for PSP (beyond changing PROVIDER: pulumiservice)? I see that some are auto-generated, but a lot are not, so just curious as to what's generic and what's specialized

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Nothing manually, these are all generated.

If you do need some manual workflows, those files should be prefixed with pulumiservice- so they don't get overwritten.

total:
- 6
index:
- 0

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This sharding of tests is awesome! Is it possible to NOT run them in parallel within a shard though? As far as I understood, that's why the logs are jumbled up like in example below. I guess it would be losing speed, but debugging any failures would be easier.

=== NAME  TestGoTeamsExample
    command.go:121: Command completed without output
    command.go:46: **** Invoke '/opt/hostedtoolcache/pulumi/3.142.1-alpha.xbe2d2a5/x64/pulumi stack import --file stack.json' in '/home/runner/go/src/stackName-1733429656837535781-118258'
=== NAME  TestYamlSchedulesExample
    command.go:118: Wrote output to /tmp/test-stack-22792-510911093/command-output/pulumi-stack-rm.20241205-201450.c9ae5.log

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

We're actually in the process of removing gotestfmt because it doesn't handle parallel output correctly pulumi/ci-mgmt#1069

Instead of worrying about this CI output we're trying to move in a direction where it's significantly easier to reproduce CI failures locally.

@blampe blampe merged commit f3a1b8a into main Dec 6, 2024
@blampe blampe deleted the blampe/ci-mgmt branch December 6, 2024 16:16
@codecov

codecov Bot commented Dec 6, 2024

Copy link
Copy Markdown

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

Thanks for integrating Codecov - We've got you covered ☂️

@pulumi-bot

Copy link
Copy Markdown
Contributor

This PR has been shipped in release v0.27.2.

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

Labels

impact/no-changelog-required This issue doesn't require a CHANGELOG update

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants