bfgroup / Lyra

A simple to use, composable, command line parser for C++ 11 and beyond
https://bfgroup.github.io/Lyra/
Boost Software License 1.0
471 stars 56 forks source link

Azure CI pipeline failure for MinGW build #88

Open stertingen opened 9 months ago

stertingen commented 9 months ago

My recent PR checks fail due to some issues with the MinGW build script.

Example:

``` 2023-12-20T15:35:42.7370655Z ##[section]Starting: Extract MinGW 2023-12-20T15:35:42.7536683Z ============================================================================== 2023-12-20T15:35:42.7536818Z Task : Extract files 2023-12-20T15:35:42.7536873Z Description : Extract a variety of archive and compression files such as .7z, .rar, .tar.gz, and .zip 2023-12-20T15:35:42.7536979Z Version : 1.231.0 2023-12-20T15:35:42.7537030Z Author : Microsoft Corporation 2023-12-20T15:35:42.7537092Z Help : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/extract-files 2023-12-20T15:35:42.7537204Z ============================================================================== 2023-12-20T15:35:43.4228188Z Found: 1 files to extract: 2023-12-20T15:35:43.4230499Z D:\a\1\mingw.7z 2023-12-20T15:35:43.4243488Z Extracting file: D:\a\1\mingw.7z 2023-12-20T15:35:43.4944490Z [command]C:\ProgramData\Chocolatey\bin\7z.exe x -oC:\ D:\a\1\mingw.7z 2023-12-20T15:35:49.8296764Z 2023-12-20T15:35:49.8297117Z 2023-12-20T15:35:49.8297889Z 2023-12-20T15:35:49.8298846Z 7-Zip 23.01 (x64) : Copyright (c) 1999-2023 Igor Pavlov : 2023-06-20 2023-12-20T15:35:49.8299055Z Break signaled 2023-12-20T15:35:49.8299100Z 2023-12-20T15:35:49.8299211Z Scanning the drive for archives: 2023-12-20T15:35:49.8300988Z 1 file, 71007549 bytes (68 MiB) 2023-12-20T15:35:49.8301050Z 2023-12-20T15:35:49.8301176Z Extracting archive: D:\a\1\mingw.7z 2023-12-20T15:35:49.8301534Z -- 2023-12-20T15:35:49.8301636Z Path = D:\a\1\mingw.7z 2023-12-20T15:35:49.8301937Z Type = 7z 2023-12-20T15:35:49.8302047Z Physical Size = 71007549 2023-12-20T15:35:49.8302340Z Headers Size = 145664 2023-12-20T15:35:49.8302597Z Method = LZMA2:26 BCJ 2023-12-20T15:35:49.8302729Z Solid = + 2023-12-20T15:35:49.8302931Z Blocks = 2 2023-12-20T15:35:49.8302979Z 2023-12-20T15:35:49.8303016Z 2023-12-20T15:35:49.8303149Z Would you like to replace the existing file: 2023-12-20T15:35:49.8303326Z Path: C:\mingw64\opt\lib\python3.9\email\mime\__init__.py 2023-12-20T15:35:49.8303474Z Size: 0 bytes 2023-12-20T15:35:49.8303690Z Modified: 2022-12-09 00:25:47 2023-12-20T15:35:49.8303834Z with the file from archive: 2023-12-20T15:35:49.8303973Z Path: mingw64\opt\lib\python3.9\email\mime\__init__.py 2023-12-20T15:35:49.8304116Z Size: 0 bytes 2023-12-20T15:35:49.8304298Z Modified: 2022-08-22 04:46:38 2023-12-20T15:35:49.8304447Z ? (Y)es / (N)o / (A)lways / (S)kip all / A(u)to rename all / (Q)uit? 2023-12-20T15:35:49.8304601Z Archives with Errors: 1 2023-12-20T15:35:49.8304653Z 2023-12-20T15:35:49.8361388Z Error: Extraction failed for file: D:\a\1\mingw.7z 2023-12-20T15:35:49.8362257Z code: 255 2023-12-20T15:35:49.8362527Z stdout: 2023-12-20T15:35:49.8363060Z 7-Zip 23.01 (x64) : Copyright (c) 1999-2023 Igor Pavlov : 2023-06-20 2023-12-20T15:35:49.8363490Z 2023-12-20T15:35:49.8364167Z Scanning the drive for archives: 2023-12-20T15:35:49.8396554Z ##[error]Extraction failed for file: D:\a\1\mingw.7z code: 255 stdout: 7-Zip 23.01 (x64) : Copyright (c) 1999-2023 Igor Pavlov : 2023-06-20 Scanning the drive for archives: 1 file, 71007549 bytes (68 MiB) Extracting archive: D:\a\1\mingw.7z -- Path = D:\a\1\mingw.7z Type = 7z Physical Size = 71007549 Headers Size = 145664 Method = LZMA2:26 BCJ Solid = + Blocks = 2 Would you like to replace the existing file: Path: C:\mingw64\opt\lib\python3.9\email\mime\__init__.py Size: 0 bytes Modified: 2022-12-09 00:25:47 with the file from archive: Path: mingw64\opt\lib\python3.9\email\mime\__init__.py Size: 0 bytes Modified: 2022-08-22 04:46:38 ? (Y)es / (N)o / (A)lways / (S)kip all / A(u)to rename all / (Q)uit? Archives with Errors: 1 stderr: Break signaled error: undefined; 2023-12-20T15:35:49.8407151Z 1 file, 71007549 bytes (68 MiB) 2023-12-20T15:35:49.8414752Z 2023-12-20T15:35:49.8415152Z Extracting archive: D:\a\1\mingw.7z 2023-12-20T15:35:49.8416511Z -- 2023-12-20T15:35:49.8418387Z Path = D:\a\1\mingw.7z 2023-12-20T15:35:49.8419059Z Type = 7z 2023-12-20T15:35:49.8419951Z Physical Size = 71007549 2023-12-20T15:35:49.8420391Z Headers Size = 145664 2023-12-20T15:35:49.8420932Z Method = LZMA2:26 BCJ 2023-12-20T15:35:49.8421756Z Solid = + 2023-12-20T15:35:49.8422746Z Blocks = 2 2023-12-20T15:35:49.8423540Z 2023-12-20T15:35:49.8423788Z 2023-12-20T15:35:49.8424027Z Would you like to replace the existing file: 2023-12-20T15:35:49.8424299Z Path: C:\mingw64\opt\lib\python3.9\email\mime\__init__.py 2023-12-20T15:35:49.8424523Z Size: 0 bytes 2023-12-20T15:35:49.8424878Z Modified: 2022-12-09 00:25:47 2023-12-20T15:35:49.8425116Z with the file from archive: 2023-12-20T15:35:49.8425360Z Path: mingw64\opt\lib\python3.9\email\mime\__init__.py 2023-12-20T15:35:49.8425577Z Size: 0 bytes 2023-12-20T15:35:49.8425869Z Modified: 2022-08-22 04:46:38 2023-12-20T15:35:49.8426271Z ? (Y)es / (N)o / (A)lways / (S)kip all / A(u)to rename all / (Q)uit? 2023-12-20T15:35:49.8426518Z Archives with Errors: 1 2023-12-20T15:35:49.8426673Z 2023-12-20T15:35:49.8426849Z 2023-12-20T15:35:49.8427055Z stderr: 2023-12-20T15:35:49.8427199Z 2023-12-20T15:35:49.8427401Z Break signaled 2023-12-20T15:35:49.8427590Z 2023-12-20T15:35:49.8427778Z error: undefined; 2023-12-20T15:35:49.8458835Z ##[section]Finishing: Extract MinGW ```

It looks like the 7z extractor tries to override existing files. In azp-mingw-test.yml I found the following:

- task: ExtractFiles@1
  inputs:
    archiveFilePatterns: $(Build.SourcesDirectory)/../mingw.7z
    destinationFolder: C:/
    cleanDestinationFolder: false
  displayName: Extract MinGW

Is there any particular reason why cleanDestinationFolder (which defaults to true) is set to false? I would consider removing the option to use the default or add the overwriteExistingFiles option, but I'm not sure how this is going to work out. (Docs: https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/extract-files-v1)