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

Common platform builds: enhance CI to build in nested docker images #393

Closed
maxgolov opened this issue Nov 17, 2020 · 4 comments · Fixed by #1333
Closed

Common platform builds: enhance CI to build in nested docker images #393

maxgolov opened this issue Nov 17, 2020 · 4 comments · Fixed by #1333
Assignees
Labels
build and test do-not-stale enhancement New feature or request priority:p2 Issues that are not blocking

Comments

@maxgolov
Copy link
Contributor

maxgolov commented Nov 17, 2020

@lalitb suggested this approach during code review.

Rather than targeting 'legacy' or 'latest' compiler and a default set of GitHub action images, we can implement better (and faster) test coverage with the following CI loop in nested Docker images:

OS Compiler
Ubuntu 14.04 gcc-4.8
Ubuntu 16.04 gcc-5.3.1
Ubuntu 18.04 gcc-7.4.0
Ubuntu 20.04 gcc-9.x.x (and gcc-10.x.x)

Draft PR that adds these containers. But does not yet add these to the CI yet is here: #377

Above configurations are tested and known to work, passing all core tests. We can also add RHEL and CentOS images (yum / rpm-based distros) as well. The aim is to iteratively build and run these Docker images on a GitHub Actions Linux runner, using GitHub cache (up to 5GB per repo) - to save the cached images. This GitHub action seems to be implementing what's needed:
https://github.com/marketplace/actions/build-docker-images-using-cache

Linux docker allows for nested containers: running docker container in GitHub action (which itself is run in docker container).

We can organize a build farm for up to 10 popular Linux repos using one set of build tools: tools/build.sh

Anyone can later reuse this effort to build OpenTelemetry C++ SDK PPA for Ubuntu or alike. Personal Package Archives (PPA) allow you to upload Ubuntu source packages to be built and published as an apt repository by Launchpad.

@maxgolov
Copy link
Contributor Author

maxgolov commented Dec 1, 2020

Partially addressed by #377 ... I'll use this issue to describe the process in a markdown document, plus try it out on Linux image GitHub Action runner. Basically Ubuntu 20.04 GitHub Actions image may itself kick-off docker'ized build of all other Linux builds.

@maxgolov maxgolov self-assigned this Dec 10, 2020
@github-actions
Copy link

This issue was marked as stale due to lack of activity. It will be closed in 7 days if no furthur activity occurs.

@github-actions github-actions bot added the Stale label Nov 22, 2021
@lalitb lalitb removed the Stale label Nov 22, 2021
@github-actions
Copy link

This issue was marked as stale due to lack of activity. It will be closed in 7 days if no furthur activity occurs.

@lalitb
Copy link
Member

lalitb commented Jan 22, 2022

tagging @esigo just for information, as he is doing some work on creating multiplatform docker images.

@maxgolov maxgolov removed their assignment Feb 1, 2022
@esigo esigo self-assigned this Feb 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build and test do-not-stale enhancement New feature or request priority:p2 Issues that are not blocking
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants