diff --git a/.cirrus.yml b/.cirrus.yml index 4b555e97619..3856f66037d 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -28,7 +28,7 @@ build_and_store_wheels: &BUILD_AND_STORE_WHEELS delocate-wheel --require-archs {delocate_archs} -w {dest_dir} -v {wheel} install_cibuildwheel_script: - - $PYTHON -m pip install cibuildwheel==2.16.3 + - $PYTHON -m pip install cibuildwheel==2.16.5 run_cibuildwheel_script: - cibuildwheel diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 0bde4e70373..8754fa605b6 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -22,7 +22,7 @@ jobs: steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: true diff --git a/.github/workflows/cibuildwheel.yml b/.github/workflows/cibuildwheel.yml index 9002aac5cb7..a3849626a3e 100644 --- a/.github/workflows/cibuildwheel.yml +++ b/.github/workflows/cibuildwheel.yml @@ -45,10 +45,11 @@ jobs: MATRIX_PULL_REQUEST: | { "include": [ - {"os": "ubuntu-latest", "CIBW_BUILD": "cp37-manylinux_*", "CIBW_ARCHS": "x86_64"}, - {"os": "ubuntu-latest", "CIBW_BUILD": "cp37-musllinux_*", "CIBW_ARCHS": "x86_64"}, - {"os": "macos-12", "CIBW_BUILD": "cp37-*", "CIBW_ARCHS": "x86_64"}, - {"os": "windows-2022", "CIBW_BUILD": "cp37-*", "CIBW_ARCHS": "AMD64"} + {"os": "ubuntu-latest", "python": "39", "platform_id": "manylinux_x86_64"}, + {"os": "ubuntu-latest", "python": "39", "platform_id": "musllinux_x86_64"}, + {"os": "macos-latest", "python": "39", "platform_id": "macosx_x86_64"}, + {"os": "macos-latest", "python": "39", "platform_id": "macosx_arm64"}, + {"os": "windows-latest", "python": "39", "platform_id": "win_amd64"} ] } MATRIX_WORKFLOW_DISPATCH: | @@ -58,9 +59,10 @@ jobs: {"os": "ubuntu-latest", "CIBW_BUILD": "cp*-manylinux_*", "CIBW_ARCHS": "aarch64"}, {"os": "ubuntu-latest", "CIBW_BUILD": "cp*-musllinux_*", "CIBW_ARCHS": "x86_64"}, {"os": "ubuntu-latest", "CIBW_BUILD": "cp*-musllinux_*", "CIBW_ARCHS": "aarch64"}, - {"os": "macos-12", "CIBW_BUILD": "cp*", "CIBW_ARCHS": "x86_64"}, - {"os": "windows-2022", "CIBW_BUILD": "cp*", "CIBW_ARCHS": "x86"}, - {"os": "windows-2022", "CIBW_BUILD": "cp*", "CIBW_ARCHS": "AMD64"} + {"os": "macos-latest", "CIBW_BUILD": "cp*", "CIBW_ARCHS": "x86_64"}, + {"os": "macos-latest", "CIBW_BUILD": "cp39-*", "CIBW_ARCHS": "arm64"}, + {"os": "windows-latest", "CIBW_BUILD": "cp*", "CIBW_ARCHS": "x86"}, + {"os": "windows-latest", "CIBW_BUILD": "cp*", "CIBW_ARCHS": "AMD64"} ] } @@ -86,25 +88,27 @@ jobs: env: CIBW_BUILD_VERBOSITY: 1 - CIBW_BUILD: ${{ matrix.CIBW_BUILD }} - CIBW_ARCHS: ${{ matrix.CIBW_ARCHS }} + CIBW_ARCHS_LINUX: "x86_64, aarch64" + CIBW_ARCHS_MACOS: "x86_64, arm64" + CIBW_ARCHS_WINDOWS: "32, 64" + CIBW_BUILD: cp${{ matrix.python }}-${{ matrix.platform_id }} CIBW_TEST_SKIP: "*-win32" steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: true - - uses: actions/cache@v3 + - uses: actions/cache@v4 id: cache-wheel with: path: wheelhouse key: wheel-${{ matrix.CIBW_BUILD }}-${{ matrix.CIBW_ARCHS }}-${{ github.sha }} - - uses: docker/setup-qemu-action@v2 + - uses: docker/setup-qemu-action@v3 if: steps.cache-wheel.outputs.cache-hit != 'true' && runner.os == 'Linux' - - uses: pypa/cibuildwheel@v2.12.3 + - uses: pypa/cibuildwheel@v2.16.5 if: steps.cache-wheel.outputs.cache-hit != 'true' - uses: actions/upload-artifact@v3 diff --git a/.github/workflows/cifuzz.yml b/.github/workflows/cifuzz.yml index ced1c8ea2f2..b037caf409d 100644 --- a/.github/workflows/cifuzz.yml +++ b/.github/workflows/cifuzz.yml @@ -19,7 +19,7 @@ jobs: dry-run: false language: c++ - name: Upload Crash - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 if: failure() && steps.build.outcome == 'success' with: name: artifacts diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index cff419bacbb..6a832325585 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -24,7 +24,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: recursive @@ -36,27 +36,27 @@ jobs: - name: After Prepare (cpp) if: ${{ matrix.language == 'cpp' }} - run: 'wget -q "https://github.com/Kitware/CMake/releases/download/v3.21.2/cmake-3.21.2-linux-x86_64.tar.gz" + run: 'wget -q "https://github.com/Kitware/CMake/releases/download/v3.28.3/cmake-3.28.3-linux-x86_64.tar.gz" - tar xzf cmake-3.21.2-linux-x86_64.tar.gz + tar xzf cmake-3.28.3-linux-x86_64.tar.gz ' - name: Initialize CodeQL - uses: github/codeql-action/init@v2 + uses: github/codeql-action/init@v3 with: languages: ${{ matrix.language }} queries: +security-and-quality - name: Build cpp if: ${{ matrix.language == 'cpp' }} - run: './cmake-3.21.2-linux-x86_64/bin/cmake -Dbuild_examples=ON -Dbuild_tests=ON -Dbuild_tools=ON -GNinja . + run: './cmake-3.28.3-linux-x86_64/bin/cmake -Dbuild_examples=ON -Dbuild_tests=ON -Dbuild_tools=ON -GNinja . - ./cmake-3.21.2-linux-x86_64/bin/cmake --build . + ./cmake-3.28.3-linux-x86_64/bin/cmake --build . ' - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 + uses: github/codeql-action/analyze@v3 with: category: "/language:${{ matrix.language }}" diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index bf6cc0ad37b..aa85ba9e175 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -17,7 +17,7 @@ jobs: steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: update package lists continue-on-error: true diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index f65aec349f2..b688a2c0b65 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -15,13 +15,13 @@ jobs: # TODO: matrix across python version and os runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: recursive - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: 3.8 - - uses: pre-commit/action@v3.0.0 + - uses: pre-commit/action@v3.0.1 build: name: build @@ -34,7 +34,7 @@ jobs: steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: true @@ -87,7 +87,7 @@ jobs: steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: true @@ -126,7 +126,7 @@ jobs: steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: true @@ -159,7 +159,7 @@ jobs: steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: true @@ -205,7 +205,7 @@ jobs: steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: true @@ -248,7 +248,7 @@ jobs: b2 ${{ matrix.config }} -l500 warnings-as-errors=on debug-iterators=on invariant-checks=full asserts=on deterministic-tests - name: run tests (flaky) - uses: nick-fields/retry@v2 + uses: nick-fields/retry@v3 with: timeout_minutes: 30 retry_wait_seconds: 4 @@ -263,7 +263,7 @@ jobs: steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: true @@ -305,7 +305,7 @@ jobs: steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: true @@ -331,9 +331,9 @@ jobs: - name: build tarball run: AAFIGURE=~/.local/bin/aafigure RST2HTML=rst2html make dist - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: - name: tarball + name: tarball-${{ matrix.os }} path: libtorrent-rasterbar-*.tar.gz - name: test-tarball (b2 install) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index b61b276566a..e32e053acaf 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -22,7 +22,7 @@ jobs: steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: true @@ -41,7 +41,7 @@ jobs: run: (cd test; b2 ${{ matrix.config }} -l400 warnings-as-errors=on debug-iterators=on invariant-checks=full asserts=on deterministic-tests) - name: run tests (flaky) - uses: nick-fields/retry@v2 + uses: nick-fields/retry@v3 with: timeout_minutes: 30 retry_wait_seconds: 1 @@ -55,7 +55,7 @@ jobs: steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: true @@ -87,7 +87,7 @@ jobs: steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: true @@ -114,7 +114,7 @@ jobs: steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: true diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 70a0e49aff0..01e19e759ca 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -20,7 +20,7 @@ jobs: os: [ubuntu-20.04, macos-latest, windows-latest ] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: true @@ -66,7 +66,7 @@ jobs: - name: install openssl (windows) if: runner.os == 'Windows' - uses: nick-fields/retry@v2 + uses: nick-fields/retry@v3 with: shell: cmd timeout_minutes: 5 diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 3cd0f584d02..760ef6b3267 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -29,12 +29,12 @@ jobs: steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: true - name: install openssl (64 bit) - uses: nick-fields/retry@v2 + uses: nick-fields/retry@v3 with: timeout_minutes: 30 retry_wait_seconds: 4 @@ -82,7 +82,7 @@ jobs: steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: true @@ -116,7 +116,7 @@ jobs: b2 --hash release address-model=64 link=static debug-iterators=off invariant-checks=on define=BOOST_ASIO_DISABLE_IOCP asserts=on testing.execute=off - name: run sims - uses: nick-fields/retry@v2 + uses: nick-fields/retry@v3 with: max_attempts: 3 timeout_minutes: 120 @@ -138,7 +138,7 @@ jobs: steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: true @@ -149,7 +149,7 @@ jobs: bootstrap.bat - name: install openssl (64 bit) - uses: nick-fields/retry@v2 + uses: nick-fields/retry@v3 with: timeout_minutes: 30 retry_wait_seconds: 4 @@ -195,12 +195,12 @@ jobs: steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: true - name: install openssl (64 bit) - uses: nick-fields/retry@v2 + uses: nick-fields/retry@v3 with: timeout_minutes: 30 retry_wait_seconds: 4 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 2505ddb9b23..5a8e48ce9f4 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -15,7 +15,7 @@ default_language_version: python: python3 repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.4.0 + rev: v4.5.0 hooks: #- id: trailing-whitespace #- id: end-of-file-fixer @@ -42,7 +42,7 @@ repos: - id: rst-directive-colons - id: rst-inline-touching-normal - repo: https://github.com/PyCQA/isort - rev: 5.12.0 + rev: 5.13.2 hooks: - id: isort exclude: | @@ -72,7 +72,7 @@ repos: tools/update_copyright.py )$ - repo: https://github.com/PyCQA/autoflake - rev: v2.1.1 + rev: v2.2.1 hooks: - id: autoflake args: [--in-place, --remove-unused-variables, --remove-all-unused-imports, --remove-duplicate-keys] @@ -86,7 +86,7 @@ repos: tools/libtorrent_lldb.py ) - repo: https://github.com/psf/black - rev: 23.3.0 + rev: 24.1.1 hooks: - id: black # Avoiding PR bloat @@ -132,7 +132,7 @@ repos: name: black (pyi) types: [pyi] - repo: https://github.com/pre-commit/mirrors-mypy - rev: v1.3.0 + rev: v1.8.0 hooks: - id: mypy # Avoiding PR bloat @@ -171,7 +171,7 @@ repos: tools/update_copyright.py )$ - repo: https://github.com/PyCQA/flake8 - rev: 6.0.0 + rev: 7.0.0 hooks: - id: flake8 exclude: |