|
27 | 27 | include: |
28 | 28 | - channel: nightly |
29 | 29 | target: i686-pc-windows-gnu |
30 | | - mingw-7z-path: mingw |
31 | 30 |
|
32 | 31 | env: |
33 | 32 | CFG_RELEASE_CHANNEL: nightly |
|
41 | 40 | - name: checkout |
42 | 41 | uses: actions/checkout@v2 |
43 | 42 |
|
44 | | - # The Windows runners do not (yet) have a proper msys/mingw environment |
45 | | - # pre-configured like AppVeyor does, though they will likely be added in the future. |
46 | | - # https://github.com/actions/virtual-environments/issues/30 |
47 | | - # |
48 | | - # In the interim, this ensures mingw32 is installed and available on the PATH |
49 | | - # for the i686-pc-windows-gnu target. This approach is used because it's common in |
50 | | - # other rust projects and there are issues/limitations with the msys2 chocolatey nuget |
51 | | - # package and numworks/setup-msys2 action. |
52 | | - # https://github.com/rust-lang/rust/blob/master/src/ci/scripts/install-mingw.sh#L59 |
53 | | - # https://github.com/rust-lang/rustup/blob/master/appveyor.yml |
54 | | - # |
55 | | - # Use GitHub Actions cache support to avoid downloading the .7z file every time |
56 | | - # to be cognizant of the AWS egress cost impacts |
57 | | - # https://help.github.com/en/actions/automating-your-workflow-with-github-actions/caching-dependencies-to-speed-up-workflows#usage-limits-and-eviction-policy |
58 | | - - name: cache mingw.7z |
59 | | - id: cache-mingw |
60 | | - with: |
61 | | - path: ${{ matrix.mingw-7z-path }} |
62 | | - key: ${{ matrix.channel }}-${{ matrix.target }}-mingw |
63 | | - uses: actions/cache@v1 |
64 | | - if: matrix.target == 'i686-pc-windows-gnu' && matrix.channel == 'nightly' |
65 | | - - name: download mingw.7z |
66 | | - run: | |
67 | | - # Disable the download progress bar which can cause perf issues |
68 | | - $ProgressPreference = "SilentlyContinue" |
69 | | - md -Force ${{ matrix.mingw-7z-path }} |
70 | | - Invoke-WebRequest https://ci-mirrors.rust-lang.org/rustc/i686-6.3.0-release-posix-dwarf-rt_v5-rev2.7z -OutFile ${{ matrix.mingw-7z-path }}/mingw.7z |
71 | | - if: matrix.target == 'i686-pc-windows-gnu' && matrix.channel == 'nightly' && steps.cache-mingw.outputs.cache-hit != 'true' |
72 | | - shell: powershell |
73 | | - - name: install mingw32 |
74 | | - run: | |
75 | | - 7z x -y ${{ matrix.mingw-7z-path }}/mingw.7z -oC:\msys64 | Out-Null |
76 | | - echo ::add-path::C:\msys64\mingw32\bin |
77 | | - if: matrix.target == 'i686-pc-windows-gnu' && matrix.channel == 'nightly' |
78 | | - shell: powershell |
79 | | - |
80 | 43 | # Run build |
81 | 44 | - name: setup |
82 | 45 | uses: actions-rs/toolchain@v1 |
|
0 commit comments