From 4c260456c22b6310fdcbc09f7b4e5f1f6eaafb66 Mon Sep 17 00:00:00 2001 From: haya4ux Date: Thu, 6 Mar 2025 09:44:53 +0900 Subject: [PATCH 01/18] For CI Testing From 50190943509181f5e53133293db29b440aeaff74 Mon Sep 17 00:00:00 2001 From: haya4ux Date: Thu, 6 Mar 2025 10:52:13 +0900 Subject: [PATCH 02/18] fix --- .github/workflows/macosx.yml | 13 +++++++------ .github/workflows/manylinux.yml | 4 ++-- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/.github/workflows/macosx.yml b/.github/workflows/macosx.yml index 1b82d22d..c0675362 100644 --- a/.github/workflows/macosx.yml +++ b/.github/workflows/macosx.yml @@ -16,16 +16,17 @@ jobs: - name: Install build dependencies run: | pip install --upgrade pip setuptools wheel build - brew install libxml2 libxmlsec1 pkg-config + brew install libxml2 libxmlsec1 pkg-config openssl@1.1 - name: Build macosx_x86_64 wheel env: CC: clang - CFLAGS: "-fprofile-instr-generate -fcoverage-mapping" - LDFLAGS: "-fprofile-instr-generate -fcoverage-mapping" + CFLAGS: "-fprofile-instr-generate -fcoverage-mapping -I$(brew --prefix)/opt/openssl@1.1/include" + LDFLAGS: "-fprofile-instr-generate -fcoverage-mapping -L$(brew --prefix)/opt/openssl@1.1/lib" PYXMLSEC_STATIC_DEPS: ${{ matrix.static_deps }} GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - export PKG_CONFIG_PATH="$(brew --prefix)/opt/libxml2/lib/pkgconfig" + # PKG_CONFIG_PATH に openssl@1.1 の pkgconfig を追記 + export PKG_CONFIG_PATH="$(brew --prefix)/opt/libxml2/lib/pkgconfig:$(brew --prefix)/opt/openssl@1.1/lib/pkgconfig" python -m build rm -rf build/ - name: Set environment variables @@ -35,8 +36,8 @@ jobs: echo "LLVM_PROFILE_FILE=pyxmlsec.profraw" >> $GITHUB_ENV - name: Install test dependencies run: | - export PKG_CONFIG_PATH="$(brew --prefix)/opt/libxml2/lib/pkgconfig" - pip install coverage --upgrade --no-binary=lxml -r requirements-test.txt + export PKG_CONFIG_PATH="$(brew --prefix)/opt/libxml2/lib/pkgconfig:$(brew --prefix)/opt/openssl@1.1/lib/pkgconfig" + pip install coverage --upgrade --no-binary lxml -r requirements-test.txt pip install xmlsec --only-binary=xmlsec --no-index --find-links=dist/ echo "PYXMLSEC_LIBFILE=$(python -c 'import xmlsec; print(xmlsec.__file__)')" >> $GITHUB_ENV - name: Run tests diff --git a/.github/workflows/manylinux.yml b/.github/workflows/manylinux.yml index a44776b3..fcd363c2 100644 --- a/.github/workflows/manylinux.yml +++ b/.github/workflows/manylinux.yml @@ -5,7 +5,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-abi: [cp36-cp36m, cp37-cp37m, cp38-cp38, cp39-cp39, cp310-cp310, cp311-cp311] + python-abi: [cp36-cp36m, cp37-cp37m, cp38-cp38, cp39-cp39, cp310-cp310, cp311-cp311, cp312-cp312, cp313-cp313] image: - manylinux2014_x86_64 - manylinux_2_28_x86_64 @@ -20,7 +20,7 @@ jobs: /opt/python/${{ matrix.python-abi }}/bin/pip install --upgrade pip setuptools wheel build - name: Install system build dependencies (manylinux) run: | - yum install -y perl-core + yum install -y perl-core libxml2-devel libxslt-devel if: contains(matrix.image, 'manylinux') - name: Set environment variables shell: bash From bf55c47a714ea9d7b6c77b5ae114e385a2563059 Mon Sep 17 00:00:00 2001 From: haya4ux Date: Thu, 6 Mar 2025 10:57:10 +0900 Subject: [PATCH 03/18] fix --- .github/workflows/macosx.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/macosx.yml b/.github/workflows/macosx.yml index c0675362..c5a6fd9d 100644 --- a/.github/workflows/macosx.yml +++ b/.github/workflows/macosx.yml @@ -20,13 +20,13 @@ jobs: - name: Build macosx_x86_64 wheel env: CC: clang - CFLAGS: "-fprofile-instr-generate -fcoverage-mapping -I$(brew --prefix)/opt/openssl@1.1/include" - LDFLAGS: "-fprofile-instr-generate -fcoverage-mapping -L$(brew --prefix)/opt/openssl@1.1/lib" PYXMLSEC_STATIC_DEPS: ${{ matrix.static_deps }} GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - # PKG_CONFIG_PATH に openssl@1.1 の pkgconfig を追記 - export PKG_CONFIG_PATH="$(brew --prefix)/opt/libxml2/lib/pkgconfig:$(brew --prefix)/opt/openssl@1.1/lib/pkgconfig" + export OPENSSL_PREFIX="$(brew --prefix openssl@1.1)" + export CFLAGS="-fprofile-instr-generate -fcoverage-mapping -I${OPENSSL_PREFIX}/include" + export LDFLAGS="-fprofile-instr-generate -fcoverage-mapping -L${OPENSSL_PREFIX}/lib" + export PKG_CONFIG_PATH="$(brew --prefix)/opt/libxml2/lib/pkgconfig:${OPENSSL_PREFIX}/lib/pkgconfig" python -m build rm -rf build/ - name: Set environment variables @@ -36,7 +36,7 @@ jobs: echo "LLVM_PROFILE_FILE=pyxmlsec.profraw" >> $GITHUB_ENV - name: Install test dependencies run: | - export PKG_CONFIG_PATH="$(brew --prefix)/opt/libxml2/lib/pkgconfig:$(brew --prefix)/opt/openssl@1.1/lib/pkgconfig" + export PKG_CONFIG_PATH="$(brew --prefix)/opt/libxml2/lib/pkgconfig:$(brew --prefix openssl@1.1)/lib/pkgconfig" pip install coverage --upgrade --no-binary lxml -r requirements-test.txt pip install xmlsec --only-binary=xmlsec --no-index --find-links=dist/ echo "PYXMLSEC_LIBFILE=$(python -c 'import xmlsec; print(xmlsec.__file__)')" >> $GITHUB_ENV From 6d54f5d5b58f8428ae54e24515881e659aebadb5 Mon Sep 17 00:00:00 2001 From: haya4ux Date: Thu, 6 Mar 2025 11:03:05 +0900 Subject: [PATCH 04/18] fix --- .github/workflows/manylinux.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/manylinux.yml b/.github/workflows/manylinux.yml index fcd363c2..1602d11c 100644 --- a/.github/workflows/manylinux.yml +++ b/.github/workflows/manylinux.yml @@ -22,6 +22,10 @@ jobs: run: | yum install -y perl-core libxml2-devel libxslt-devel if: contains(matrix.image, 'manylinux') + - name: Install system build dependencies (musllinux) + run: | + apk add --no-cache libxml2-dev libxslt-dev + if: contains(matrix.image, 'musllinux') - name: Set environment variables shell: bash run: | From 0c58ea05fa3dded3e8f9fdca45e314b7c3c3bb7c Mon Sep 17 00:00:00 2001 From: haya4ux Date: Thu, 6 Mar 2025 11:19:38 +0900 Subject: [PATCH 05/18] fix --- .github/workflows/macosx.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/macosx.yml b/.github/workflows/macosx.yml index c5a6fd9d..df55a424 100644 --- a/.github/workflows/macosx.yml +++ b/.github/workflows/macosx.yml @@ -23,6 +23,7 @@ jobs: PYXMLSEC_STATIC_DEPS: ${{ matrix.static_deps }} GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | + export PYXMLSEC_OPENSSL_VERSION="openssl-1.1.1u" export OPENSSL_PREFIX="$(brew --prefix openssl@1.1)" export CFLAGS="-fprofile-instr-generate -fcoverage-mapping -I${OPENSSL_PREFIX}/include" export LDFLAGS="-fprofile-instr-generate -fcoverage-mapping -L${OPENSSL_PREFIX}/lib" From ca5971142423316b05ce619946b4577cc2406997 Mon Sep 17 00:00:00 2001 From: haya4ux Date: Thu, 6 Mar 2025 11:28:22 +0900 Subject: [PATCH 06/18] fix --- .github/workflows/linuxbrew.yml | 4 ++++ .github/workflows/macosx.yml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/linuxbrew.yml b/.github/workflows/linuxbrew.yml index d8996fd6..f2676ee6 100644 --- a/.github/workflows/linuxbrew.yml +++ b/.github/workflows/linuxbrew.yml @@ -18,6 +18,10 @@ jobs: brew update brew install python@${{ matrix.python }} gcc libxml2 libxmlsec1 pkg-config echo "/home/linuxbrew/.linuxbrew/opt/python@${{ matrix.python }}/libexec/bin" >> $GITHUB_PATH + - name: Symlink gcc + run: | + ln -sf "$(command -v gcc)" /home/linuxbrew/.linuxbrew/bin/gcc-11 + ln -sf "$(command -v g++)" /home/linuxbrew/.linuxbrew/bin/g++-11 - name: Build wheel run: | python3 -m venv build_venv diff --git a/.github/workflows/macosx.yml b/.github/workflows/macosx.yml index df55a424..47cf24ec 100644 --- a/.github/workflows/macosx.yml +++ b/.github/workflows/macosx.yml @@ -24,6 +24,7 @@ jobs: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | export PYXMLSEC_OPENSSL_VERSION="openssl-1.1.1u" + export PYXMLSEC_OPENSSL_DOWNLOAD_URL="https://www.openssl.org/source/openssl-1.1.1u.tar.gz" export OPENSSL_PREFIX="$(brew --prefix openssl@1.1)" export CFLAGS="-fprofile-instr-generate -fcoverage-mapping -I${OPENSSL_PREFIX}/include" export LDFLAGS="-fprofile-instr-generate -fcoverage-mapping -L${OPENSSL_PREFIX}/lib" @@ -49,4 +50,3 @@ jobs: /Library/Developer/CommandLineTools/usr/bin/llvm-profdata merge -sparse ${{ env.LLVM_PROFILE_FILE }} -output pyxmlsec.profdata /Library/Developer/CommandLineTools/usr/bin/llvm-cov show ${{ env.PYXMLSEC_LIBFILE }} --arch=$(uname -m) --instr-profile=pyxmlsec.profdata src > coverage.txt bash <(curl -s https://codecov.io/bash) -f coverage.txt - if: matrix.static_deps != 'static' From be37e52bc4c1c924920bcfed23d536b227188d26 Mon Sep 17 00:00:00 2001 From: haya4ux Date: Thu, 6 Mar 2025 16:36:59 +0900 Subject: [PATCH 07/18] fix --- .github/workflows/manylinux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/manylinux.yml b/.github/workflows/manylinux.yml index 1602d11c..f07b8051 100644 --- a/.github/workflows/manylinux.yml +++ b/.github/workflows/manylinux.yml @@ -20,7 +20,7 @@ jobs: /opt/python/${{ matrix.python-abi }}/bin/pip install --upgrade pip setuptools wheel build - name: Install system build dependencies (manylinux) run: | - yum install -y perl-core libxml2-devel libxslt-devel + yum install -y perl-core openssl-dev openssl-devel libxml2-devel libxslt-devel if: contains(matrix.image, 'manylinux') - name: Install system build dependencies (musllinux) run: | From 191914c5c2bf25bd5019e8cb0e39658af280da79 Mon Sep 17 00:00:00 2001 From: haya4ux Date: Thu, 6 Mar 2025 16:42:33 +0900 Subject: [PATCH 08/18] fix --- .github/workflows/manylinux.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/manylinux.yml b/.github/workflows/manylinux.yml index f07b8051..ccc802fa 100644 --- a/.github/workflows/manylinux.yml +++ b/.github/workflows/manylinux.yml @@ -20,11 +20,11 @@ jobs: /opt/python/${{ matrix.python-abi }}/bin/pip install --upgrade pip setuptools wheel build - name: Install system build dependencies (manylinux) run: | - yum install -y perl-core openssl-dev openssl-devel libxml2-devel libxslt-devel + yum install -y perl-core openssl-devel libxml2-devel libxslt-devel if: contains(matrix.image, 'manylinux') - name: Install system build dependencies (musllinux) run: | - apk add --no-cache libxml2-dev libxslt-dev + apk add --no-cache openssl-dev libxml2-dev libxslt-dev if: contains(matrix.image, 'musllinux') - name: Set environment variables shell: bash From cb25d64ef641055ce827c0ee9ca96a8542f73da3 Mon Sep 17 00:00:00 2001 From: haya4ux Date: Thu, 6 Mar 2025 17:08:08 +0900 Subject: [PATCH 09/18] fix --- .github/workflows/macosx.yml | 4 ++-- .github/workflows/manylinux.yml | 20 +++++++++++++++----- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/.github/workflows/macosx.yml b/.github/workflows/macosx.yml index 47cf24ec..b569225e 100644 --- a/.github/workflows/macosx.yml +++ b/.github/workflows/macosx.yml @@ -23,8 +23,8 @@ jobs: PYXMLSEC_STATIC_DEPS: ${{ matrix.static_deps }} GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - export PYXMLSEC_OPENSSL_VERSION="openssl-1.1.1u" - export PYXMLSEC_OPENSSL_DOWNLOAD_URL="https://www.openssl.org/source/openssl-1.1.1u.tar.gz" + export PYXMLSEC_OPENSSL_VERSION="openssl-1.1.1w" + export PYXMLSEC_OPENSSL_DOWNLOAD_URL="https://www.openssl.org/source/openssl-1.1.1w.tar.gz" export OPENSSL_PREFIX="$(brew --prefix openssl@1.1)" export CFLAGS="-fprofile-instr-generate -fcoverage-mapping -I${OPENSSL_PREFIX}/include" export LDFLAGS="-fprofile-instr-generate -fcoverage-mapping -L${OPENSSL_PREFIX}/lib" diff --git a/.github/workflows/manylinux.yml b/.github/workflows/manylinux.yml index ccc802fa..76aa53c1 100644 --- a/.github/workflows/manylinux.yml +++ b/.github/workflows/manylinux.yml @@ -19,13 +19,23 @@ jobs: chown -R $(id -u):$(id -g) $PWD /opt/python/${{ matrix.python-abi }}/bin/pip install --upgrade pip setuptools wheel build - name: Install system build dependencies (manylinux) - run: | - yum install -y perl-core openssl-devel libxml2-devel libxslt-devel if: contains(matrix.image, 'manylinux') - - name: Install system build dependencies (musllinux) run: | - apk add --no-cache openssl-dev libxml2-dev libxslt-dev + yum install -y perl-core openssl-devel libxml2-devel libxslt-devel wget tar gcc make + - name: Install system build dependencies (musllinux) if: contains(matrix.image, 'musllinux') + run: | + apk add --no-cache openssl-dev libxml2-dev libxslt-dev wget tar gcc make + - name: Build updated libxmlsec1 (for manylinux2014 only) + if: ${{ matrix.image == 'manylinux2014_x86_64' }} + run: | + wget https://www.aleksey.com/xmlsec/download/xmlsec1-1.2.32.tar.gz + tar xzf xmlsec1-1.2.32.tar.gz + cd xmlsec1-1.2.32 + ./configure --with-openssl --prefix=/usr/local + make -j$(nproc) + make install + ldconfig - name: Set environment variables shell: bash run: | @@ -49,4 +59,4 @@ jobs: /opt/python/${{ matrix.python-abi }}/bin/pip install xmlsec --only-binary=xmlsec --no-index --find-links=wheelhouse/ - name: Run tests run: | - /opt/python/${{ matrix.python-abi }}/bin/pytest -v --color=yes + /opt/python/${{ matrix.python-abi }}/bin/pytest -v --color=yes \ No newline at end of file From 2dd66d52786f2e64e5cb3ccad98be8521feb8ad4 Mon Sep 17 00:00:00 2001 From: haya4ux Date: Thu, 6 Mar 2025 17:19:19 +0900 Subject: [PATCH 10/18] fix --- .github/workflows/macosx.yml | 2 +- .github/workflows/manylinux.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macosx.yml b/.github/workflows/macosx.yml index b569225e..451e07a0 100644 --- a/.github/workflows/macosx.yml +++ b/.github/workflows/macosx.yml @@ -24,7 +24,7 @@ jobs: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | export PYXMLSEC_OPENSSL_VERSION="openssl-1.1.1w" - export PYXMLSEC_OPENSSL_DOWNLOAD_URL="https://www.openssl.org/source/openssl-1.1.1w.tar.gz" + export PYXMLSEC_OPENSSL_DOWNLOAD_URL="https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1w/openssl-1.1.1w.tar.gz" export OPENSSL_PREFIX="$(brew --prefix openssl@1.1)" export CFLAGS="-fprofile-instr-generate -fcoverage-mapping -I${OPENSSL_PREFIX}/include" export LDFLAGS="-fprofile-instr-generate -fcoverage-mapping -L${OPENSSL_PREFIX}/lib" diff --git a/.github/workflows/manylinux.yml b/.github/workflows/manylinux.yml index 76aa53c1..49550cef 100644 --- a/.github/workflows/manylinux.yml +++ b/.github/workflows/manylinux.yml @@ -29,7 +29,7 @@ jobs: - name: Build updated libxmlsec1 (for manylinux2014 only) if: ${{ matrix.image == 'manylinux2014_x86_64' }} run: | - wget https://www.aleksey.com/xmlsec/download/xmlsec1-1.2.32.tar.gz + wget http://www.aleksey.com/xmlsec/download/xmlsec1-1.2.30.tar.gz tar xzf xmlsec1-1.2.32.tar.gz cd xmlsec1-1.2.32 ./configure --with-openssl --prefix=/usr/local From 05e5354fe0dbbcfe776a60cab94e3ef673043286 Mon Sep 17 00:00:00 2001 From: haya4ux Date: Thu, 6 Mar 2025 17:50:13 +0900 Subject: [PATCH 11/18] fix --- .github/workflows/manylinux.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/manylinux.yml b/.github/workflows/manylinux.yml index 49550cef..347bc454 100644 --- a/.github/workflows/manylinux.yml +++ b/.github/workflows/manylinux.yml @@ -29,9 +29,9 @@ jobs: - name: Build updated libxmlsec1 (for manylinux2014 only) if: ${{ matrix.image == 'manylinux2014_x86_64' }} run: | - wget http://www.aleksey.com/xmlsec/download/xmlsec1-1.2.30.tar.gz - tar xzf xmlsec1-1.2.32.tar.gz - cd xmlsec1-1.2.32 + wget ttps://github.com/lsh123/xmlsec/releases/download/1.3.7/xmlsec1-1.3.7.tar.gz + tar xzf xmlsec1-1.3.7.tar.gz + cd xmlsec1-1.3.7 ./configure --with-openssl --prefix=/usr/local make -j$(nproc) make install From af750b77088d97f0fc5373de6f313263026e6548 Mon Sep 17 00:00:00 2001 From: haya4ux Date: Thu, 6 Mar 2025 17:57:48 +0900 Subject: [PATCH 12/18] fix --- .github/workflows/macosx.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/macosx.yml b/.github/workflows/macosx.yml index 451e07a0..91813de3 100644 --- a/.github/workflows/macosx.yml +++ b/.github/workflows/macosx.yml @@ -29,7 +29,7 @@ jobs: export CFLAGS="-fprofile-instr-generate -fcoverage-mapping -I${OPENSSL_PREFIX}/include" export LDFLAGS="-fprofile-instr-generate -fcoverage-mapping -L${OPENSSL_PREFIX}/lib" export PKG_CONFIG_PATH="$(brew --prefix)/opt/libxml2/lib/pkgconfig:${OPENSSL_PREFIX}/lib/pkgconfig" - python -m build + python -m build --no-isolation rm -rf build/ - name: Set environment variables shell: bash From 780272354f2bfe3e80ff91eaab4b77d5cdc5360b Mon Sep 17 00:00:00 2001 From: haya4ux Date: Thu, 6 Mar 2025 18:03:20 +0900 Subject: [PATCH 13/18] fix --- .github/workflows/macosx.yml | 2 ++ .github/workflows/manylinux.yml | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/macosx.yml b/.github/workflows/macosx.yml index 91813de3..db0ad9ba 100644 --- a/.github/workflows/macosx.yml +++ b/.github/workflows/macosx.yml @@ -29,6 +29,7 @@ jobs: export CFLAGS="-fprofile-instr-generate -fcoverage-mapping -I${OPENSSL_PREFIX}/include" export LDFLAGS="-fprofile-instr-generate -fcoverage-mapping -L${OPENSSL_PREFIX}/lib" export PKG_CONFIG_PATH="$(brew --prefix)/opt/libxml2/lib/pkgconfig:${OPENSSL_PREFIX}/lib/pkgconfig" + pip install setuptools_scm[toml]>=3.4 lxml pkgconfig python -m build --no-isolation rm -rf build/ - name: Set environment variables @@ -50,3 +51,4 @@ jobs: /Library/Developer/CommandLineTools/usr/bin/llvm-profdata merge -sparse ${{ env.LLVM_PROFILE_FILE }} -output pyxmlsec.profdata /Library/Developer/CommandLineTools/usr/bin/llvm-cov show ${{ env.PYXMLSEC_LIBFILE }} --arch=$(uname -m) --instr-profile=pyxmlsec.profdata src > coverage.txt bash <(curl -s https://codecov.io/bash) -f coverage.txt + if: matrix.static_deps != 'static' \ No newline at end of file diff --git a/.github/workflows/manylinux.yml b/.github/workflows/manylinux.yml index 347bc454..01a97d0a 100644 --- a/.github/workflows/manylinux.yml +++ b/.github/workflows/manylinux.yml @@ -29,7 +29,7 @@ jobs: - name: Build updated libxmlsec1 (for manylinux2014 only) if: ${{ matrix.image == 'manylinux2014_x86_64' }} run: | - wget ttps://github.com/lsh123/xmlsec/releases/download/1.3.7/xmlsec1-1.3.7.tar.gz + wget https://github.com/lsh123/xmlsec/releases/download/1.3.7/xmlsec1-1.3.7.tar.gz tar xzf xmlsec1-1.3.7.tar.gz cd xmlsec1-1.3.7 ./configure --with-openssl --prefix=/usr/local From b519555a848bedab09be6352c8d601541e931b6c Mon Sep 17 00:00:00 2001 From: haya4ux Date: Thu, 6 Mar 2025 18:12:07 +0900 Subject: [PATCH 14/18] fix --- .github/workflows/macosx.yml | 3 +-- .github/workflows/manylinux.yml | 13 +++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macosx.yml b/.github/workflows/macosx.yml index db0ad9ba..23c39bc0 100644 --- a/.github/workflows/macosx.yml +++ b/.github/workflows/macosx.yml @@ -29,7 +29,6 @@ jobs: export CFLAGS="-fprofile-instr-generate -fcoverage-mapping -I${OPENSSL_PREFIX}/include" export LDFLAGS="-fprofile-instr-generate -fcoverage-mapping -L${OPENSSL_PREFIX}/lib" export PKG_CONFIG_PATH="$(brew --prefix)/opt/libxml2/lib/pkgconfig:${OPENSSL_PREFIX}/lib/pkgconfig" - pip install setuptools_scm[toml]>=3.4 lxml pkgconfig python -m build --no-isolation rm -rf build/ - name: Set environment variables @@ -39,6 +38,7 @@ jobs: echo "LLVM_PROFILE_FILE=pyxmlsec.profraw" >> $GITHUB_ENV - name: Install test dependencies run: | + export LIBXML2_DIR="$(brew --prefix)/opt/libxml2" export PKG_CONFIG_PATH="$(brew --prefix)/opt/libxml2/lib/pkgconfig:$(brew --prefix openssl@1.1)/lib/pkgconfig" pip install coverage --upgrade --no-binary lxml -r requirements-test.txt pip install xmlsec --only-binary=xmlsec --no-index --find-links=dist/ @@ -51,4 +51,3 @@ jobs: /Library/Developer/CommandLineTools/usr/bin/llvm-profdata merge -sparse ${{ env.LLVM_PROFILE_FILE }} -output pyxmlsec.profdata /Library/Developer/CommandLineTools/usr/bin/llvm-cov show ${{ env.PYXMLSEC_LIBFILE }} --arch=$(uname -m) --instr-profile=pyxmlsec.profdata src > coverage.txt bash <(curl -s https://codecov.io/bash) -f coverage.txt - if: matrix.static_deps != 'static' \ No newline at end of file diff --git a/.github/workflows/manylinux.yml b/.github/workflows/manylinux.yml index 01a97d0a..f3fec1fa 100644 --- a/.github/workflows/manylinux.yml +++ b/.github/workflows/manylinux.yml @@ -22,6 +22,19 @@ jobs: if: contains(matrix.image, 'manylinux') run: | yum install -y perl-core openssl-devel libxml2-devel libxslt-devel wget tar gcc make + - name: Install OpenSSL >=1.1.1 (manylinux) + if: contains(matrix.image, 'manylinux') + run: | + wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz + tar xzf openssl-1.1.1w.tar.gz + cd openssl-1.1.1w + ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib + make -j$(nproc) + make install + export LD_LIBRARY_PATH=/usr/local/openssl/lib:$LD_LIBRARY_PATH + export PKG_CONFIG_PATH=/usr/local/openssl/lib/pkgconfig:$PKG_CONFIG_PATH + ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl + ldconfig - name: Install system build dependencies (musllinux) if: contains(matrix.image, 'musllinux') run: | From e4d55241508ae3cdb37d7eb2afd012a9203968f4 Mon Sep 17 00:00:00 2001 From: haya4ux Date: Thu, 6 Mar 2025 18:26:45 +0900 Subject: [PATCH 15/18] fix --- .github/workflows/macosx.yml | 2 ++ .github/workflows/manylinux.yml | 31 +++++++++++++++---------------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/.github/workflows/macosx.yml b/.github/workflows/macosx.yml index 23c39bc0..049ca4e1 100644 --- a/.github/workflows/macosx.yml +++ b/.github/workflows/macosx.yml @@ -29,6 +29,7 @@ jobs: export CFLAGS="-fprofile-instr-generate -fcoverage-mapping -I${OPENSSL_PREFIX}/include" export LDFLAGS="-fprofile-instr-generate -fcoverage-mapping -L${OPENSSL_PREFIX}/lib" export PKG_CONFIG_PATH="$(brew --prefix)/opt/libxml2/lib/pkgconfig:${OPENSSL_PREFIX}/lib/pkgconfig" + pip install "setuptools_scm[toml]>=3.4" "pkgconfig>=1.5.1" "lxml>=3.8,!=4.7.0" python -m build --no-isolation rm -rf build/ - name: Set environment variables @@ -51,3 +52,4 @@ jobs: /Library/Developer/CommandLineTools/usr/bin/llvm-profdata merge -sparse ${{ env.LLVM_PROFILE_FILE }} -output pyxmlsec.profdata /Library/Developer/CommandLineTools/usr/bin/llvm-cov show ${{ env.PYXMLSEC_LIBFILE }} --arch=$(uname -m) --instr-profile=pyxmlsec.profdata src > coverage.txt bash <(curl -s https://codecov.io/bash) -f coverage.txt + if: matrix.static_deps != 'static' diff --git a/.github/workflows/manylinux.yml b/.github/workflows/manylinux.yml index f3fec1fa..3bf8735a 100644 --- a/.github/workflows/manylinux.yml +++ b/.github/workflows/manylinux.yml @@ -21,27 +21,26 @@ jobs: - name: Install system build dependencies (manylinux) if: contains(matrix.image, 'manylinux') run: | - yum install -y perl-core openssl-devel libxml2-devel libxslt-devel wget tar gcc make - - name: Install OpenSSL >=1.1.1 (manylinux) - if: contains(matrix.image, 'manylinux') - run: | - wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz - tar xzf openssl-1.1.1w.tar.gz - cd openssl-1.1.1w - ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib - make -j$(nproc) - make install - export LD_LIBRARY_PATH=/usr/local/openssl/lib:$LD_LIBRARY_PATH - export PKG_CONFIG_PATH=/usr/local/openssl/lib/pkgconfig:$PKG_CONFIG_PATH - ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl - ldconfig + yum install -y perl-core openssl-devel libxml2-devel libxslt-devel wget tar gcc make rpm-build - name: Install system build dependencies (musllinux) if: contains(matrix.image, 'musllinux') run: | apk add --no-cache openssl-dev libxml2-dev libxslt-dev wget tar gcc make - - name: Build updated libxmlsec1 (for manylinux2014 only) + - name: Build updated crypto and libxmlsec1 (for manylinux2014 only) if: ${{ matrix.image == 'manylinux2014_x86_64' }} run: | + # 1. Build updated OpenSSL 1.1.1 (例: 1.1.1t) + wget https://www.openssl.org/source/openssl-1.1.1t.tar.gz + tar xzf openssl-1.1.1t.tar.gz + cd openssl-1.1.1t + ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared + make -j$(nproc) + make install + cd .. + # 環境変数の設定 + export PKG_CONFIG_PATH=/usr/local/openssl/lib/pkgconfig:$PKG_CONFIG_PATH + export LD_LIBRARY_PATH=/usr/local/openssl/lib:$LD_LIBRARY_PATH + # 2. Build updated xmlsec1 (1.3.7) using the updated OpenSSL wget https://github.com/lsh123/xmlsec/releases/download/1.3.7/xmlsec1-1.3.7.tar.gz tar xzf xmlsec1-1.3.7.tar.gz cd xmlsec1-1.3.7 @@ -72,4 +71,4 @@ jobs: /opt/python/${{ matrix.python-abi }}/bin/pip install xmlsec --only-binary=xmlsec --no-index --find-links=wheelhouse/ - name: Run tests run: | - /opt/python/${{ matrix.python-abi }}/bin/pytest -v --color=yes \ No newline at end of file + /opt/python/${{ matrix.python-abi }}/bin/pytest -v --color=yes From 9a8758ab5936181e990f5bdbe20547af336684d7 Mon Sep 17 00:00:00 2001 From: haya4ux Date: Thu, 6 Mar 2025 18:37:54 +0900 Subject: [PATCH 16/18] fix --- .github/workflows/macosx.yml | 4 ++-- .github/workflows/manylinux.yml | 14 ++++++++------ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/.github/workflows/macosx.yml b/.github/workflows/macosx.yml index 049ca4e1..aef5f180 100644 --- a/.github/workflows/macosx.yml +++ b/.github/workflows/macosx.yml @@ -29,7 +29,7 @@ jobs: export CFLAGS="-fprofile-instr-generate -fcoverage-mapping -I${OPENSSL_PREFIX}/include" export LDFLAGS="-fprofile-instr-generate -fcoverage-mapping -L${OPENSSL_PREFIX}/lib" export PKG_CONFIG_PATH="$(brew --prefix)/opt/libxml2/lib/pkgconfig:${OPENSSL_PREFIX}/lib/pkgconfig" - pip install "setuptools_scm[toml]>=3.4" "pkgconfig>=1.5.1" "lxml>=3.8,!=4.7.0" + pip install --no-binary "setuptools_scm[toml]>=3.4" "pkgconfig>=1.5.1" "lxml>=3.8,!=4.7.0" python -m build --no-isolation rm -rf build/ - name: Set environment variables @@ -41,7 +41,7 @@ jobs: run: | export LIBXML2_DIR="$(brew --prefix)/opt/libxml2" export PKG_CONFIG_PATH="$(brew --prefix)/opt/libxml2/lib/pkgconfig:$(brew --prefix openssl@1.1)/lib/pkgconfig" - pip install coverage --upgrade --no-binary lxml -r requirements-test.txt + pip install coverage --upgrade --no-binary -r requirements-test.txt pip install xmlsec --only-binary=xmlsec --no-index --find-links=dist/ echo "PYXMLSEC_LIBFILE=$(python -c 'import xmlsec; print(xmlsec.__file__)')" >> $GITHUB_ENV - name: Run tests diff --git a/.github/workflows/manylinux.yml b/.github/workflows/manylinux.yml index 3bf8735a..a78c83ea 100644 --- a/.github/workflows/manylinux.yml +++ b/.github/workflows/manylinux.yml @@ -29,15 +29,17 @@ jobs: - name: Build updated crypto and libxmlsec1 (for manylinux2014 only) if: ${{ matrix.image == 'manylinux2014_x86_64' }} run: | - # 1. Build updated OpenSSL 1.1.1 (例: 1.1.1t) - wget https://www.openssl.org/source/openssl-1.1.1t.tar.gz - tar xzf openssl-1.1.1t.tar.gz - cd openssl-1.1.1t - ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared + yum install -y perl-core wget tar gcc make zlib-devel + wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz + tar xzf openssl-1.1.1w.tar.gz + cd openssl-1.1.1w + ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib make -j$(nproc) make install + export LD_LIBRARY_PATH=/usr/local/openssl/lib:$LD_LIBRARY_PATH + export PKG_CONFIG_PATH=/usr/local/openssl/lib/pkgconfig:$PKG_CONFIG_PATH + ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl cd .. - # 環境変数の設定 export PKG_CONFIG_PATH=/usr/local/openssl/lib/pkgconfig:$PKG_CONFIG_PATH export LD_LIBRARY_PATH=/usr/local/openssl/lib:$LD_LIBRARY_PATH # 2. Build updated xmlsec1 (1.3.7) using the updated OpenSSL From 9ee83b6e6f7d8350cd83b690df6d1b662229264e Mon Sep 17 00:00:00 2001 From: haya4ux Date: Thu, 6 Mar 2025 18:51:16 +0900 Subject: [PATCH 17/18] fix --- .github/workflows/macosx.yml | 4 ++-- .github/workflows/manylinux.yml | 10 ---------- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/.github/workflows/macosx.yml b/.github/workflows/macosx.yml index aef5f180..934676a4 100644 --- a/.github/workflows/macosx.yml +++ b/.github/workflows/macosx.yml @@ -29,7 +29,7 @@ jobs: export CFLAGS="-fprofile-instr-generate -fcoverage-mapping -I${OPENSSL_PREFIX}/include" export LDFLAGS="-fprofile-instr-generate -fcoverage-mapping -L${OPENSSL_PREFIX}/lib" export PKG_CONFIG_PATH="$(brew --prefix)/opt/libxml2/lib/pkgconfig:${OPENSSL_PREFIX}/lib/pkgconfig" - pip install --no-binary "setuptools_scm[toml]>=3.4" "pkgconfig>=1.5.1" "lxml>=3.8,!=4.7.0" + pip install "setuptools_scm[toml]>=3.4" "pkgconfig>=1.5.1" --no-binary "lxml>=3.8,!=4.7.0" python -m build --no-isolation rm -rf build/ - name: Set environment variables @@ -41,7 +41,7 @@ jobs: run: | export LIBXML2_DIR="$(brew --prefix)/opt/libxml2" export PKG_CONFIG_PATH="$(brew --prefix)/opt/libxml2/lib/pkgconfig:$(brew --prefix openssl@1.1)/lib/pkgconfig" - pip install coverage --upgrade --no-binary -r requirements-test.txt + pip install coverage --upgrade -r requirements-test.txt pip install xmlsec --only-binary=xmlsec --no-index --find-links=dist/ echo "PYXMLSEC_LIBFILE=$(python -c 'import xmlsec; print(xmlsec.__file__)')" >> $GITHUB_ENV - name: Run tests diff --git a/.github/workflows/manylinux.yml b/.github/workflows/manylinux.yml index a78c83ea..530f4290 100644 --- a/.github/workflows/manylinux.yml +++ b/.github/workflows/manylinux.yml @@ -39,16 +39,6 @@ jobs: export LD_LIBRARY_PATH=/usr/local/openssl/lib:$LD_LIBRARY_PATH export PKG_CONFIG_PATH=/usr/local/openssl/lib/pkgconfig:$PKG_CONFIG_PATH ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl - cd .. - export PKG_CONFIG_PATH=/usr/local/openssl/lib/pkgconfig:$PKG_CONFIG_PATH - export LD_LIBRARY_PATH=/usr/local/openssl/lib:$LD_LIBRARY_PATH - # 2. Build updated xmlsec1 (1.3.7) using the updated OpenSSL - wget https://github.com/lsh123/xmlsec/releases/download/1.3.7/xmlsec1-1.3.7.tar.gz - tar xzf xmlsec1-1.3.7.tar.gz - cd xmlsec1-1.3.7 - ./configure --with-openssl --prefix=/usr/local - make -j$(nproc) - make install ldconfig - name: Set environment variables shell: bash From 67cdd1f0c44e9cf86cc1f9a9c5756440386c6695 Mon Sep 17 00:00:00 2001 From: haya4ux Date: Thu, 6 Mar 2025 19:02:45 +0900 Subject: [PATCH 18/18] fix --- .github/workflows/macosx.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/macosx.yml b/.github/workflows/macosx.yml index 934676a4..05a1eb6f 100644 --- a/.github/workflows/macosx.yml +++ b/.github/workflows/macosx.yml @@ -29,7 +29,8 @@ jobs: export CFLAGS="-fprofile-instr-generate -fcoverage-mapping -I${OPENSSL_PREFIX}/include" export LDFLAGS="-fprofile-instr-generate -fcoverage-mapping -L${OPENSSL_PREFIX}/lib" export PKG_CONFIG_PATH="$(brew --prefix)/opt/libxml2/lib/pkgconfig:${OPENSSL_PREFIX}/lib/pkgconfig" - pip install "setuptools_scm[toml]>=3.4" "pkgconfig>=1.5.1" --no-binary "lxml>=3.8,!=4.7.0" + pip install "setuptools_scm[toml]>=3.4" "pkgconfig>=1.5.1" + pip install --no-binary "lxml>=3.8,!=4.7.0" python -m build --no-isolation rm -rf build/ - name: Set environment variables