-
Notifications
You must be signed in to change notification settings - Fork 909
GODRIVER-2989 A Dockerfile for local development #1381
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
54 commits
Select commit
Hold shift + click to select a range
668d8ae
GODRIVER-2924 Set up coverage reporting
blink1073 16ac3d6
wip
blink1073 3cc28f4
Quick update for api changes report. (#1384)
qingyang-hu 5e3f22e
Make it configurable and add docs
blink1073 83c6c59
Merge branch 'v1' of github.com:mongodb/mongo-go-driver into GODRIVER…
blink1073 467dc08
GODRIVER-2981 [master] API comment doesn't work when job approver isn…
blink1073 4b0c121
GODRIVER-2986 [master] Resolve failures in Race Detector Test (#1392)
blink1073 b6a82ec
Update docs/CONTRIBUTING.md
blink1073 2a34143
Update docs/CONTRIBUTING.md
blink1073 5736345
Update docs/CONTRIBUTING.md
blink1073 53d36e5
address review
blink1073 78937fe
add docker test
blink1073 0437547
run on ubuntu
blink1073 3cd44f5
remove interactive flag
blink1073 962ff45
use podman
blink1073 26928a0
try on ubuntu 20
blink1073 5dcedbd
maybe fixed
blink1073 e46751d
skip a test
blink1073 461bd3c
use dockerfile from drivers-evergreen-tools
blink1073 0a17269
try again
blink1073 92ddc6d
clean up and add platform support
blink1073 a91a6ff
improve handling of libmongocrypt
blink1073 ee0738c
Merge branch 'v1' into GODRIVER-2924
blink1073 988dbcb
fix selector
blink1073 d38fe78
fix windows handling
blink1073 fd63e77
fix windows handling
blink1073 563763a
fix install dir
blink1073 d8f19ab
GODRIVER-2906 [master] Add container Env to Handshake. (#1397)
blink1073 738d3bb
GODRIVER-2859 [master] Add search index management helpers (#1396)
blink1073 a3c8def
Remove redundant nil check in `HasErrorLabel` (#1369)
Juneezee 3e34fa3
GODRIVER-2690 Set minimum supported Go version to 1.18 in Go Driver v…
prestonvasquez ea3d739
try with this entry point
blink1073 8117ee1
handle crypt
blink1073 7bd711a
handle CRYPT_SHARED_LIB_PATH
blink1073 1100ecc
try another skip
blink1073 4c8b29e
try another skip
blink1073 c9a026b
fix binary path handling
blink1073 b02e519
GODRIVER-2982 [master] Add PR build tags. (#1401)
blink1073 cd3c699
GODRIVER-2955 [master] Add user-facing network compression documentat…
blink1073 9171dca
Merge branch 'master' of github.com:mongodb/mongo-go-driver into GODR…
blink1073 a3d3878
Use source branch
blink1073 3dcc04b
try with alpha version
blink1073 8c5d62a
try reverting behavior
blink1073 a5e07a9
whoops
blink1073 8f0bc14
try with final release
blink1073 c032558
try this approach
blink1073 d7928f2
remove redundant code
blink1073 6c73a2b
Revert "Merge branch 'master' of github.com:mongodb/mongo-go-driver i…
blink1073 ca67293
Merge branch 'v1' of github.com:mongodb/mongo-go-driver into GODRIVER…
blink1073 45ffaec
remove gnupg
blink1073 374d492
fix path handling
blink1073 aa0049b
try direct approach
blink1073 c87a9f5
try again
blink1073 eb9aed5
cleanup
blink1073 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
# Dockerfile for Go Driver local development. | ||
|
||
# Build libmongocrypt in a separate build stage. | ||
FROM ubuntu:20.04 as libmongocrypt | ||
|
||
RUN apt-get -qq update && \ | ||
apt-get -qqy install --no-install-recommends \ | ||
git \ | ||
ca-certificates \ | ||
curl \ | ||
build-essential \ | ||
libssl-dev \ | ||
python | ||
|
||
COPY etc/install-libmongocrypt.sh /root/install-libmongocrypt.sh | ||
RUN cd /root && bash ./install-libmongocrypt.sh | ||
|
||
|
||
# Inherit from the drivers-evergreen-tools image and copy in the files | ||
# from the libmongocrypt build stage. | ||
FROM drivers-evergreen-tools | ||
|
||
RUN export DEBIAN_FRONTEND=noninteractive && \ | ||
export TZ=Etc/UTC && \ | ||
apt-get -qq update && \ | ||
apt-get -qqy install --no-install-recommends \ | ||
pkg-config \ | ||
tzdata \ | ||
gpg \ | ||
apt-utils \ | ||
make && \ | ||
apt-add-repository ppa:longsleep/golang-backports && \ | ||
apt-get -qq update && \ | ||
apt-get -qqy install --no-install-recommends golang-go && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
COPY ./etc/docker_entry.sh /root/docker_entry.sh | ||
|
||
COPY --from=libmongocrypt /root/install /root/install | ||
|
||
ENTRYPOINT ["/bin/bash", "/root/docker_entry.sh"] |
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,18 @@ | ||
#!/usr/bin/env bash | ||
# | ||
# Entry point for Dockerfile for launching a server and running a go test. | ||
# | ||
set -eux | ||
|
||
# Start the server. | ||
bash /root/base-entrypoint.sh | ||
source $DRIVERS_TOOLS/.evergreen/mo-expansion.sh | ||
|
||
# Prep files. | ||
cd /src | ||
rm -f test.suite | ||
cp -r $HOME/install ./install | ||
export PATH="$MONGODB_BINARIES:$PATH" | ||
|
||
# Run the test. | ||
bash ./.evergreen/run-tests.sh |
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,33 @@ | ||
#!/usr/bin/env bash | ||
# install libmongocrypt | ||
# This script installs libmongocrypt into an "install" directory. | ||
set -eux | ||
|
||
LIBMONGOCRYPT_TAG="1.8.2" | ||
|
||
# Install libmongocrypt based on OS. | ||
if [ "Windows_NT" = "${OS:-}" ]; then | ||
mkdir -p c:/libmongocrypt/include | ||
mkdir -p c:/libmongocrypt/bin | ||
echo "fetching build for Windows ... begin" | ||
mkdir libmongocrypt-all | ||
cd libmongocrypt-all | ||
# The following URL is published from the upload-all task in the libmongocrypt Evergreen project. | ||
curl https://mciuploads.s3.amazonaws.com/libmongocrypt/all/$LIBMONGOCRYPT_TAG/libmongocrypt-all.tar.gz -o libmongocrypt-all.tar.gz | ||
tar -xf libmongocrypt-all.tar.gz | ||
cd .. | ||
cp libmongocrypt-all/windows-test/bin/mongocrypt.dll c:/libmongocrypt/bin | ||
cp libmongocrypt-all/windows-test/include/mongocrypt/*.h c:/libmongocrypt/include | ||
|
||
rm -rf libmongocrypt-all | ||
echo "fetching build for Windows ... end" | ||
else | ||
rm -rf libmongocrypt | ||
git clone https://github.com/mongodb/libmongocrypt --depth=1 --branch $LIBMONGOCRYPT_TAG 2> /dev/null | ||
if ! ( ./libmongocrypt/.evergreen/compile.sh >| output.txt 2>&1 ); then | ||
cat output.txt 1>&2 | ||
exit 1 | ||
fi | ||
mv output.txt install | ||
rm -rf libmongocrypt | ||
fi |
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,40 @@ | ||
#!/usr/bin/env bash | ||
# | ||
# Script to run a test suite in docker locally | ||
set -eux | ||
|
||
if [ -z "$DRIVERS_TOOLS" ]; then | ||
echo "Please set DRIVERS_TOOLS env variable." | ||
exit 1 | ||
fi | ||
PLATFORM=${DOCKER_PLATFORM:-} | ||
|
||
pushd $DRIVERS_TOOLS/.evergreen/docker/ubuntu20.04 | ||
docker build $PLATFORM -t drivers-evergreen-tools . | ||
popd | ||
docker build $PLATFORM -t go-test . | ||
|
||
# Handle environment variables and optional positional arg for the makefile target. | ||
|
||
MAKEFILE_TARGET=${1:-evg-test-versioned-api} | ||
MONGODB_VERSION=${MONGODB_VERSION:-latest} | ||
TOPOLOGY=${TOPOLOGY:-replica_set} | ||
ORCHESTRATION_FILE=${ORCHESTRATION_FILE:-basic.json} | ||
AUTH=${AUTH:-""} | ||
SSL=${SSL:=""} | ||
GO_BUILD_TAGS=${GO_BUILD_TAGS:-""} | ||
|
||
ENV="-e MONGODB_VERSION=$MONGODB_VERSION -e TOPOLOGY=$TOPOLOGY" | ||
ENV="$ENV -e MAKEFILE_TARGET=$MAKEFILE_TARGET -e AUTH=$AUTH" | ||
ENV="$ENV -e ORCHESTRATION_FILE=$ORCHESTRATION_FILE -e SSL=$SSL" | ||
ENV="$ENV -e GO_BUILD_TAGS=$GO_BUILD_TAGS" | ||
|
||
VOL="-v `pwd`:/src" | ||
VOL="$VOL -v $DRIVERS_TOOLS:/root/drivers-evergreen-tools" | ||
USE_TTY="" | ||
test -t 1 && USE_TTY="-t" | ||
|
||
docker run $PLATFORM --rm $VOL $ENV -i $USE_TTY go-test | ||
if [ -f "test.suite" ]; then | ||
tail test.suite | ||
fi |
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
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.