solo-io / gloo

The Cloud-Native API Gateway and AI Gateway
https://docs.solo.io/
Apache License 2.0
4.1k stars 446 forks source link

Simplify building targets locally in favor of adding complexity for CI #7375

Open jackstine opened 2 years ago

jackstine commented 2 years ago

Version

No response

Is your feature request related to a problem? Please describe.

Opt to have CI use a flag to build targets for CI, instead of using flags for building targets locally.

To build some targets locally, I have to use special flags to build targets when on M1. Same issues occur when pushing images on non-M1 machines. Non-M1 would be facing similar issues.

Describe the solution you'd like

I would like less complexity around the use of the following flags. There may be more involved in this refactor then the following.

CREATE_TEST_ASSETS TEST_ASSET_ID TAGGED_VERSION VERSION RELEASE CREATE_ASSETS

For M1 there are flags we have to add to build targets. I would like to simplify this. For M1 machines, we have to build targets and push them with docker. This means we have to set the CREATE_ASSETS variable, which can be set using multiple variables at once.

Also we have specific code in the make file for building images around arm64. Like the variable IS_ARM_MACHINE. Would be nice to simply this so that we build targets in a simpler manner.

I would like to make targets as simple as possible when building locally.

make docker

When building the images during CI, I would like to add a flag for CI_BUILD.

CI_BUILD=true make docker

The reason for this idea was created because I wanted to add a flag to distinguish between local and ci builds in this PR. The purpose of this PR was to build Gloo without the race image on an arm machine.

Unlike our OSS, some of our enterprise code supports opt-outs for arm64 (noted above with the IS_ARM_MACHINE flag), this should be changed too.

Describe alternatives you've considered

More context later.

Additional Context

No response

nfuden commented 2 years ago

I like this idea. I think we should commit to this and spin out the ci only targets in a new sub docker file.

jackstine commented 2 years ago

We can also split the makefile, so that we have a separate makefile for local targets and one for CI targets.

github-actions[bot] commented 5 months ago

This issue has been marked as stale because of no activity in the last 180 days. It will be closed in the next 180 days unless it is tagged "no stalebot" or other activity occurs.