runner-images
runner-images copied to clipboard
A bug was identified in Azcopy 10.22.2 which was updated in latest release.
Description
A bug was identified in Azcopy 10.22.2 version which was committed to the 20240126.1 release This bug was not fixed in the latest azcopy version. This resulted customer Azure DevOps pipeline failed. https://github.com/Azure/azure-storage-azcopy/issues/2559
https://github.com/actions/runner-images/blob/ubuntu20/20240126.1/images/ubuntu/Ubuntu2004-Readme.md https://github.com/actions/runner-images/commit/aafe6b767fb316066a780bea8ce88cb88faf49cc
Platforms affected
- [X] Azure DevOps
- [ ] GitHub Actions - Standard Runners
- [ ] GitHub Actions - Larger Runners
Runner images affected
- [X] Ubuntu 20.04
- [X] Ubuntu 22.04
- [ ] macOS 11
- [ ] macOS 12
- [ ] macOS 13
- [ ] macOS 13 Arm64
- [ ] macOS 14
- [ ] macOS 14 Arm64
- [ ] Windows Server 2019
- [ ] Windows Server 2022
Image version and build link
https://github.com/actions/runner-images/blob/ubuntu20/20240126.1/images/ubuntu/Ubuntu2004-Readme.md AzCopy 10.22.2 - available by azcopy and azcopy10 aliases
Is it regression?
No
Expected behavior
could we downgrade the azcopy to 10.21.2 version which the pipeline was successfully run. https://github.com/actions/runner-images/blob/ubuntu20/20240122.3/images/ubuntu/Ubuntu2004-Readme.md AzCopy 10.21.2 - available by azcopy and azcopy10 aliases
Actual behavior
az storage fs directory upload will call azcopy azcopy could not upload the folder with name "#" to ADLS gen2
Repro steps
installed the lastest az-cli and azcopy 10.22.2, use az storage fs directory upload to upload some folder with "#"
Having the same sort of problem although with az storage copy
Hey @leoliudan and @BartDecker! We'll think about adding the old version back. I can’t promise that this will work for us - perhaps the latest changes contained critical security updates.
Workaround for the issue is to download old version of AzCopy and place it inside agent. However, this will also undo the security update, so watch out for the security risks. Sample Yaml for AzureCLI task:
- task: AzureCLI@2
inputs:
azureSubscription: '<Your SC>'
scriptType: 'bash'
scriptLocation: 'inlineScript'
inlineScript: |
mkdir -p $AZURE_CONFIG_DIR/bin/
wget -c https://azcopyvnext.azureedge.net/releases/release-10.21.2-20231106/azcopy_linux_amd64_10.21.2.tar.gz -O - | tar -xz -C $AZURE_CONFIG_DIR/bin/ --wildcards "azcopy_linux_amd64*/azcopy" --strip-components=1
az storage fs directory upload -f <folder> --account-name <your storage account name> --recursive
azcopy version has been updated