diff --git a/.binder/Dockerfile b/.binder/Dockerfile index 86c1c86b..2c4596ba 100644 --- a/.binder/Dockerfile +++ b/.binder/Dockerfile @@ -9,7 +9,7 @@ # Docker image: # https://mybinder.readthedocs.io/en/latest/using/config_files.html -FROM ubuntu:18.04 +FROM ubuntu:24.04 ARG NB_USER=jovyan ARG NB_UID=1000 diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index a3b5f842..a6491fe7 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -14,74 +14,186 @@ jobs: fail-fast: false matrix: include: - - os: ubuntu-20.04 + - os: ubuntu-22.04 compiler: gcc - version: "9" - python-version: "3.7" + version: "11" + python-version: "3.10" castxml: "castxml" castxml-epic: 0 - cppstd: "-std=c++98" + cppstd: "-std=c++17" - - os: ubuntu-20.04 + - os: ubuntu-22.04 compiler: gcc - version: "9" - python-version: "3.8" + version: "11" + python-version: "3.10" castxml: "castxml" castxml-epic: 0 - cppstd: "-std=c++98" + cppstd: "-std=c++17" - - os: ubuntu-20.04 + - os: ubuntu-22.04 compiler: gcc - version: "9" - python-version: "3.9" + version: "11" + python-version: "3.10" castxml: "castxml" castxml-epic: 0 - cppstd: "-std=c++98" + cppstd: "-std=c++17" - - os: ubuntu-20.04 + - os: ubuntu-22.04 compiler: gcc - version: "9" + version: "11" python-version: "3.10" castxml: "castxml" castxml-epic: 0 - cppstd: "-std=c++98" + cppstd: "-std=c++17" - - os: ubuntu-20.04 + - os: ubuntu-22.04 compiler: gcc - version: "9" + version: "11" python-version: "3.11" castxml: "castxml" castxml-epic: 0 - cppstd: "-std=c++98" + cppstd: "-std=c++17" - - os: ubuntu-20.04 + - os: ubuntu-22.04 compiler: gcc - version: "9" - python-version: "3.8" + version: "11" + python-version: "3.10" + castxml: "castxml" + castxml-epic: 1 + cppstd: "-std=c++17" + + - os: ubuntu-22.04 + compiler: gcc + version: "11" + python-version: "3.10" castxml: "castxml" castxml-epic: 1 - cppstd: "-std=c++98" + cppstd: "-std=c++11" - - os: ubuntu-20.04 + - os: ubuntu-22.04-arm64 compiler: gcc - version: "9" - python-version: "3.8" + version: "11" + python-version: "3.10" + castxml: "castxml" + castxml-epic: 0 + cppstd: "-std=c++17" + + - os: ubuntu-22.04-arm64 + compiler: gcc + version: "11" + python-version: "3.10" + castxml: "castxml" + castxml-epic: 0 + cppstd: "-std=c++17" + + - os: ubuntu-22.04-arm64 + compiler: gcc + version: "11" + python-version: "3.10" + castxml: "castxml" + castxml-epic: 0 + cppstd: "-std=c++17" + + - os: ubuntu-22.04-arm64 + compiler: gcc + version: "11" + python-version: "3.11" + castxml: "castxml" + castxml-epic: 0 + cppstd: "-std=c++17" + + - os: ubuntu-22.04-arm64 + compiler: gcc + version: "11" + python-version: "3.10" + castxml: "castxml" + castxml-epic: 1 + cppstd: "-std=c++17" + + - os: ubuntu-22.04-arm64 + compiler: gcc + version: "11" + python-version: "3.10" castxml: "castxml" castxml-epic: 1 cppstd: "-std=c++11" + - os: ubuntu-24.04-arm64 + compiler: gcc + version: "14" + python-version: "3.12" + castxml: "castxml" + castxml-epic: 0 + cppstd: "-std=c++17" + + - os: ubuntu-24.04-arm64 + compiler: gcc + version: "14" + python-version: "3.12" + castxml: "castxml" + castxml-epic: 0 + cppstd: "-std=c++17" + + - os: ubuntu-24.04-arm64 + compiler: gcc + version: "14" + python-version: "3.12" + castxml: "castxml" + castxml-epic: 0 + cppstd: "-std=c++17" + + - os: ubuntu-24.04-arm64 + compiler: gcc + version: "14" + python-version: "3.12" + castxml: "castxml" + castxml-epic: 0 + cppstd: "-std=c++17" + + - os: ubuntu-24.04-arm64 + compiler: gcc + version: "14" + python-version: "3.12" + castxml: "castxml" + castxml-epic: 0 + cppstd: "-std=c++17" + + - os: ubuntu-24.04-arm64 + compiler: gcc + version: "14" + python-version: "3.12" + castxml: "castxml" + castxml-epic: 1 + cppstd: "-std=c++17" + + - os: ubuntu-24.04-arm64 + compiler: gcc + version: "14" + python-version: "3.12" + castxml: "castxml" + castxml-epic: 1 + cppstd: "-std=c++17" + - os: macos-13 compiler: xcode version: "default" - python-version: "3.8" + python-version: "3.10" + castxml: "castxml" + castxml-epic: 0 + cppstd: "-std=c++17" + + - os: macos-15 + compiler: xcode + version: "default" + python-version: "3.12" castxml: "castxml" castxml-epic: 0 - cppstd: "-std=c++98" + cppstd: "-std=c++17" steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Display Python version @@ -91,14 +203,22 @@ jobs: pip install '.[test]' - name: Run pycodestyle run: pycodestyle . --exclude=docs - - name: Setup castxml for Linux - if: matrix.os == 'ubuntu-20.04' && matrix.castxml == 'castxml' + - name: Setup castxml for Linux x86_64 + if: (matrix.os == 'ubuntu-24.04' || matrix.os == 'ubuntu-22.04' || matrix.os == 'ubuntu-20.04') && matrix.castxml == 'castxml' run: | - wget -q -O - https://data.kitware.com/api/v1/file/hashsum/sha512/bdbb67a10c5f8d1b738cd19cb074f409d4803e8077cb8c1072ef4eaf738fa871a73643f9c8282d58cae28d188df842c82ad6620b6d590b0396a0172a27438dce/download | tar zxf - -C ~/ + wget -q -O - https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.10/castxml-linux.tar.gz | tar zxf - -C ~/ + - name: Setup castxml for Linux ARM64/AARCH64 + if: (matrix.os == 'ubuntu-24.04-arm' || matrix.os == 'ubuntu-22.04-arm') && matrix.castxml == 'castxml' + run: | + wget -q -O - https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.10/castxml-linux-aarch64.tar.gz | tar zxf - -C ~/ - name: Setup castxml for Mac - if: matrix.os == 'macos-13' + if: matrix.os == 'macos-13' || startsWith(matrix.os, 'macos-15') + run: | + wget -q -O - https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.10/castxml-macosx.tar.gz | tar zxf - -C ~/ + - name: Setup castxml for Mac ARM + if: matrix.os == 'macos-15' run: | - wget -q -O - https://data.kitware.com/api/v1/file/hashsum/sha512/5d937e938f7b882a3a3e7941e68f8312d0898aaf2082e00003dd362b1ba70b98b0a08706a1be28e71652a6a0f1e66f89768b5eaa20e5a100592d5b3deefec3f0/download | tar zxf - -C ~/ + wget -q -O - https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.10/castxml-macos-arm.tar.gz | tar zxf - -C ~/ - name: Run tests run: | export PATH=~/castxml/bin:$PATH diff --git a/pyproject.toml b/pyproject.toml index 8abdfac0..d92613ad 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,7 +18,7 @@ keywords = [ "CastXML", "gccxml", ] -version = "2.6.1" +version = "2.7.0" classifiers = [ "Development Status :: 5 - Production/Stable", @@ -27,11 +27,12 @@ classifiers = [ "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Software Development", @@ -48,7 +49,7 @@ Repository = "https://github.com/CastXML/pygccxml" Changelog = "https://github.com/CastXML/pygccxml/CHANGELOG.md" [options] -python_requires = ">=3.7" +python_requires = ">=3.9" [project.optional-dependencies] test = [