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

Switch to the new CodeCov uploader #13139

Merged
merged 1 commit into from
Oct 27, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 1 addition & 5 deletions .azure-pipelines/windows.sh
Original file line number Diff line number Diff line change
Expand Up @@ -134,11 +134,7 @@ CC="$CC" ./run --environment --jobs=$N "${targets[@]}" "${args[@]}"

if [ "${DMD_TEST_COVERAGE:-0}" = "1" ] ; then
cd $DMD_DIR
# CodeCov gets confused by lst files which it can't match
rm -rf test/runnable/extra-files test/*.lst
download "https://codecov.io/bash" "codecov.sh"
bash ./codecov.sh -p . -Z
rm codecov.sh
OS_NAME=windows source ci/codecov.sh

# Skip druntime & phobos tests
exit 0
Expand Down
6 changes: 1 addition & 5 deletions .circleci/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -192,11 +192,7 @@ test_cxx()

codecov()
{
# CodeCov gets confused by lst files which it can't match
rm -rf test/runnable/extra-files
download "https://codecov.io/bash" "https://raw.githubusercontent.com/codecov/codecov-bash/master/codecov" "codecov.sh"
bash ./codecov.sh -p . -Z || echo "Failed to upload coverage reports!"
rm codecov.sh
OS_NAME=linux source ci/codecov.sh
}

case $1 in
Expand Down
2 changes: 1 addition & 1 deletion azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ jobs:
D_COMPILER: dmd
HOST_DMD_VERSION: LATEST
# Disable actual coverage because of issues with the codecov uploader
# DMD_TEST_COVERAGE: 1
DMD_TEST_COVERAGE: 1
strategy:
matrix:
x64:
Expand Down
7 changes: 1 addition & 6 deletions ci.sh
Original file line number Diff line number Diff line change
Expand Up @@ -213,12 +213,7 @@ install_host_compiler() {
# Upload coverage reports
codecov()
{
# CodeCov gets confused by lst files which it can't match
rm -rf test/runnable/extra-files test/*.lst
curl -fsSL -A "$CURL_USER_AGENT" --connect-timeout 5 --speed-time 30 --speed-limit 1024 \
--retry 5 --retry-delay 5 "https://codecov.io/bash" -o "codecov.sh"
bash ./codecov.sh -p . -Z
rm codecov.sh
source ci/codecov.sh
}

# Define commands
Expand Down
64 changes: 64 additions & 0 deletions ci/codecov.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
#!/usr/bin/env bash

# Uploads coverage reports to CodeCov

# CodeCov gets confused by lst files which it can't match
rm -rf test/runnable/extra-files test/*.lst

# Save the file from URL passed as $1 to the location in $2
doCurl()
{
curl -fsSL -A "$CURL_USER_AGENT" --connect-timeout 5 --speed-time 30 --speed-limit 1024 --retry 5 --retry-delay 5 "$1" -o "$2"
}

# Determine the correct uploader + url + arguments
UPLOADER="codecov"
UPLOADER_OS="$OS_NAME"
UPLOADER_ARGS=""

case "$UPLOADER_OS" in

windows)
# -C workaround proposed in https://github.com/codecov/codecov-bash/issues/287
UPLOADER_ARGS="-C \"$BUILD_SOURCEVERSION\""

UPLOADER="$UPLOADER.exe"
;;

darwin | osx)
UPLOADER_OS="macos"
;;

# No FreeBSD support for the new uploader (yet?)
freebsd)
doCurl "https://codecov.io/bash" "codecov.sh"
bash ./codecov.sh -p . -Z
rm codecov.sh
return 0
;;
esac

# Determine the host name
for file in "$UPLOADER" "$UPLOADER.SHA256SUM" "$UPLOADER.SHA256SUM.sig"
do
doCurl "https://uploader.codecov.io/latest/$UPLOADER_OS/$file" "$file"
done

# Obtain the key if missing
if ! gpg --list-keys ED779869
then
echo "Importing CodeCov key..."
doCurl "https://keybase.io/codecovsecurity/pgp_keys.asc" "pgp_keys.asc"
gpg --import pgp_keys.asc
rm pgp_keys.asc
fi

# Verify the uploader
gpg --verify "$UPLOADER.SHA256SUM.sig" "$UPLOADER.SHA256SUM"
shasum -a 256 -c "$UPLOADER.SHA256SUM"

# Upload the sources
chmod +x "$UPLOADER"
"./$UPLOADER" -p . -Z $UPLOADER_ARGS

rm codecov*
2 changes: 1 addition & 1 deletion cirrusci.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ if [ -z ${HOST_DMD+x} ] ; then echo "Variable 'HOST_DMD' needs to be set."; exit

if [ "$OS_NAME" == "linux" ]; then
export DEBIAN_FRONTEND=noninteractive
packages="git-core make g++ gdb curl libcurl4 tzdata zip unzip xz-utils"
packages="git-core make g++ gdb gnupg curl libcurl4 tzdata zip unzip xz-utils"
if [ "$MODEL" == "32" ]; then
dpkg --add-architecture i386
packages="$packages g++-multilib libcurl4:i386"
Expand Down