diff options
author | Daniel Schürmann <daschuer@mixxx.org> | 2021-09-09 14:28:43 +0200 |
---|---|---|
committer | Daniel Schürmann <daschuer@mixxx.org> | 2021-09-09 14:28:43 +0200 |
commit | deb436af23d242cffddd3cfd1ae4999079e1eaed (patch) | |
tree | 27982d6378ae781e665460d50a12caabb7b01350 /.github/workflows/build.yml | |
parent | 0444717d4df90ee46688c12bf16628f0b07a8431 (diff) | |
parent | b8a34a03159c0479c40bd0a39ea796dc9ef0096b (diff) |
Merge remote-tracking branch 'upstream/main' into vcpkg_osx
# Conflicts:
# cmake/modules/FindPortAudio.cmake
Diffstat (limited to '.github/workflows/build.yml')
-rw-r--r-- | .github/workflows/build.yml | 62 |
1 files changed, 33 insertions, 29 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 03f59b804d..6dee8b0fa6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -94,35 +94,6 @@ jobs: artifact-windows-win64: ${{ steps.prepare_deploy.outputs.artifact-windows-win64 }} steps: - - name: "[Windows] Install rsync and openssh" - if: runner.os == 'Windows' - run: | - $Env:PATH="c:\msys64\usr\bin;$Env:PATH" - pacman -S --noconfirm coreutils bash rsync openssh - # Unfortunately, mixing executables from msys64 and mingw (i.e. Git - # Bash) does not work properly and leads to errors like these: - # - # 0 [main] python3 (5248) C:\msys64\usr\bin\python3.exe: *** fatal error - cygheap base mismatch detected - 0x180347408/0x180352408. - # - # Even when prepending the MSYS2 binary directory to %PATH%, GitHub - # Actions will still pick the Git Bash executable over the MSYS2 one - # when using `shell: bash`. Since it's not feasible to set `shell` to - # an absolute path in a cross-platform build workflow, we overwrite the - # git bash executable with the MSYS2 one. - # - # Also see related issue: - # https://github.com/actions/virtual-environments/issues/594 - Copy-Item -Path "C:\msys64\usr\bin\bash.exe" -Destination "C:\Program Files\Git\bin\bash.exe" -Force - # By default, MSYS2 uses an - # /etc/profile file that changes - # the current working directory - # when bash is started. We don't - # want this behavior,so we just - # delete it. - Remove-Item -Path "C:\msys64\etc\profile" - # Add MSYS2's tools to %PATH%. - Add-Content -Path "$Env:GITHUB_ENV" -Value "PATH=$Env:PATH" - # sccache's handling of the /fp:fast MSVC compiler option is broken, so use our fork with the fix. # https://github.com/mozilla/sccache/issues/950 - name: "[Windows] Set up cargo cache" @@ -368,6 +339,39 @@ jobs: --dest-url 'https://downloads.mixxx.org' ${{ matrix.artifacts_path }} + # Warning: do not move this step before restoring caches or it will break caching due to + # https://github.com/actions/cache/issues/531 + - name: "[Windows] Install rsync and openssh" + env: + SSH_PRIVATE_KEY: ${{ secrets.DOWNLOADS_HOSTGATOR_DOT_MIXXX_DOT_ORG_KEY }} + if: runner.os == 'Windows' && github.event_name == 'push' && env.SSH_PRIVATE_KEY != null + run: | + $Env:PATH="c:\msys64\usr\bin;$Env:PATH" + pacman -S --noconfirm coreutils bash rsync openssh + # Unfortunately, mixing executables from msys64 and mingw (i.e. Git + # Bash) does not work properly and leads to errors like these: + # + # 0 [main] python3 (5248) C:\msys64\usr\bin\python3.exe: *** fatal error - cygheap base mismatch detected - 0x180347408/0x180352408. + # + # Even when prepending the MSYS2 binary directory to %PATH%, GitHub + # Actions will still pick the Git Bash executable over the MSYS2 one + # when using `shell: bash`. Since it's not feasible to set `shell` to + # an absolute path in a cross-platform build workflow, we overwrite the + # git bash executable with the MSYS2 one. + # + # Also see related issue: + # https://github.com/actions/virtual-environments/issues/594 + Copy-Item -Path "C:\msys64\usr\bin\bash.exe" -Destination "C:\Program Files\Git\bin\bash.exe" -Force + # By default, MSYS2 uses an + # /etc/profile file that changes + # the current working directory + # when bash is started. We don't + # want this behavior,so we just + # delete it. + Remove-Item -Path "C:\msys64\etc\profile" + # Add MSYS2's tools to %PATH%. + Add-Content -Path "$Env:GITHUB_ENV" -Value "PATH=$Env:PATH" + - name: "Set up SSH Agent" if: github.event_name == 'push' && env.SSH_PRIVATE_KEY != null shell: bash |