Skip to content

Conversation

SequeI
Copy link
Contributor

@SequeI SequeI commented Aug 12, 2025

Summary

  • Integrate dependabot for actions/gomod bumps
  • Clean up gh actions
  • Use gh helm action for local cluster creation

Release Note

Documentation

@knrc
Copy link
Contributor

knrc commented Aug 13, 2025

This needs renaming, since no E2E tests were added. The only new addition seems to be the dependabot addition, other than that it just appears to be reworking what's already there and restricting some things to just running on main related pushes/PRs. Am I missing something?

@SequeI
Copy link
Contributor Author

SequeI commented Aug 13, 2025

This needs renaming, since no E2E tests were added.

Yes apologies, I meant it as in adding e2e actions configuration but I can see how it can be misunderstood so I will change it

@SequeI SequeI changed the title feat(ci): add E2E tests and Dependabot configuration feat(ci): dependabot configuration Aug 13, 2025
@SequeI SequeI changed the title feat(ci): dependabot configuration feat(ci): dependabot configuration + using helm/kind-action for e2e cluster setup Aug 13, 2025
Copy link
Member

@miyunari miyunari left a comment

Choose a reason for hiding this comment

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

Adding dependabot is a really nice improvement 👍 Thanks @SequeI !

Just had a few comments, but let me know what you think :)

push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
Copy link
Member

Choose a reason for hiding this comment

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

Just for clarification this will just run the CI whenever a PR is opened against the main branch, right?

Copy link
Contributor

Choose a reason for hiding this comment

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

yes, that's right. It was previously push/PRs based on any branch

Comment on lines 27 to 28
- name: Go mod tidy
run: go mod tidy
Copy link
Member

Choose a reason for hiding this comment

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

Seeing this I would still advocate for good practice in failing the build if the code checked into the repository is not up-to-date and can not be compiled.

Suggested change
- name: Go mod tidy
run: go mod tidy

Other context: #42 (comment)

Copy link
Contributor

Choose a reason for hiding this comment

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

#44 will introduce a workflow to enforce that, if you get time please take a look

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, I decided to still add it as I figured the purpose of the workflow is to just run a linter, not check if it is up to date or not, which I believe Kevin's PR on the new gh workflow would check by itself

Copy link
Member

Choose a reason for hiding this comment

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

From my point of view, it makes little sense to add a test to check whether the go.mod file is up-to-date like on #44 and update the go.mod file on other workflows.

What would be the goal? Running tests on a state that will not be merged due to the fact its not compilable? From my point of view this would burn valuable CI time of the Sigstore organisation.

Maybe I am missing something here, but for me it's really hard to see the value with this approach :)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Which is exactly why I removed it from all workflows assuming #44 will be merged, hence never running actions on a state of the project that will not actually be merged

I left a comment at the bottom about this too.

Copy link
Contributor

Choose a reason for hiding this comment

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

@miyunari I believe @SequeI has already removed this, it's not in the latest version of the PR

- name: Running Test e2e
- name: Run E2E tests
run: |
go mod tidy
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
go mod tidy

Copy link
Contributor

Choose a reason for hiding this comment

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

FYI That's left over from a previous PR, scaffolded by the SDK.

Comment on lines +27 to +29
uses: helm/kind-action@v1
with:
cluster_name: kind
Copy link
Member

Choose a reason for hiding this comment

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

That looks like a great improvement. But its only usable on the github workflow. To make it easier to run our e2e tests on local machines or other CI pipelines does it make sense to provide the general as Makefile rules?

Here we would then just need to run:

make tools kind-start

Where tools would install kind and whatever other tools we need for development into ${PWD}/bin/tools on this repository. We can pin the kind version in the Makefile.

A kind-start rule could look like this:

.PHONY: kind-start
kind-start: kind
	$(KIND) create cluster --name model-validation-testing --config kind-1-33-0.yaml

.PHONY: tools
tools:
	$(call go-get-tool,$(KIND),sigs.k8s.io/kind,$(KIND_VERSION))

It would make it much easier to reproduce CI issues locally.

Copy link
Contributor

@knrc knrc Aug 13, 2025

Choose a reason for hiding this comment

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

Note this doesn't change the existing behaviour, it replaces the SDK scaffolded bits with the helm kind action to install/run the cluster. I think this is cleaner than what was there previously.

The makefile already has options for running the e2e test against an existing kind cluster, just not for creating it.

I also find that act is good for running workflows locally, if we need to reproduce CI issues.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

^ Agreed, we can include in the docs how to run workflows locally soon instead

push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
Copy link
Member

Choose a reason for hiding this comment

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

I guess we can then get rid of this entire workflow?

Copy link
Contributor

Choose a reason for hiding this comment

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

Do we really want to remove this? I think we should keep unit tests and e2e tests

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Agreed, we need to keep, this workflow is responsible for running the general unit tests, then the other workflow is specifically for the e2e tests we have so far

@SequeI
Copy link
Contributor Author

SequeI commented Aug 13, 2025

I've removed go mod tidy where not needed, my thinking is that if we will have a workflow to specifically check if go mod tidy causes differences and fails if there are, it is probably not needed in workflows and we can just assume it is fine unless as I said that workflow fails

@miyunari miyunari merged commit 946e011 into sigstore:main Aug 17, 2025
4 checks passed
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

Successfully merging this pull request may close these issues.

3 participants