generated from EVerest/everest-template
-
Notifications
You must be signed in to change notification settings - Fork 5
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
Refactor docker images and workflows to build and deploy them #22
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
andistorm
force-pushed
the
refactor-docker-images
branch
2 times, most recently
from
July 9, 2024 07:20
280f294
to
3a55070
Compare
4 tasks
andistorm
force-pushed
the
refactor-docker-images
branch
2 times, most recently
from
July 10, 2024 05:06
160cead
to
784ca4d
Compare
11 tasks
andistorm
force-pushed
the
refactor-docker-images
branch
from
July 16, 2024 07:47
99e750f
to
58530ef
Compare
* Remove workflow `deploy-build-kit.yaml`. It is integrated into `deploy-docker-images.yml`. * Refactor deploy-docker-images.yml workflow * Convert matrix into multiple jobs, one for each docker image, because the images depend on each other, and the matrix strategy does not support this. * Add `env-setup` job to set up the environment for the other jobs, because reusable workflows don't support environment variables. * Add input parameter to build deprecated images. Currently, the deprecated images are built by default, if not specified otherwise. * Use output `one_image_tag_short` as input for the dependent images * Refactor build-single-docker-image.yml * Rename input `docker_directory` to `directory`. Instead of setting the directory that contains all images, it is set now to the directory that contains the Dockerfile for the image to build. * Add input parameter `docker_file_name` to specify the Dockerfile to use. * Add input parameter `platforms` to specify the platforms to build the image for. The default is `linux/amd64,linux/arm64` and `linux/arm/v7`. * Add input parameter `depends_on_paths` to specify the paths that the image depends on. If the paths change, the image is rebuilt. * Add input parameter `build_args` to specify the build arguments for the image. * The name of the deployed image is now set by the input parameter `image_name`: `ghcr.io/everest/<image_name>`. The directory name is independent of the image name. * Add output parameter `rebuild` to indicate if the image was rebuilt. * Add output parameter `image_tag_short` to pass the image tag to the dependent images. * Add output parameter `image_tag_long` to pass the full image tag to the dependent images. * Add output parameter `image_tags` to pass all full image tags. * Fix rebuild conditions * Update README.md * Deprecate `ghcr.io/everest/everest-clang-format` image. Its features are now included in `ghcr.io/everest/everest-ci/build-env-base` The old image is deprecated, but still available and deployed. * Merge `ghcr.io/everest/build-kit-alpine` and `ghcr.io/everest/build-kit-debian` into `ghcr.io/everest/everest-ci/build-kit-base`. The old images are deprecated, but still available and deployed. * Add `ghcr.io/everest/everest-ci/run-env-base` image * Add `ghcr.io/everest/everest-ci/build-env-base` image * Add `ghcr.io/everest/everest-ci/dev-env-base` image * Add `run-clang-format.py` script to `build-env-base` image * Update github action `run-glang-format` to use new `build-env-base` image Signed-off-by: Andreas Heinrich <[email protected]>
andistorm
force-pushed
the
refactor-docker-images
branch
from
July 16, 2024 13:17
6188a92
to
b7b5581
Compare
andistorm
commented
Jul 16, 2024
hikinggrass
reviewed
Jul 16, 2024
This was referenced Jul 17, 2024
Signed-off-by: Andreas Heinrich <[email protected]>
Signed-off-by: Andreas Heinrich <[email protected]>
hikinggrass
approved these changes
Jul 22, 2024
…core to everest-ci/build-env-base * Move documentation related build tools from everest/build-env-everest to everest-ci/build-env-base * Remove documentation related build tools from everest-ci/dev-env-base, since they are included in everest-ci/build-env-base Signed-off-by: Andreas Heinrich <[email protected]>
shankari
added a commit
to US-JOET/everest-demo
that referenced
this pull request
Nov 14, 2024
- The alpine build-kit is now deprecated, use the recommended one EVerest#78 (comment) ``` --------------------------------------------- WARNING This docker image is depreacted. Please use the debian based build-kit 'ghcr.io/everest/everest-ci/build-kit-base' instead. Fore more information see EVerest/everest-ci#22 --------------------------------------------- ``` - Now that there is a standard install script, instead of only test-and-install, so that we can roll forward EVerest#78 (comment) Testing done: - Built successfully using a container - Ran the `everest-demo/docker-compose.yml` and `everest-demo/docker-compose.iso15118-dc.yml` scripts. Both worked. - Testing `everest-demo/docker-compose.ocpp201.yml` fails because go is running into SSL issues on my work laptop. Need to figure out how to resolve that EVerest#78 (comment) Signed-off-by: Shankari <[email protected]>
shankari
added a commit
to US-JOET/everest-demo
that referenced
this pull request
Nov 14, 2024
- The alpine build-kit is now deprecated, use the recommended one EVerest#78 (comment) ``` --------------------------------------------- WARNING This docker image is depreacted. Please use the debian based build-kit 'ghcr.io/everest/everest-ci/build-kit-base' instead. Fore more information see EVerest/everest-ci#22 --------------------------------------------- ``` - Now that there is a standard install script, instead of only test-and-install, so that we can roll forward EVerest#78 (comment) Testing done: - Built successfully using a container - Ran the `everest-demo/docker-compose.yml` and `everest-demo/docker-compose.iso15118-dc.yml` scripts. Both worked. - Testing `everest-demo/docker-compose.ocpp201.yml` fails because go is running into SSL issues on my work laptop. Need to figure out how to resolve that EVerest#78 (comment) Signed-off-by: Shankari <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes
deploy-build-kit.yaml
. It is integrated intodeploy-docker-images.yml
.because the images depend on each other, and the matrix strategy
does not support this.
env-setup
job to set up the environment for the other jobs,because reusable workflows don't support environment variables.
deprecated images are built by default, if not specified otherwise.
one_image_tag_short
as input for the dependent imagesdocker_directory
todirectory
. Instead of setting thedirectory that contains all images, it is set now to the directory that
contains the Dockerfile for the image to build.
docker_file_name
to specify the Dockerfile to use.platforms
to specify the platforms to build theimage for. The default is
linux/amd64,linux/arm64
andlinux/arm/v7
.depends_on_paths
to specify the paths that theimage depends on. If the paths change, the image is rebuilt.
build_args
to specify the build arguments for theimage.
image_name
:ghcr.io/everest/<image_name>
. The directory name isindependent of the image name.
rebuild
to indicate if the image was rebuilt.image_tag_short
to pass the image tag to thedependent images.
image_tag_long
to pass the full image tag to thedependent images.
image_tags
to pass all full image tags.ghcr.io/everest/everest-clang-format
image. Its features are now included inghcr.io/everest/everest-ci/build-env-base
The old image is deprecated, but still available and deployed.ghcr.io/everest/build-kit-alpine
andghcr.io/everest/build-kit-debian
intoghcr.io/everest/everest-ci/build-kit-base
.The old images are deprecated, but still available and deployed.
ghcr.io/everest/everest-ci/run-env-base
imageghcr.io/everest/everest-ci/build-env-base
imageghcr.io/everest/everest-ci/dev-env-base
imagerun-clang-format.py
script tobuild-env-base
imagerun-glang-format
to use newbuild-env-base
imageRelated