Skip to content

Commit a0a66b0

Browse files
authored
EF-165: Support for EF Core 9 - CI scripts (#180)
1 parent 15ff5f2 commit a0a66b0

File tree

6 files changed

+39
-31
lines changed

6 files changed

+39
-31
lines changed

evergreen/evergreen.yml

+16-13
Original file line numberDiff line numberDiff line change
@@ -38,32 +38,21 @@ functions:
3838
shell: bash
3939
working_dir: mongo-efcore-provider
4040
script: |
41-
# Get the current unique version of this checkout
42-
if [ "${is_patch}" = "true" ]; then
43-
CURRENT_VERSION=$(git describe)-patch-${version_id}
44-
else
45-
CURRENT_VERSION=latest
46-
fi
47-
48-
PACKAGE_VERSION=$(bash ./evergreen/generate-version.sh)
41+
PACKAGE_VERSION=$(triggered_by_git_tag=${triggered_by_git_tag} bash ./evergreen/generate-version.sh)
4942
5043
export DRIVERS_TOOLS="$(pwd)/../drivers-tools"
5144
export DOTNET_SDK_PATH="$(pwd)/../.dotnet"
5245
5346
if [ "Windows_NT" = "$OS" ]; then # Magic variable in cygwin
5447
# Python has cygwin path problems on Windows. Detect prospective mongo-orchestration home directory
5548
export DRIVERS_TOOLS=$(cygpath -m $DRIVERS_TOOLS)
56-
else
57-
# non windows OSs don't have dotnet in the PATH
58-
export PATH=$PATH:/usr/share/dotnet
5949
fi
6050
6151
export MONGO_ORCHESTRATION_HOME="$DRIVERS_TOOLS/.evergreen/orchestration"
6252
export MONGODB_BINARIES="$DRIVERS_TOOLS/mongodb/bin"
6353
export PROJECT_DIRECTORY="$(pwd)"
6454
6555
cat <<EOT > expansion.yml
66-
CURRENT_VERSION: "$CURRENT_VERSION"
6756
DRIVERS_TOOLS: "$DRIVERS_TOOLS"
6857
MONGO_ORCHESTRATION_HOME: "$MONGO_ORCHESTRATION_HOME"
6958
MONGODB_BINARIES: "$MONGODB_BINARIES"
@@ -143,7 +132,7 @@ functions:
143132
upload-test-results:
144133
- command: attach.xunit_results
145134
params:
146-
file: ./mongo-efcore-provider/artifacts/test-results/TEST*.xml
135+
file: ./mongo-efcore-provider/artifacts/test-results/**/TEST*.xml
147136

148137
bootstrap-mongo-orchestration:
149138
- command: shell.exec
@@ -171,6 +160,19 @@ functions:
171160
OS=${OS} \
172161
MONGODB_URI="${MONGODB_URI}" \
173162
CRYPT_SHARED_LIB_PATH=${CRYPT_SHARED_LIB_PATH} \
163+
BUILD_CONFIGURATION="Debug" \
164+
./evergreen/run-tests.sh
165+
- command: shell.exec
166+
type: test
167+
params:
168+
working_dir: mongo-efcore-provider
169+
script: |
170+
${PREPARE_SHELL}
171+
DRIVER_VERSION=${DRIVER_VERSION} \
172+
OS=${OS} \
173+
MONGODB_URI="${MONGODB_URI}" \
174+
CRYPT_SHARED_LIB_PATH=${CRYPT_SHARED_LIB_PATH} \
175+
BUILD_CONFIGURATION="Debug EF9" \
174176
./evergreen/run-tests.sh
175177
176178
cleanup:
@@ -226,6 +228,7 @@ functions:
226228
type: test
227229
params:
228230
working_dir: mongo-efcore-provider
231+
shell: bash
229232
script: |
230233
${PREPARE_SHELL}
231234
. ./evergreen/pack-packages.sh

evergreen/generate-version.sh

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
#!/usr/bin/env bash
22
set -o errexit # Exit the script with error if any of the commands fail
33

4-
PACKAGE_VERSION=$(git describe --tags)
4+
if [ -n "$triggered_by_git_tag" ]; then
5+
PACKAGE_VERSION=$triggered_by_git_tag
6+
else
7+
PACKAGE_VERSION=$(git describe --tags)
8+
fi
9+
510
PACKAGE_VERSION=$(echo $PACKAGE_VERSION | cut -c 2-)
611
echo "$PACKAGE_VERSION"

evergreen/pack-packages.sh

+7-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,12 @@ if [ -z "$PACKAGE_VERSION" ]; then
66
echo Calculated PACKAGE_VERSION value: "$PACKAGE_VERSION"
77
fi
88

9-
echo Creating nuget package...
9+
BUILD_CONFIGURATION="Release"
10+
if [[ "${PACKAGE_VERSION}" == "9."* ]]; then
11+
BUILD_CONFIGURATION="Release EF9"
12+
fi
13+
14+
echo Creating nuget package $PACKAGE_VERSION using $BUILD_CONFIGURATION build configuration...
1015

1116
dotnet clean ./MongoDB.EFCoreProvider.sln
12-
dotnet pack ./MongoDB.EFCoreProvider.sln -o ./artifacts/nuget -c Release -p:Version="$PACKAGE_VERSION" --include-symbols -p:SymbolPackageFormat=snupkg -p:ContinuousIntegrationBuild=true
17+
dotnet pack ./MongoDB.EFCoreProvider.sln -o ./artifacts/nuget -c "$BUILD_CONFIGURATION" -p:Version="$PACKAGE_VERSION" --include-symbols -p:SymbolPackageFormat=snupkg -p:ContinuousIntegrationBuild=true

evergreen/push-packages.sh

-6
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,6 @@ if [ -z "$NUGET_SIGN_CERTIFICATE_FINGERPRINT" ]; then
4848
exit 1
4949
fi
5050

51-
clear_version_rx='^[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z0-9]+)?$'
52-
if [ "$PACKAGES_SOURCE" = "https://api.nuget.org/v3/index.json" ] && [[ ! "$PACKAGE_VERSION" =~ $clear_version_rx ]]; then
53-
echo "Cannot push dev version to nuget.org: '$PACKAGE_VERSION'"
54-
exit 1
55-
fi
56-
5751
dotnet nuget verify ./artifacts/nuget/MongoDB.EntityFrameworkCore."$PACKAGE_VERSION".nupkg --certificate-fingerprint "$NUGET_SIGN_CERTIFICATE_FINGERPRINT"
5852
dotnet nuget push --source "$PACKAGES_SOURCE" --api-key "$PACKAGES_SOURCE_KEY" ./artifacts/nuget/MongoDB.EntityFrameworkCore."$PACKAGE_VERSION".nupkg
5953

evergreen/run-tests.sh

+4-3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
set -o errexit # Exit the script with error if any of the commands fail
33

44
MONGODB_URI=${MONGODB_URI:=mongodb://localhost:27017/}
5+
BUILD_CONFIGURATION=${BUILD_CONFIGURATION:=Debug}
56

67
EFCORE_PROVIDER_PROJECT_PATH="./src/MongoDB.EntityFrameworkCore/MongoDB.EntityFrameworkCore.csproj"
78
if [ -n "$DRIVER_VERSION" ]
@@ -12,13 +13,13 @@ then
1213
echo "Installing the latest version of MongoDB.Driver..."
1314
dotnet remove "$EFCORE_PROVIDER_PROJECT_PATH" package MongoDB.Driver
1415
dotnet add "$EFCORE_PROVIDER_PROJECT_PATH" package MongoDB.Driver
15-
elif [ -n "$DRIVER_VERSION" ]
16-
then
16+
else
1717
echo "Installing the $DRIVER_VERSION version of MongoDB.Driver..."
1818
dotnet remove "$EFCORE_PROVIDER_PROJECT_PATH" package MongoDB.Driver
1919
dotnet add "$EFCORE_PROVIDER_PROJECT_PATH" package MongoDB.Driver -v "$DRIVER_VERSION"
2020
fi
2121
fi
2222

23+
echo "Running EF Core tests for '${BUILD_CONFIGURATION}' configuration"
2324
dotnet clean "./MongoDB.EFCoreProvider.sln"
24-
dotnet test "./MongoDB.EFCoreProvider.sln" -e MONGODB_URI="${MONGODB_URI}" --results-directory ./artifacts/test-results --logger "junit;LogFileName=TEST_{assembly}.xml;FailureBodyFormat=Verbose" --logger "console;verbosity=detailed"
25+
dotnet test "./MongoDB.EFCoreProvider.sln" -e MONGODB_URI="${MONGODB_URI}" -c "${BUILD_CONFIGURATION}" --results-directory ./artifacts/test-results/${BUILD_CONFIGURATION// /} --logger "junit;LogFileName=TEST_{assembly}.xml;FailureBodyFormat=Verbose" --logger "console;verbosity=detailed"

src/MongoDB.EntityFrameworkCore/MongoDB.EntityFrameworkCore.csproj

+6-6
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,17 @@
2727
<Optimize>true</Optimize>
2828
</PropertyGroup>
2929

30+
<ItemGroup>
31+
<InternalsVisibleTo Include="MongoDB.EntityFrameworkCore.UnitTests" />
32+
<PackageReference Remove="Microsoft.SourceLink.GitHub" />
33+
<PackageReference Include="MongoDB.Driver" Version="3.1.0" />
34+
</ItemGroup>
35+
3036
<ItemGroup Condition=" '$(Configuration)' == 'Release' Or '$(Configuration)' == 'Debug' ">
3137
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.13" />
3238
</ItemGroup>
3339

3440
<ItemGroup Condition=" '$(Configuration)' == 'Release EF9' Or '$(Configuration)' == 'Debug EF9' ">
3541
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.2" />
3642
</ItemGroup>
37-
38-
<ItemGroup>
39-
<InternalsVisibleTo Include="MongoDB.EntityFrameworkCore.UnitTests" />
40-
<PackageReference Include="MongoDB.Driver" Version="3.2.1" />
41-
<PackageReference Remove="Microsoft.SourceLink.GitHub" />
42-
</ItemGroup>
4343
</Project>

0 commit comments

Comments
 (0)