Fix Windows upgrade: extract to temp dir to avoid overwriting locked … #3003
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: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| workflow_dispatch: | |
| jobs: | |
| build-linux-x86: | |
| runs-on: ubuntu-22.04 | |
| container: | |
| image: debian:11 # Debian Bullseye with GLIBC 2.31 for maximum compatibility | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: Install dependencies | |
| run: | | |
| apt-get update | |
| DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential libcurl4-openssl-dev zlib1g-dev curl git | |
| - name: Build | |
| run: cd src && make -f Makefile.linux-x86.mk | |
| - name: Install external tools | |
| run: | | |
| apt-get update | |
| DEBIAN_FRONTEND=noninteractive apt-get install -y pari-gp | |
| # Install Lean 4 via elan (official installer) | |
| curl https://raw.githubusercontent.com/leanprover/elan/master/elan-init.sh -sSf | sh -s -- -y | |
| . ~/.elan/env | |
| echo "$HOME/.elan/bin" >> $GITHUB_PATH | |
| gp --version | |
| lean --version | |
| - name: Test | |
| run: ./loda test | |
| env: | |
| LODA_TEST_WITH_EXTERNAL_TOOLS: 1 | |
| build-linux-arm64: | |
| runs-on: ubuntu-22.04-arm | |
| container: | |
| image: debian:11 # Debian Bullseye with GLIBC 2.31 for maximum compatibility | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: Install dependencies | |
| run: | | |
| apt-get update | |
| DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential libcurl4-openssl-dev zlib1g-dev | |
| - name: Build | |
| run: cd src && make -f Makefile.linux-arm64.mk | |
| - name: Test | |
| run: ./loda test-fast | |
| build-macos-x86: | |
| runs-on: macos-14 | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: Build | |
| run: cd src && make -f Makefile.macos-x86.mk | |
| - name: Test | |
| run: ./loda test | |
| build-macos-arm64: | |
| runs-on: macos-14 | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: Build | |
| run: cd src && make -f Makefile.macos-arm64.mk | |
| - name: Test | |
| run: ./loda test | |
| build-windows-x86: | |
| runs-on: windows-2022 | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - uses: ilammy/msvc-dev-cmd@v1 | |
| - name: Install dependencies | |
| run: | | |
| vcpkg install curl:x64-windows | |
| - name: Build | |
| run: cd src && nmake.exe /F Makefile.windows.mk | |
| env: | |
| VCPKG_ROOT: C:\vcpkg | |
| - name: Test | |
| run: ./loda.exe test | |
| build-windows-arm64: | |
| runs-on: windows-2022 | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - uses: ilammy/msvc-dev-cmd@v1 | |
| with: | |
| arch: amd64_arm64 | |
| - name: Install dependencies | |
| run: | | |
| vcpkg install curl:arm64-windows | |
| - name: Build | |
| run: cd src && nmake.exe /F Makefile.windows.mk | |
| env: | |
| VCPKG_ROOT: C:\vcpkg | |
| VCPKG_ARCH: arm64-windows | |
| code-coverage: | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: Install dependencies | |
| run: sudo apt-get update && sudo apt-get install -y lcov libcurl4-openssl-dev | |
| - name: Generate | |
| run: cd src && make -f Makefile.linux-x86.mk coverage | |
| - name: Upload | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: code-coverage-report | |
| path: src/coverage/ |