Bump actions/setup-python from 6 to 7 in the all group #163
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Windows CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| workflow_dispatch: | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| container: fedora:latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Install dependencies | |
| run: | | |
| # We have to install mingw32-nsis even though we're building a 64-bit installer. We've configured nsis to produce a 64-bit exe | |
| dnf install -y autoconf automake diffutils fedpkg libtool mingw64-gcc-c++ mingw64-hidapi mingw64-libstdc++ mingw64-libzip mingw32-nsis mingw64-nsis mingw64-libpsl mingw64-libidn2 python3-pip python3-wheel | |
| - name: Prep libcurl | |
| run: | | |
| mkdir mingw-curl | |
| cd mingw-curl | |
| dnf download mingw-curl --source | |
| rpm2cpio *.src.rpm | cpio -idmv | |
| cp mingw-curl.spec mingw-curl.original_spec | |
| sed -i -f ../concordance/win/mingw-curl-spec-changes.sed mingw-curl.spec | |
| cd - | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: src-spec | |
| path: | | |
| mingw-curl/*.spec | |
| mingw-curl/*.original_spec | |
| - name: Restore libcurl from cache (if available) | |
| id: restore-curl | |
| uses: actions/cache/restore@v6 | |
| with: | |
| path: mingw-curl/noarch/*.rpm | |
| key: libcurl-mingw64-schannel-${{ hashFiles('mingw-curl/*.spec') }} | |
| - name: Build libcurl if it wasn't in the cache | |
| if: steps.restore-curl.outputs.cache-hit != 'true' | |
| run: | | |
| cd mingw-curl | |
| dnf -y builddep mingw-curl.spec | |
| fedpkg local | |
| cd - | |
| # Explicit save/restore so that if libcurl compiles, it is cached and reused even if concordance/libconcord fail | |
| - name: Save libcurl to cache | |
| if: steps.restore-curl.outputs.cache-hit != 'true' | |
| uses: actions/cache/save@v6 | |
| with: | |
| path: mingw-curl/noarch/*.rpm | |
| key: libcurl-mingw64-schannel-${{ hashFiles('mingw-curl/*.spec') }} | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: src-rpm | |
| path: mingw-curl/*.rpm | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: bin-rpms | |
| path: mingw-curl/noarch/*.rpm | |
| - name: Build libconcord | |
| run: | | |
| rpm -i mingw-curl/noarch/*.rpm | |
| cd libconcord | |
| mkdir m4; autoreconf --install | |
| mingw64-configure | |
| mingw64-make | |
| mingw64-make install | |
| cd - | |
| - name: Build concordance | |
| run: | | |
| cd concordance | |
| mkdir m4; autoreconf --install | |
| mingw64-configure LDFLAGS="$(rpm -E %{mingw64_ldflags}) -L$(rpm -E %{mingw64_bindir})" | |
| mingw64-make | |
| mingw64-make install | |
| cd - | |
| - name: Build installer | |
| run: | | |
| pip install mingw-ldd | |
| MINGW_SYSROOT_BIN="/usr/x86_64-w64-mingw32/sys-root/mingw/bin" concordance/win/make_installer.py | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: windows-installer | |
| path: concordance/win/concordance-installer.exe | |
| test: | |
| needs: build | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/download-artifact@v8 | |
| id: download | |
| with: | |
| name: windows-installer | |
| - name: Install and test | |
| run: | | |
| ${{steps.download.outputs.download-path}}\concordance-installer.exe /S | |
| Start-Sleep -Seconds 5 | |
| cd "C:\Program Files\Concordance" | |
| .\concordance.exe --version |