-
Notifications
You must be signed in to change notification settings - Fork 21
Add build support for Ubuntu-24.04 and Debian-12. Also fix unstable tests. #205
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
Merged
Merged
Changes from all commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| # Dockerfile for building DO client components for Debian 12 amd64 | ||
| # First, install the docker extension for VSCode. Then you can right-click on this file | ||
| # and choose Build Image. Give it a name and it will build the image. | ||
| # | ||
| # Alternatively, use the command line: | ||
| # Copy the build script to the build directory: | ||
| # cp <src root>/build/scripts/bootstrap.sh <src root>/build/docker/debian12/amd64 | ||
| # | ||
| # After running the above, you can build the image by running in the current dockerfile directory: | ||
| # sudo docker build -t debian12_amd64 . --no-cache --network=host | ||
| # | ||
| # Open interactive terminal into the image in a container: | ||
| # docker run -ti --rm --entrypoint=/bin/bash -v <project root dir>:/code -v <build root dir>:/build <image_name> | ||
| # Example: | ||
| # sudo docker run -ti --rm --entrypoint=/bin/bash -v ~/code/do-client/:/code debian12_amd64 | ||
|
|
||
| # Find the sha256 digest using: | ||
| # sudo docker manifest inspect mcr.microsoft.com/mirror/docker/library/debian:bookworm | ||
|
|
||
| FROM mcr.microsoft.com/mirror/docker/library/debian:bookworm@sha256:9d8be01b7374ef07c68468882782c1226c532f39145f46ad969b6fbd414ab730 | ||
|
|
||
| SHELL [ "/bin/bash", "-c"] | ||
|
|
||
| COPY bootstrap.sh /tmp/bootstrap.sh | ||
|
|
||
| WORKDIR /tmp/ | ||
|
|
||
| RUN chmod +x bootstrap.sh | ||
| RUN ./bootstrap.sh --install build | ||
|
|
||
|
|
||
| VOLUME /code | ||
| WORKDIR /code | ||
|
|
||
| ENTRYPOINT [ "/bin/bash", "-c" ] | ||
|
|
||
| # We specify an empty command so that we can pass options to the ENTRYPOINT command. | ||
| # This is a bit of a Dockerfile quirk where if the ENTRYPOINT value is defined, | ||
| # then CMD becomes the default options passed to ENTRYPOINT. | ||
| # In this case we don't have any desired default arguments. | ||
| # However, we have to specify CMD to enable passing of command line parameters to ENTRYPOINT in the first place. | ||
| CMD [ ] |
This file contains hidden or 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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,48 @@ | ||
| # Dockerfile for building DO client components for Debian 12 arm32 | ||
| # First, install the docker extension for VSCode. Then you can right-click on this file | ||
| # and choose Build Image. Give it a name and it will build the image. | ||
| # | ||
| # Open interactive terminal into the image in a container: | ||
| # docker run -ti --rm --entrypoint=/bin/bash -v <project root dir>:/code -v <build root dir>:/build <image_name> | ||
| # Example: | ||
| # docker run -ti --rm --entrypoint=/bin/bash -v D:\do-client-lite:/code -v D:\temp\build_client_lite\arm-linux-debug:/build custom-debian12-arm32 | ||
|
|
||
| # Find the sha256 digest using: | ||
| # sudo docker manifest inspect mcr.microsoft.com/mirror/docker/library/debian:bookworm | ||
|
|
||
| FROM mcr.microsoft.com/mirror/docker/library/debian:bookworm@sha256:cd496843ab407f88322539d761dd5575d9d887b4aa1fc2940d75613cb9fa3f28 | ||
|
|
||
| SHELL [ "/bin/bash", "-c"] | ||
|
|
||
| # QEMU is required for cross-arch support when building on amd64/x64 hosts. | ||
| # On Windows with Docker Desktop (WSL2), run this once to enable QEMU: | ||
| # docker run --rm --privileged multiarch/qemu-user-static --reset -p yes | ||
| # | ||
| # On Linux, install QEMU: | ||
| # sudo apt install qemu binfmt-support qemu-user-static | ||
| # docker run --rm --privileged multiarch/qemu-user-static --reset -p yes | ||
| # | ||
| # Then copy the build script to the build directory: | ||
| # cp <src root>/build/scripts/bootstrap.sh <src root>/build/docker/debian12/arm32 | ||
| # | ||
| # Build the image: | ||
| # sudo docker build -t debian12_arm32 . --no-cache --network=host | ||
|
|
||
| COPY qemu-arm-static /usr/bin/qemu-arm-static | ||
| COPY bootstrap.sh /tmp/bootstrap.sh | ||
|
|
||
| WORKDIR /tmp/ | ||
| RUN chmod +x bootstrap.sh | ||
| RUN ./bootstrap.sh --install build | ||
|
|
||
| VOLUME /code | ||
| WORKDIR /code | ||
|
|
||
| ENTRYPOINT [ "/bin/bash", "-c" ] | ||
|
|
||
| # We specify an empty command so that we can pass options to the ENTRYPOINT command. | ||
| # This is a bit of a Dockerfile quirk where if the ENTRYPOINT value is defined, | ||
| # then CMD becomes the default options passed to ENTRYPOINT. | ||
| # In this case we don't have any desired default arguments. | ||
| # However, we have to specify CMD to enable passing of command line parameters to ENTRYPOINT in the first place. | ||
| CMD [ ] |
This file contains hidden or 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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,48 @@ | ||
| # Dockerfile for building DO client components for Debian 12 arm64 | ||
| # First, install the docker extension for VSCode. Then you can right-click on this file | ||
| # and choose Build Image. Give it a name and it will build the image. | ||
| # | ||
| # Open interactive terminal into the image in a container: | ||
| # docker run -ti --rm --entrypoint=/bin/bash -v <project root dir>:/code -v <build root dir>:/build <image_name> | ||
| # Example: | ||
| # docker run -ti --rm --entrypoint=/bin/bash -v D:\do-client-lite:/code -v D:\temp\build_client_lite\arm-linux-debug:/build custom-debian12-arm64 | ||
|
|
||
| # Find the sha256 digest using: | ||
| # sudo docker manifest inspect mcr.microsoft.com/mirror/docker/library/debian:bookworm | ||
|
|
||
| FROM mcr.microsoft.com/mirror/docker/library/debian:bookworm@sha256:629bbf0466a7110f5928480d1579cacc09bf47e91c4e0f9d4558b46be140cb9f | ||
|
|
||
| SHELL [ "/bin/bash", "-c"] | ||
|
|
||
| # QEMU is required for cross-arch support when building on amd64/x64 hosts. | ||
| # On Windows with Docker Desktop (WSL2), run this once to enable QEMU: | ||
| # docker run --rm --privileged multiarch/qemu-user-static --reset -p yes | ||
| # | ||
| # On Linux, install QEMU: | ||
| # sudo apt install qemu binfmt-support qemu-user-static | ||
| # docker run --rm --privileged multiarch/qemu-user-static --reset -p yes | ||
| # | ||
| # Then copy the build script to the build directory: | ||
| # cp <src root>/build/scripts/bootstrap.sh <src root>/build/docker/debian12/arm64 | ||
| # | ||
| # Build the image: | ||
| # sudo docker build -t debian12_arm64 . --no-cache --network=host | ||
|
|
||
| COPY qemu-arm-static /usr/bin/qemu-arm-static | ||
| COPY bootstrap.sh /tmp/bootstrap.sh | ||
|
|
||
| WORKDIR /tmp/ | ||
| RUN chmod +x bootstrap.sh | ||
| RUN ./bootstrap.sh --install build | ||
|
|
||
| VOLUME /code | ||
| WORKDIR /code | ||
|
|
||
| ENTRYPOINT [ "/bin/bash", "-c" ] | ||
|
|
||
| # We specify an empty command so that we can pass options to the ENTRYPOINT command. | ||
| # This is a bit of a Dockerfile quirk where if the ENTRYPOINT value is defined, | ||
| # then CMD becomes the default options passed to ENTRYPOINT. | ||
| # In this case we don't have any desired default arguments. | ||
| # However, we have to specify CMD to enable passing of command line parameters to ENTRYPOINT in the first place. | ||
| CMD [ ] |
This file contains hidden or 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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,39 @@ | ||
| # Dockerfile for building DO client components for Ubuntu 24.04 amd64 | ||
| # First, install the docker extension for VSCode. Then you can right-click on this file | ||
| # and choose Build Image. Give it a name and it will build the image. | ||
| # | ||
| # Open interactive terminal into the image in a container: | ||
| # docker run -ti --rm --entrypoint=/bin/bash -v <project root dir>:/code -v <build root dir>:/build <image_name> | ||
| # Example: | ||
| # docker run -ti --rm --entrypoint=/bin/bash -v D:\do-client-lite:/code -v D:\temp\build_client_lite\arm-linux-debug:/build custom-ubuntu2404-amd64 | ||
|
|
||
| # Find the sha256 digest using: | ||
| # sudo docker manifest inspect mcr.microsoft.com/mirror/docker/library/ubuntu:24.04 | ||
|
|
||
| FROM mcr.microsoft.com/mirror/docker/library/ubuntu:24.04@sha256:4fdf0125919d24aec972544669dcd7d6a26a8ad7e6561c73d5549bd6db258ac2 | ||
|
|
||
| SHELL [ "/bin/bash", "-c"] | ||
|
|
||
| # You can build the image by running in the current dockerfile directory after copying the bootstrap.sh script: | ||
| # sudo docker build -t <your image name> . --no-cache --network=host | ||
|
|
||
| # Ubuntu 24.04 requires user prompt for apt-get update command, docker has issues handling this input | ||
| # ENV DEBIAN_FRONTEND=noninteractive | ||
|
|
||
| COPY bootstrap.sh /tmp/bootstrap.sh | ||
|
|
||
| WORKDIR /tmp/ | ||
| RUN chmod +x bootstrap.sh | ||
| RUN ./bootstrap.sh --install build | ||
|
|
||
| VOLUME /code | ||
| WORKDIR /code | ||
|
|
||
| ENTRYPOINT [ "/bin/bash", "-c"] | ||
|
|
||
| # We specify an empty command so that we can pass options to the ENTRYPOINT command. | ||
| # This is a bit of a Dockerfile quirk where if the ENTRYPOINT value is defined, | ||
| # then CMD becomes the default options passed to ENTRYPOINT. | ||
| # In this case we don't have any desired default arguments. | ||
| # However, we have to specify CMD to enable passing of command line parameters to ENTRYPOINT in the first place. | ||
| CMD [ ] |
This file contains hidden or 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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,50 @@ | ||
| # Dockerfile for building DO client components for Ubuntu 24.04 arm64 | ||
| # First, install the docker extension for VSCode. Then you can right-click on this file | ||
| # and choose Build Image. Give it a name and it will build the image. | ||
| # | ||
| # Open interactive terminal into the image in a container: | ||
| # docker run -ti --rm --entrypoint=/bin/bash -v <project root dir>:/code -v <build root dir>:/build <image_name> | ||
| # Example: | ||
| # docker run -ti --rm --entrypoint=/bin/bash -v D:\do-client-lite:/code -v D:\temp\build_client_lite\arm-linux-debug:/build custom-ubuntu2404-arm64 | ||
|
|
||
| # Find the sha256 digest using: | ||
| # sudo docker manifest inspect mcr.microsoft.com/mirror/docker/library/ubuntu:24.04 | ||
|
|
||
| FROM mcr.microsoft.com/mirror/docker/library/ubuntu:24.04@sha256:955364933d0d91afa6e10fb045948c16d2b191114aa54bed3ab5430d8bbc58cc | ||
| SHELL [ "/bin/bash", "-c"] | ||
|
|
||
| # QEMU is a Linux emulator which enables cross-arch support in docker | ||
| # In order to build this image on a Linux host, need to install QEMU: | ||
| # | ||
| # sudo apt-get install qemu-user | ||
| # update-binfmts --display | ||
| # sudo apt install qemu binfmt-support qemu-user-static | ||
| # cp /usr/bin/qemu-aarch64-static <src root>/build/docker/ubuntu2404/arm64 | ||
| # | ||
| # Then copy the build script to the build directory | ||
| # cp <src root>/build/bootstrap.sh <src root>build/docker/ubuntu2404/arm64 | ||
| # | ||
| # After running the above, you can build the image by running in the current dockerfile directory | ||
| # sudo docker build -t <your image name> . --no-cache --network=host | ||
|
|
||
| # Ubuntu 24.04 requires user prompt for apt-get update command, docker has issues handling this input | ||
| ENV DEBIAN_FRONTEND=noninteractive | ||
|
|
||
| COPY qemu-aarch64-static /usr/bin/qemu-aarch64-static | ||
| COPY bootstrap.sh /tmp/bootstrap.sh | ||
|
|
||
| WORKDIR /tmp/ | ||
| RUN chmod +x bootstrap.sh | ||
| RUN ./bootstrap.sh --install build | ||
|
|
||
| VOLUME /code | ||
| WORKDIR /code | ||
|
|
||
| ENTRYPOINT [ "/bin/bash", "-c"] | ||
|
|
||
| # We specify an empty command so that we can pass options to the ENTRYPOINT command. | ||
| # This is a bit of a Dockerfile quirk where if the ENTRYPOINT value is defined, | ||
| # then CMD becomes the default options passed to ENTRYPOINT. | ||
| # In this case we don't have any desired default arguments. | ||
| # However, we have to specify CMD to enable passing of command line parameters to ENTRYPOINT in the first place. | ||
| CMD [ ] |
This file contains hidden or 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
This file contains hidden or 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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -3,6 +3,7 @@ | |
|
|
||
| #pragma once | ||
|
|
||
| #include <cstdint> | ||
| #include <string> | ||
|
|
||
| extern const uint64_t g_prodFileSizeBytes; | ||
|
|
||
This file contains hidden or 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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.