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

Reduce boilerplate for build and publish scripts #191

Open
mrickard opened this issue Nov 29, 2023 · 0 comments
Open

Reduce boilerplate for build and publish scripts #191

mrickard opened this issue Nov 29, 2023 · 0 comments

Comments

@mrickard
Copy link
Member

mrickard commented Nov 29, 2023

Currently, new layers are built by triggering jobs in ./circleci/config.yml. After running tests, the CI jobs execute jobs defined in the project Makefile, which triggers build jobs in each language's publish-layers.sh file...which also references the top-level libBuild.sh for code-sharing.

There's a lot of repetition and boilerplate, and adding new runtimes requires updating all of the above files, as well as (for Node and Java) adding a Dockerfile for the new runtime in the dockerfiles directory.

Ideally, the process of adding a new version of a single runtime should involve just adding a new element to an array that these scripts can use to iterate, rather than copying and pasting boilerplate.

Update:

Publishing operations for Node and Java layers currently use the repo's Makefile and Docker images. The Python layers do not: instead, they include a step to install the awscli (using pip) and publish directly from the CI job. I'd recommend that we repeat this pattern for Node and Java, dispensing with the Makefile and Dockerfiles, reducing the number of updates needed when a new runtime is released.

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

No branches or pull requests

1 participant