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

1. Base project setup #1

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

1. Base project setup #1

wants to merge 6 commits into from

Conversation

ghost
Copy link

@ghost ghost commented Jul 17, 2024

This PR adds the base project setup with CI workflows and tools.

Signed-off-by: Janos Bonic <[email protected]>
Co-authored-by: James Humphries <[email protected]>
@ghost ghost force-pushed the 1-base-setup branch 2 times, most recently from faea326 to 1defea4 Compare July 17, 2024 21:08
@ghost ghost mentioned this pull request Jul 17, 2024
@ghost ghost changed the title Base project setup 1. Base project setup Aug 12, 2024
Copy link
Member

@ollevche ollevche left a comment

Choose a reason for hiding this comment

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

Internal tools look pretty nice! I left some questions regarding cross-repo standards

internal/tools/license-headers/main.go Outdated Show resolved Hide resolved
.golangci.yml Outdated Show resolved Hide resolved
.gitignore Show resolved Hide resolved
Signed-off-by: AbstractionFactory <[email protected]>
Signed-off-by: AbstractionFactory <[email protected]>
Signed-off-by: AbstractionFactory <[email protected]>
Signed-off-by: AbstractionFactory <[email protected]>
@cam72cam
Copy link
Member

So the problem this PR is trying to solve code-wise, is to move all of the complexity of running the different tooling of the project to internal tools? I'm trying to think of other solutions that we could use instead of creating a custom go tool for each lightweight wrapper.

I also have a preference that when we expose cli args to tooling, we keep the flag names the same.

@abstractionfactory
Copy link

abstractionfactory commented Jan 22, 2025

@cam72cam it's trying to make it simpler to run the tools we also run in the CI. You can now run go generate to take care of all the things that need taking care of and be sure that you are running the same things the CI is running while letting the CI still invoke each tool separately. Personally, I don't want to expose the CLI flags, these wrappers are intended to be run in a standarized way, if you want to run them in a custom way, run them separately. We are using the same scheme in libregistry and it works fine.

An alternative solution could be to create separate folders with only // go:generate lines in them for each tool, so go generate ./... would capture them but CI could invoke each separately. That way we wouldn't need wrappers.

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