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

CopyToOutputDirectory is suddenly case sensitive as of 3.1.401 #5749

Closed
dracan opened this issue Sep 22, 2020 · 1 comment · Fixed by #5888
Closed

CopyToOutputDirectory is suddenly case sensitive as of 3.1.401 #5749

dracan opened this issue Sep 22, 2020 · 1 comment · Fixed by #5888
Assignees
Labels
bug needs-triage Have yet to determine what bucket this goes in. under-investigation

Comments

@dracan
Copy link

dracan commented Sep 22, 2020

Issue Description

As of SDK 3.1.401 the CopyToOutputDirectory task seems to be case sensitive when running in Linux. This makes sense, but I couldn't find any mention of it in the release notes, and it's a breaking change. Given this is a build version release increment, I'm assuming the breaking change isn't intentional - so thought I'd report it. Feel free to close if this isn't the case.

I've attached an example project in a zip, which shows this issue which can be run with Docker. Note at the top of the Dockerfile I have two lines specifying different versions of the SDK...

FROM mcr.microsoft.com/dotnet/core/sdk:3.1.401 AS build
#FROM mcr.microsoft.com/dotnet/core/sdk:3.1.302 AS build

The docker file just does an ls after the build...

RUN ls -l /src/bin/Release/netcoreapp3.1/

Doing a docker build . using 3.1.401 fails to copy testsettings.json (as you can see in the ls output). Doing it with 3.1.302 works.

This broke one of our builds because we were using mcr.microsoft.com/dotnet/core/sdk:3.1 as the base image, so as soon as 3.1.401 got released, our builds started breaking. Obviously an easy fix once we knew what it was - but it's wasn't immediately obvious why this had suddenly broken.

dotnetbug.zip

@dracan dracan added bug needs-triage Have yet to determine what bucket this goes in. labels Sep 22, 2020
@benvillalobos
Copy link
Member

Team Triage: This could be the Update matching.

Forgind added a commit that referenced this issue Dec 4, 2020
…5888)

First commit: update a test such that it passes only if matching is case insensitive.
Second commit: modify FileUtilities.ComparePathsNoThrow such that it can be made to be always case sensitive or case insensitive. Note that this was changed about seven months ago in #4997 where it had previously been a todo to make case sensitivity depend on OS but that implemented it.
Third commit: fix a test that theoretically ensured case insensitivity but in practice did not, changed to care about case in the same PR.

The second commit fixes #5749.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug needs-triage Have yet to determine what bucket this goes in. under-investigation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants