From e6ae9f806eeb1b2dc707c464f96fa0546072ab14 Mon Sep 17 00:00:00 2001 From: Congyu WANG Date: Sat, 2 Nov 2024 23:09:42 +0800 Subject: [PATCH] only musl in musl CI and PR --- .github/workflows/CI.yml | 287 +-------------------------------------- .github/workflows/PR.yml | 277 +------------------------------------ 2 files changed, 4 insertions(+), 560 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 97ea272..938c5e6 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -1,199 +1,10 @@ -name: CI +name: CI musl on: release: types: [published] jobs: - macos: - runs-on: macos-13 - strategy: - fail-fast: false - matrix: - py_version: - [3.7, 3.8, 3.9, "3.10", "3.11", "3.12", "3.13", "pypy3.9", "pypy3.10"] - steps: - - uses: actions/checkout@v2 - with: - submodules: recursive - - name: Install llvm-19 - run: | - brew update - brew install llvm@19 - brew install lld - - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.py_version }} - architecture: x64 - - name: Install Rust toolchain - uses: actions-rs/toolchain@v1 - with: - toolchain: 1.82.0 - default: true - - name: Build wheels - run: | - rustup target add aarch64-apple-darwin - pip install maturin - eval "$(brew shellenv)" - export MACOSX_DEPLOYMENT_TARGET=10.14 - export LIBCLANG_PATH=${HOMEBREW_PREFIX}/opt/llvm@19/lib - export CC=${HOMEBREW_PREFIX}/opt/llvm@19/bin/clang - export CXX=${HOMEBREW_PREFIX}/opt/llvm@19/bin/clang++ - export AR=${HOMEBREW_PREFIX}/opt/llvm@19/bin/llvm-ar - export CFLAGS="-flto=thin -O3 --sysroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk" - export CXXFLAGS="-flto=thin -O3 --sysroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk" - export LLD=${HOMEBREW_PREFIX}/opt/lld/bin/ld64.lld - export RUSTFLAGS="-Clinker-plugin-lto -Clinker=$PWD/macos-linker.sh -Clink-arg=-fuse-ld=${LLD}" - maturin build --release --target aarch64-apple-darwin --out dist -i ${{ matrix.py_version }} - maturin build --release --target x86_64-apple-darwin --out dist -i ${{ matrix.py_version }} - - name: Install built wheel - run: | - pip install rocksdict --no-index --find-links dist --force-reinstall || true - pip install speedict --no-index --find-links dist --force-reinstall || true - - name: Python UnitTest - run: | - python -m unittest discover -v test - - name: Upload wheels - uses: actions/upload-artifact@v4 - with: - name: wheels-macos-${{ matrix.py_version }} - path: dist - - windows: - runs-on: windows-latest - strategy: - fail-fast: false - matrix: - target: [x64] - py_version: - [3.7, 3.8, 3.9, "3.10", "3.11", "3.12", "3.13", "pypy3.9", "pypy3.10"] - steps: - - uses: actions/checkout@v2 - with: - submodules: recursive - - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.py_version }} - architecture: ${{ matrix.target }} - - name: Install LLVM and Clang - uses: KyleMayes/install-llvm-action@v2 - with: - version: 18.1 - directory: ${{ runner.temp }}/llvm-18.1 - - name: Install Rust toolchain - uses: actions-rs/toolchain@v1 - with: - toolchain: 1.78.0 - default: true - - name: Build wheels - uses: messense/maturin-action@v1 - with: - target: ${{ matrix.target }} - args: --release --out dist - env: - LIBCLANG_PATH: ${{ runner.temp }}/llvm-18.1/lib - CC: ${{ runner.temp }}/llvm-18.1/bin/clang-cl - CXX: ${{ runner.temp }}/llvm-18.1/bin/clang-cl - AR: ${{ runner.temp }}/llvm-18.1/bin/llvm-lib - CFLAGS: "/clang:-flto=thin /clang:-O3 /clang:-fuse-ld=lld-link" - CXXFLAGS: "/clang:-flto=thin /clang:-O3 /clang:-fuse-ld=lld-link" - RUSTFLAGS: "-Clinker-plugin-lto -Clinker=lld-link" - - name: Install built wheel and test - run: | - pip install rocksdict --no-index --find-links dist --force-reinstall || true - pip install speedict --no-index --find-links dist --force-reinstall || true - python -m unittest discover -v test - - name: Upload wheels - uses: actions/upload-artifact@v4 - with: - name: wheels-win-${{ matrix.py_version }} - path: dist - - manylinux_2_28_x86_64: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - target: [x86_64] - steps: - - uses: actions/checkout@v2 - with: - submodules: recursive - - uses: actions/setup-python@v5 - with: - python-version: 3.9 - architecture: x64 - - name: Build Wheels - uses: messense/maturin-action@v1 - with: - rust-toolchain: 1.82.0 - rustup-components: rustfmt - target: ${{ matrix.target }} - manylinux: 2_28 - args: --release --out dist --interpreter '3.7 3.8 3.9 3.10 3.11 3.12 3.13 pypy3.9 pypy3.10' - container: congyuwang/manylinux_2_28_x86_64:llvm-19.1.3 - env: - LIBCLANG_PATH: /usr/local/lib - CC: /usr/local/bin/clang - CXX: /usr/local/bin/clang++ - AR: /usr/local/bin/llvm-ar - CFLAGS: "-flto=thin -O3" - CXXFLAGS: "-flto=thin -O3" - RUSTFLAGS: "-Clinker-plugin-lto -Clinker=/usr/local/bin/clang -Clink-arg=-fuse-ld=/usr/local/bin/ld.lld" - - - name: Install built wheel and test - run: | - pip install rocksdict --no-index --find-links dist --force-reinstall || true - pip install speedict --no-index --find-links dist --force-reinstall || true - python -m unittest discover -v test - - name: Upload wheels - uses: actions/upload-artifact@v4 - with: - name: wheels-manylinux_2_28-${{ matrix.target }} - path: dist - - manylinux2014_x86_64: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - target: [x86_64] - steps: - - uses: actions/checkout@v2 - with: - submodules: recursive - - uses: actions/setup-python@v5 - with: - python-version: 3.9 - architecture: x64 - - name: Build Wheels - uses: messense/maturin-action@v1 - with: - rust-toolchain: 1.82.0 - rustup-components: rustfmt - target: ${{ matrix.target }} - manylinux: 2014 - args: --release --out dist --interpreter '3.7 3.8 3.9 3.10 3.11 3.12 3.13 pypy3.9 pypy3.10' - container: congyuwang/manylinux2014_x86_64:llvm-19.1.3 - env: - LIBCLANG_PATH: /usr/local/lib - CC: /usr/local/bin/clang - CXX: /usr/local/bin/clang++ - AR: /usr/local/bin/llvm-ar - CFLAGS: "-flto=thin -O3" - CXXFLAGS: "-flto=thin -O3" - RUSTFLAGS: "-Clinker-plugin-lto -Clinker=/usr/local/bin/clang -Clink-arg=-fuse-ld=/usr/local/bin/ld.lld" - - name: Install built wheel and test - run: | - pip install rocksdict --no-index --find-links dist --force-reinstall || true - pip install speedict --no-index --find-links dist --force-reinstall || true - python -m unittest discover -v test - - name: Upload wheels - uses: actions/upload-artifact@v4 - with: - name: wheels-manylinux2014-${{ matrix.target }} - path: dist - musllinux_1_2_x86_64: runs-on: ubuntu-latest strategy: @@ -239,90 +50,6 @@ jobs: name: wheels-musllinux_1_2-${{ matrix.target }} path: dist - manylinux_2_28_arm64: - runs-on: linux-arm64 - strategy: - fail-fast: false - matrix: - target: [aarch64] - steps: - - uses: actions/checkout@v2 - with: - submodules: recursive - - uses: actions/setup-python@v5 - with: - python-version: 3.9 - architecture: arm64 - - name: Build Wheels - uses: messense/maturin-action@v1 - with: - rust-toolchain: 1.82.0 - rustup-components: rustfmt - target: ${{ matrix.target }} - manylinux: 2_28 - args: --release --out dist --interpreter '3.7 3.8 3.9 3.10 3.11 3.12 3.13 pypy3.9 pypy3.10' - container: congyuwang/manylinux_2_28_aarch64:llvm-19.1.3 - env: - LIBCLANG_PATH: /usr/local/lib - CC: /usr/local/bin/clang - CXX: /usr/local/bin/clang++ - AR: /usr/local/bin/llvm-ar - CFLAGS: "-flto=thin -O3" - CXXFLAGS: "-flto=thin -O3" - RUSTFLAGS: "-Clinker-plugin-lto -Clinker=/usr/local/bin/clang -Clink-arg=-fuse-ld=/usr/local/bin/ld.lld" - - name: Install built wheel and test - run: | - pip install rocksdict --no-index --find-links dist --force-reinstall || true - pip install speedict --no-index --find-links dist --force-reinstall || true - python -m unittest discover -v test - - name: Upload wheels - uses: actions/upload-artifact@v4 - with: - name: wheels-manylinux_2_28-${{ matrix.target }} - path: dist - - manylinux2014_arm64: - runs-on: linux-arm64 - strategy: - fail-fast: false - matrix: - target: [aarch64] - steps: - - uses: actions/checkout@v2 - with: - submodules: recursive - - uses: actions/setup-python@v5 - with: - python-version: 3.9 - architecture: arm64 - - name: Build Wheels - uses: messense/maturin-action@v1 - with: - rust-toolchain: 1.82.0 - rustup-components: rustfmt - target: ${{ matrix.target }} - manylinux: 2014 - args: --release --out dist --interpreter '3.7 3.8 3.9 3.10 3.11 3.12 3.13 pypy3.9 pypy3.10' - container: congyuwang/manylinux2014_aarch64:llvm-19.1.3 - env: - LIBCLANG_PATH: /usr/local/lib - CC: /usr/local/bin/clang - CXX: /usr/local/bin/clang++ - AR: /usr/local/bin/llvm-ar - CFLAGS: "-flto=thin -O3" - CXXFLAGS: "-flto=thin -O3" - RUSTFLAGS: "-Clinker-plugin-lto -Clinker=/usr/local/bin/clang -Clink-arg=-fuse-ld=/usr/local/bin/ld.lld" - - name: Install built wheel and test - run: | - pip install rocksdict --no-index --find-links dist --force-reinstall || true - pip install speedict --no-index --find-links dist --force-reinstall || true - python -m unittest discover -v test - - name: Upload wheels - uses: actions/upload-artifact@v4 - with: - name: wheels-manylinux2014-${{ matrix.target }} - path: dist - musllinux_1_2_arm64: runs-on: linux-arm64 strategy: @@ -371,17 +98,7 @@ jobs: release: name: Release runs-on: ubuntu-latest - needs: - [ - windows, - macos, - manylinux_2_28_x86_64, - manylinux2014_x86_64, - musllinux_1_2_x86_64, - manylinux_2_28_arm64, - manylinux2014_arm64, - musllinux_1_2_arm64, - ] + needs: [musllinux_1_2_x86_64, musllinux_1_2_arm64] steps: - uses: actions/download-artifact@v4 with: diff --git a/.github/workflows/PR.yml b/.github/workflows/PR.yml index 5347cd3..7073cd3 100644 --- a/.github/workflows/PR.yml +++ b/.github/workflows/PR.yml @@ -1,199 +1,10 @@ -name: PR check +name: PR check musl on: pull_request: - branches: [main, speedict] + branches: [musl] jobs: - macos: - runs-on: macos-13 - strategy: - fail-fast: false - matrix: - py_version: - [3.7, 3.8, 3.9, "3.10", "3.11", "3.12", "3.13", "pypy3.9", "pypy3.10"] - steps: - - uses: actions/checkout@v2 - with: - submodules: recursive - - name: Install llvm-19 - run: | - brew update - brew install llvm@19 - brew install lld - - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.py_version }} - architecture: x64 - - name: Install Rust toolchain - uses: actions-rs/toolchain@v1 - with: - toolchain: 1.82.0 - default: true - - name: Build wheels - run: | - rustup target add aarch64-apple-darwin - pip install maturin - eval "$(brew shellenv)" - export MACOSX_DEPLOYMENT_TARGET=10.14 - export LIBCLANG_PATH=${HOMEBREW_PREFIX}/opt/llvm@19/lib - export CC=${HOMEBREW_PREFIX}/opt/llvm@19/bin/clang - export CXX=${HOMEBREW_PREFIX}/opt/llvm@19/bin/clang++ - export AR=${HOMEBREW_PREFIX}/opt/llvm@19/bin/llvm-ar - export CFLAGS="-flto=thin -O3 --sysroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk" - export CXXFLAGS="-flto=thin -O3 --sysroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk" - export LLD=${HOMEBREW_PREFIX}/opt/lld/bin/ld64.lld - export RUSTFLAGS="-Clinker-plugin-lto -Clinker=$PWD/macos-linker.sh -Clink-arg=-fuse-ld=${LLD}" - maturin build --release --target aarch64-apple-darwin --out dist -i ${{ matrix.py_version }} - maturin build --release --target x86_64-apple-darwin --out dist -i ${{ matrix.py_version }} - - name: Install built wheel - run: | - pip install rocksdict --no-index --find-links dist --force-reinstall || true - pip install speedict --no-index --find-links dist --force-reinstall || true - - name: Python UnitTest - run: | - python -m unittest discover -v test - - name: Upload wheels - uses: actions/upload-artifact@v4 - with: - name: wheels-macos-${{ matrix.py_version }} - path: dist - - windows: - runs-on: windows-latest - strategy: - fail-fast: false - matrix: - target: [x64] - py_version: - [3.7, 3.8, 3.9, "3.10", "3.11", "3.12", "3.13", "pypy3.9", "pypy3.10"] - steps: - - uses: actions/checkout@v2 - with: - submodules: recursive - - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.py_version }} - architecture: ${{ matrix.target }} - - name: Install LLVM and Clang - uses: KyleMayes/install-llvm-action@v2 - with: - version: 18.1 - directory: ${{ runner.temp }}/llvm-18.1 - - name: Install Rust toolchain - uses: actions-rs/toolchain@v1 - with: - toolchain: 1.78.0 - default: true - - name: Build wheels - uses: messense/maturin-action@v1 - with: - target: ${{ matrix.target }} - args: --release --out dist - env: - LIBCLANG_PATH: ${{ runner.temp }}/llvm-18.1/lib - CC: ${{ runner.temp }}/llvm-18.1/bin/clang-cl - CXX: ${{ runner.temp }}/llvm-18.1/bin/clang-cl - AR: ${{ runner.temp }}/llvm-18.1/bin/llvm-lib - CFLAGS: "/clang:-flto=thin /clang:-O3 /clang:-fuse-ld=lld-link" - CXXFLAGS: "/clang:-flto=thin /clang:-O3 /clang:-fuse-ld=lld-link" - RUSTFLAGS: "-Clinker-plugin-lto -Clinker=lld-link" - - name: Install built wheel and test - run: | - pip install rocksdict --no-index --find-links dist --force-reinstall || true - pip install speedict --no-index --find-links dist --force-reinstall || true - python -m unittest discover -v test - - name: Upload wheels - uses: actions/upload-artifact@v4 - with: - name: wheels-win-${{ matrix.py_version }} - path: dist - - manylinux_2_28_x86_64: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - target: [x86_64] - steps: - - uses: actions/checkout@v2 - with: - submodules: recursive - - uses: actions/setup-python@v5 - with: - python-version: 3.9 - architecture: x64 - - name: Build Wheels - uses: messense/maturin-action@v1 - with: - rust-toolchain: 1.82.0 - rustup-components: rustfmt - target: ${{ matrix.target }} - manylinux: 2_28 - args: --release --out dist --interpreter '3.7 3.8 3.9 3.10 3.11 3.12 3.13 pypy3.9 pypy3.10' - container: congyuwang/manylinux_2_28_x86_64:llvm-19.1.3 - env: - LIBCLANG_PATH: /usr/local/lib - CC: /usr/local/bin/clang - CXX: /usr/local/bin/clang++ - AR: /usr/local/bin/llvm-ar - CFLAGS: "-flto=thin -O3" - CXXFLAGS: "-flto=thin -O3" - RUSTFLAGS: "-Clinker-plugin-lto -Clinker=/usr/local/bin/clang -Clink-arg=-fuse-ld=/usr/local/bin/ld.lld" - - - name: Install built wheel and test - run: | - pip install rocksdict --no-index --find-links dist --force-reinstall || true - pip install speedict --no-index --find-links dist --force-reinstall || true - python -m unittest discover -v test - - name: Upload wheels - uses: actions/upload-artifact@v4 - with: - name: wheels-manylinux_2_28-${{ matrix.target }} - path: dist - - manylinux2014_x86_64: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - target: [x86_64] - steps: - - uses: actions/checkout@v2 - with: - submodules: recursive - - uses: actions/setup-python@v5 - with: - python-version: 3.9 - architecture: x64 - - name: Build Wheels - uses: messense/maturin-action@v1 - with: - rust-toolchain: 1.82.0 - rustup-components: rustfmt - target: ${{ matrix.target }} - manylinux: 2014 - args: --release --out dist --interpreter '3.7 3.8 3.9 3.10 3.11 3.12 3.13 pypy3.9 pypy3.10' - container: congyuwang/manylinux2014_x86_64:llvm-19.1.3 - env: - LIBCLANG_PATH: /usr/local/lib - CC: /usr/local/bin/clang - CXX: /usr/local/bin/clang++ - AR: /usr/local/bin/llvm-ar - CFLAGS: "-flto=thin -O3" - CXXFLAGS: "-flto=thin -O3" - RUSTFLAGS: "-Clinker-plugin-lto -Clinker=/usr/local/bin/clang -Clink-arg=-fuse-ld=/usr/local/bin/ld.lld" - - name: Install built wheel and test - run: | - pip install rocksdict --no-index --find-links dist --force-reinstall || true - pip install speedict --no-index --find-links dist --force-reinstall || true - python -m unittest discover -v test - - name: Upload wheels - uses: actions/upload-artifact@v4 - with: - name: wheels-manylinux2014-${{ matrix.target }} - path: dist - musllinux_1_2_x86_64: runs-on: ubuntu-latest strategy: @@ -239,90 +50,6 @@ jobs: name: wheels-musllinux_1_2-${{ matrix.target }} path: dist - manylinux_2_28_arm64: - runs-on: linux-arm64 - strategy: - fail-fast: false - matrix: - target: [aarch64] - steps: - - uses: actions/checkout@v2 - with: - submodules: recursive - - uses: actions/setup-python@v5 - with: - python-version: 3.9 - architecture: arm64 - - name: Build Wheels - uses: messense/maturin-action@v1 - with: - rust-toolchain: 1.82.0 - rustup-components: rustfmt - target: ${{ matrix.target }} - manylinux: 2_28 - args: --release --out dist --interpreter '3.7 3.8 3.9 3.10 3.11 3.12 3.13 pypy3.9 pypy3.10' - container: congyuwang/manylinux_2_28_aarch64:llvm-19.1.3 - env: - LIBCLANG_PATH: /usr/local/lib - CC: /usr/local/bin/clang - CXX: /usr/local/bin/clang++ - AR: /usr/local/bin/llvm-ar - CFLAGS: "-flto=thin -O3" - CXXFLAGS: "-flto=thin -O3" - RUSTFLAGS: "-Clinker-plugin-lto -Clinker=/usr/local/bin/clang -Clink-arg=-fuse-ld=/usr/local/bin/ld.lld" - - name: Install built wheel and test - run: | - pip install rocksdict --no-index --find-links dist --force-reinstall || true - pip install speedict --no-index --find-links dist --force-reinstall || true - python -m unittest discover -v test - - name: Upload wheels - uses: actions/upload-artifact@v4 - with: - name: wheels-manylinux_2_28-${{ matrix.target }} - path: dist - - manylinux2014_arm64: - runs-on: linux-arm64 - strategy: - fail-fast: false - matrix: - target: [aarch64] - steps: - - uses: actions/checkout@v2 - with: - submodules: recursive - - uses: actions/setup-python@v5 - with: - python-version: 3.9 - architecture: arm64 - - name: Build Wheels - uses: messense/maturin-action@v1 - with: - rust-toolchain: 1.82.0 - rustup-components: rustfmt - target: ${{ matrix.target }} - manylinux: 2014 - args: --release --out dist --interpreter '3.7 3.8 3.9 3.10 3.11 3.12 3.13 pypy3.9 pypy3.10' - container: congyuwang/manylinux2014_aarch64:llvm-19.1.3 - env: - LIBCLANG_PATH: /usr/local/lib - CC: /usr/local/bin/clang - CXX: /usr/local/bin/clang++ - AR: /usr/local/bin/llvm-ar - CFLAGS: "-flto=thin -O3" - CXXFLAGS: "-flto=thin -O3" - RUSTFLAGS: "-Clinker-plugin-lto -Clinker=/usr/local/bin/clang -Clink-arg=-fuse-ld=/usr/local/bin/ld.lld" - - name: Install built wheel and test - run: | - pip install rocksdict --no-index --find-links dist --force-reinstall || true - pip install speedict --no-index --find-links dist --force-reinstall || true - python -m unittest discover -v test - - name: Upload wheels - uses: actions/upload-artifact@v4 - with: - name: wheels-manylinux2014-${{ matrix.target }} - path: dist - musllinux_1_2_arm64: runs-on: linux-arm64 strategy: