windows: fix builds targeting WinXP, test it in CI #2
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
| # Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. | |
| # | |
| # SPDX-License-Identifier: curl | |
| # This workflow contains checks at the source code level only. | |
| name: Source | |
| 'on': | |
| push: | |
| branches: | |
| - master | |
| - '*/ci' | |
| paths-ignore: | |
| - '**/*.md' | |
| - '.circleci/**' | |
| - 'appveyor.*' | |
| - 'plan9/**' | |
| - 'tests/data/**' | |
| - 'winbuild/**' | |
| pull_request: | |
| branches: | |
| - master | |
| paths-ignore: | |
| - '**/*.md' | |
| - '.circleci/**' | |
| - 'appveyor.*' | |
| - 'plan9/**' | |
| - 'tests/data/**' | |
| - 'winbuild/**' | |
| permissions: {} | |
| jobs: | |
| checksrc: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
| with: | |
| persist-credentials: false | |
| name: checkout | |
| - name: check | |
| run: scripts/checksrc-all.sh | |
| codespell-cmakelint-pytype-ruff: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
| with: | |
| persist-credentials: false | |
| name: checkout | |
| - name: install | |
| env: | |
| DEBIAN_FRONTEND: noninteractive | |
| run: | | |
| sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list | |
| sudo apt-get -o Dpkg::Use-Pty=0 update | |
| sudo rm -f /var/lib/man-db/auto-update | |
| sudo apt-get -o Dpkg::Use-Pty=0 install \ | |
| codespell python3-pip python3-networkx python3-pydot python3-yaml \ | |
| python3-toml python3-markupsafe python3-jinja2 python3-tabulate \ | |
| python3-typing-extensions python3-libcst python3-impacket \ | |
| python3-websockets python3-pytest python3-filelock python3-pytest-xdist | |
| python3 -m pip install --break-system-packages cmakelint==1.4.3 pytype==2024.10.11 ruff==0.11.9 | |
| - name: spellcheck | |
| run: | | |
| codespell \ | |
| --skip scripts/mk-ca-bundle.pl \ | |
| --skip src/tool_hugehelp.c \ | |
| --skip scripts/wcurl \ | |
| -I .github/scripts/codespell-ignore.txt \ | |
| CMake include m4 scripts src lib | |
| - name: cmakelint | |
| run: scripts/cmakelint.sh | |
| - name: pytype | |
| run: find . -name '*.py' -exec pytype -j auto -k {} + | |
| - name: ruff | |
| run: scripts/pythonlint.sh | |
| reuse: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
| with: | |
| persist-credentials: false | |
| name: checkout | |
| - name: REUSE Compliance Check | |
| uses: fsfe/reuse-action@bb774aa972c2a89ff34781233d275075cbddf542 # v5 | |
| complexity: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 3 | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
| with: | |
| persist-credentials: false | |
| name: checkout | |
| - name: install pmccabe | |
| run: | | |
| sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list | |
| sudo apt-get -o Dpkg::Use-Pty=0 update | |
| sudo rm -f /var/lib/man-db/auto-update | |
| sudo apt-get -o Dpkg::Use-Pty=0 install \ | |
| pmccabe | |
| - name: check complexity scores | |
| run: ./scripts/top-complexity | |
| miscchecks: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
| with: | |
| persist-credentials: false | |
| name: checkout | |
| - name: shellcheck | |
| run: .github/scripts/shellcheck.sh | |
| - name: spacecheck | |
| run: .github/scripts/spacecheck.pl | |
| - name: yamlcheck | |
| run: .github/scripts/yamlcheck.sh | |
| # we allow some extra in source code | |
| - name: badwords | |
| run: | | |
| grep -Ev '(\\bwill| url | dir )' .github/scripts/badwords.txt | \ | |
| .github/scripts/badwords.pl $(git ls-files -- src lib include) | |
| ghacheck: | |
| name: GHA analysis | |
| runs-on: macos-latest | |
| timeout-minutes: 1 | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
| with: | |
| persist-credentials: false | |
| name: checkout | |
| - name: zizmor | |
| run: | | |
| brew install zizmor | |
| zizmor --pedantic .github/workflows/*.yml |