diff --git a/.github/workflows/buildCSharp.yml b/.github/workflows/buildCSharp.yml index e7f18a186d..d46c913f0d 100644 --- a/.github/workflows/buildCSharp.yml +++ b/.github/workflows/buildCSharp.yml @@ -19,9 +19,6 @@ jobs: build-csharp: name: ${{ matrix.name }} runs-on: ${{ matrix.os }} - if: | - github.event_name == 'push' || - (github.event_name == 'pull_request' && (github.base_ref == 'master' || github.base_ref == 'CSharp')) strategy: # fail-fast: Default is true, switch to false to allow one platform to fail and still run others fail-fast: false @@ -40,7 +37,7 @@ jobs: os: windows-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 # # If you need to rebuild for a specific branch or tag **after** you fixed the workflow and you have no other changes or only a few you can download from github # with: # ref: v3.8.0 @@ -58,7 +55,7 @@ jobs: # git fetch --all # git reset --soft v3.8.0 - - uses: actions/setup-python@v5 + - uses: actions/setup-python@v7 with: python-version: 3.12 # only for conan, version doesn't matter much @@ -239,20 +236,20 @@ jobs: 7z a CSharp_${{ matrix.name }}_Src.zip ./build/csharp_wrapper/generated_sources ./build/csharp_wrapper/OpenStudio.csproj - name: Upload artifact - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: CSharp_${{ matrix.name }} path: CSharp_${{ matrix.name }}.zip - name: Upload artifact generated_sources - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: CSharp_${{ matrix.name }}_Src path: CSharp_${{ matrix.name }}_Src.zip - name: Upload artifact (if failed) if: failure() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: ${{ matrix.name }}_Failed path: | @@ -267,15 +264,15 @@ jobs: needs: build-csharp steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 - name: Download CSharp_Windows32 - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CSharp_Windows32 - name: Download CSharp_Windows64 - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CSharp_Windows64 @@ -319,7 +316,7 @@ jobs: ls - name: Upload artifact - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: CSharp_Windows_x64x86 path: x64x86\OpenStudio.nupkg @@ -372,10 +369,10 @@ jobs: needs: build-csharp steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 - name: Download nuget - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CSharp_${{ matrix.name }} diff --git a/.github/workflows/clangformat.yml b/.github/workflows/clangformat.yml index b2ef641500..f0d92ac46f 100644 --- a/.github/workflows/clangformat.yml +++ b/.github/workflows/clangformat.yml @@ -11,7 +11,7 @@ jobs: contents: write # Needed to push a commit steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 - name: Run clang-format against C++ files touched by the PR if: ${{ github.event_name == 'pull_request' }} @@ -44,7 +44,7 @@ jobs: - name: Upload clang-format patch as artifact if: ${{ failure() }} - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: OpenStudio-${{ github.sha }}-clang_format.patch path: clang_format.patch diff --git a/.github/workflows/cppcheck.yml b/.github/workflows/cppcheck.yml index b002ac89a9..306fa9f99e 100644 --- a/.github/workflows/cppcheck.yml +++ b/.github/workflows/cppcheck.yml @@ -11,7 +11,7 @@ jobs: #container: # image: nrel/cppcheck:2.3 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 - name: Install cppcheck shell: bash @@ -71,7 +71,7 @@ jobs: - name: Upload cppcheck results as artifact if: ${{ always() }} - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: OpenStudio-${{ github.sha }}-cppcheck_results.txt path: cppcheck.txt diff --git a/.github/workflows/dependabot_conan.yml b/.github/workflows/dependabot_conan.yml index a2983934ea..f45ac6572d 100644 --- a/.github/workflows/dependabot_conan.yml +++ b/.github/workflows/dependabot_conan.yml @@ -15,9 +15,9 @@ jobs: pull-requests: write # Create pull request steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - - uses: actions/setup-python@v6 + - uses: actions/setup-python@v7 with: python-version: '3.x' diff --git a/.github/workflows/excluded-tests-summary.yml b/.github/workflows/excluded-tests-summary.yml index 28b40e5af4..993a9cb25f 100644 --- a/.github/workflows/excluded-tests-summary.yml +++ b/.github/workflows/excluded-tests-summary.yml @@ -37,7 +37,7 @@ jobs: has_windows: ${{ steps.matrix.outputs.has_windows }} steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v7 - name: Install PyYAML run: pip install pyyaml @@ -129,12 +129,12 @@ jobs: df -h || true - name: Checkout repository - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: fetch-depth: 1 - name: Restore ccache cache - uses: actions/cache@v4 + uses: actions/cache@v6 with: path: ~/.ccache key: ccache-${{ matrix.os }}-${{ matrix.platform }}-${{ hashFiles('conan.lock') }} @@ -142,7 +142,7 @@ jobs: ccache-${{ matrix.os }}-${{ matrix.platform }}- - name: Restore Conan cache - uses: actions/cache@v4 + uses: actions/cache@v6 with: path: ~/.conan2 key: conan-${{ matrix.os }}-${{ matrix.platform }}-${{ hashFiles('conan.lock') }} @@ -171,7 +171,7 @@ jobs: if [ -d /usr/local/cmake/bin ]; then echo "/usr/local/cmake/bin" >> $GITHUB_PATH; fi - name: Cache External Dependencies - uses: actions/cache@v4 + uses: actions/cache@v6 with: path: | ${{ env.OPENSTUDIO_BUILD }}/EnergyPlus*.tar.gz @@ -184,7 +184,7 @@ jobs: external-deps-${{ matrix.os }}- - name: Restore Generated Embedded Files - uses: actions/cache@v4 + uses: actions/cache@v6 with: path: | ${{ env.OPENSTUDIO_BUILD }}/src/*/embedded_files @@ -278,7 +278,7 @@ jobs: - name: Upload Test Summary if: always() && steps.ctest.outputs.has_tests == 'true' - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: ExcludedTests-${{ matrix.platform }}-${{ github.sha }} path: | @@ -299,7 +299,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: path: ${{ env.OPENSTUDIO_SOURCE }} fetch-depth: 1 @@ -315,7 +315,7 @@ jobs: max-size: ${{ env.CCACHE_MAXSIZE }} - name: Restore Conan cache - uses: actions/cache@v4 + uses: actions/cache@v6 with: path: ~/.conan2 key: conan-${{ matrix.os }}-${{ matrix.platform }}-${{ hashFiles('conan.lock') }} @@ -356,7 +356,7 @@ jobs: run: cmake -E make_directory ${{ env.OPENSTUDIO_BUILD }} - name: Cache External Dependencies - uses: actions/cache@v4 + uses: actions/cache@v6 with: path: | ${{ env.OPENSTUDIO_BUILD }}/EnergyPlus*.tar.gz @@ -369,7 +369,7 @@ jobs: external-deps-${{ matrix.os }}- - name: Restore Generated Embedded Files - uses: actions/cache@v4 + uses: actions/cache@v6 with: path: | ${{ env.OPENSTUDIO_BUILD }}/src/*/embedded_files @@ -464,7 +464,7 @@ jobs: - name: Upload Test Summary if: always() && steps.ctest.outputs.has_tests == 'true' - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: ExcludedTests-${{ matrix.platform }}-${{ github.sha }} path: | @@ -490,7 +490,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: path: ${{ env.OPENSTUDIO_SOURCE }} fetch-depth: 1 @@ -500,7 +500,7 @@ jobs: run: git config --global --add safe.directory '*' - name: Restore sccache cache - uses: actions/cache@v4 + uses: actions/cache@v6 with: path: ${{ github.workspace }}\.sccache key: sccache-${{ matrix.os }}-${{ matrix.platform }}-${{ hashFiles('conan.lock') }} @@ -534,7 +534,7 @@ jobs: uses: Mozilla-Actions/sccache-action@v0.0.5 - name: Restore Conan cache - uses: actions/cache@v4 + uses: actions/cache@v6 with: path: ~/.conan2 key: conan-${{ matrix.os }}-windows-${{ hashFiles('conan.lock') }} @@ -542,7 +542,7 @@ jobs: conan-${{ matrix.os }}-windows- - name: Set up Python 3.12.2 - uses: actions/setup-python@v6 + uses: actions/setup-python@v7 with: python-version: '3.12.2' cache: 'pip' @@ -646,7 +646,7 @@ jobs: - name: Upload Test Summary if: always() && steps.ctest.outputs.has_tests == 'true' - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: ExcludedTests-${{ matrix.platform }}-${{ github.sha }} path: | diff --git a/.github/workflows/full-build.yml b/.github/workflows/full-build.yml index 3fb0798979..ed6d3f6b64 100644 --- a/.github/workflows/full-build.yml +++ b/.github/workflows/full-build.yml @@ -185,12 +185,12 @@ jobs: echo - name: Checkout repository - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: fetch-depth: 1 - name: Restore ccache cache - uses: actions/cache@v4 + uses: actions/cache@v6 with: path: ~/.ccache key: ccache-${{ matrix.os }}-${{ matrix.platform }}-${{ hashFiles('conan.lock') }} @@ -198,7 +198,7 @@ jobs: ccache-${{ matrix.os }}-${{ matrix.platform }}- - name: Restore Conan cache - uses: actions/cache@v4 + uses: actions/cache@v6 with: path: ~/.conan2 key: conan-${{ matrix.os }}-${{ matrix.platform }}-${{ hashFiles('conan.lock') }} @@ -243,7 +243,7 @@ jobs: fi - name: Cache External Dependencies - uses: actions/cache@v4 + uses: actions/cache@v6 with: path: | ${{ env.OPENSTUDIO_BUILD }}/EnergyPlus*.tar.gz @@ -256,7 +256,7 @@ jobs: external-deps-${{ matrix.os }}- - name: Restore Generated Embedded Files - uses: actions/cache@v4 + uses: actions/cache@v6 with: path: | ${{ env.OPENSTUDIO_BUILD }}/src/*/embedded_files @@ -409,7 +409,7 @@ jobs: - name: Upload build diagnostics if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: build-diag-${{ matrix.platform }}-${{ github.sha }} path: | @@ -452,7 +452,7 @@ jobs: - name: Upload Testing artifact if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: Testing-${{ matrix.platform }}-${{ github.sha }} path: | @@ -481,7 +481,7 @@ jobs: - name: Upload DEB installer if: contains(matrix.cpack_generators, 'DEB') - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: OS-Installers-${{ matrix.platform }}-DEB-${{ github.sha }} path: ${{ env.OPENSTUDIO_BUILD }}/*.deb @@ -489,14 +489,14 @@ jobs: - name: Upload RPM installer if: contains(matrix.cpack_generators, 'RPM') - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: OS-Installers-${{ matrix.platform }}-RPM-${{ github.sha }} path: ${{ env.OPENSTUDIO_BUILD }}/*.rpm if-no-files-found: ignore - name: Upload TGZ installer - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: OS-Installers-${{ matrix.platform }}-TGZ-${{ github.sha }} path: ${{ env.OPENSTUDIO_BUILD }}/OpenStudio-*.tar.gz @@ -504,7 +504,7 @@ jobs: - name: Upload WHEEL installer if: matrix.pip_package - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: OS-Installers-${{ matrix.platform }}-WHEEL-${{ github.sha }} path: ${{ env.OPENSTUDIO_BUILD }}/*.whl @@ -517,14 +517,14 @@ jobs: if: github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/v') || inputs.publish_to_s3 == true || github.event.inputs.publish_to_s3 == 'true' steps: - name: Download all installers - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: pattern: OS-Installers-* merge-multiple: true path: installers - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v4 + uses: aws-actions/configure-aws-credentials@v6 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} @@ -662,7 +662,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: path: ${{ env.OPENSTUDIO_SOURCE }} fetch-depth: 1 @@ -692,7 +692,7 @@ jobs: max-size: ${{ env.CCACHE_MAXSIZE }} - name: Restore Conan cache - uses: actions/cache@v4 + uses: actions/cache@v6 with: path: ~/.conan2 key: conan-${{ matrix.os }}-${{ matrix.platform }}-${{ hashFiles('conan.lock') }} @@ -750,7 +750,7 @@ jobs: run: cmake -E make_directory ${{ env.OPENSTUDIO_BUILD }} - name: Cache External Dependencies - uses: actions/cache@v4 + uses: actions/cache@v6 with: path: | ${{ env.OPENSTUDIO_BUILD }}/EnergyPlus*.tar.gz @@ -763,7 +763,7 @@ jobs: external-deps-${{ matrix.os }}- - name: Restore Generated Embedded Files - uses: actions/cache@v4 + uses: actions/cache@v6 with: path: | ${{ env.OPENSTUDIO_BUILD }}/src/*/embedded_files @@ -882,7 +882,7 @@ jobs: - name: Upload build diagnostics if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: build-diag-${{ matrix.platform }}-${{ github.sha }} path: | @@ -1114,7 +1114,7 @@ jobs: - name: Upload Testing artifact if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: Testing-${{ matrix.platform }}-${{ github.sha }} path: | @@ -1135,7 +1135,7 @@ jobs: - name: Upload IFW installer if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: OS-IFW-${{ matrix.platform }}-${{ github.sha }} path: ${{ steps.installer_path.outputs.path }} @@ -1143,7 +1143,7 @@ jobs: - name: Upload TGZ package if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: OS-TGZ-${{ matrix.platform }}-${{ github.sha }} path: ${{ env.OPENSTUDIO_BUILD }}/OpenStudio-*.tar.gz @@ -1161,14 +1161,14 @@ jobs: if: github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/v') || inputs.publish_to_s3 == true || github.event.inputs.publish_to_s3 == 'true' steps: - name: Download all installers - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: pattern: OS-*-macos* merge-multiple: true path: installers - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v4 + uses: aws-actions/configure-aws-credentials@v6 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} @@ -1222,7 +1222,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: path: ${{ env.OPENSTUDIO_SOURCE }} fetch-depth: 1 @@ -1237,7 +1237,7 @@ jobs: run: git config --global --add safe.directory '*' - name: Restore sccache cache - uses: actions/cache@v4 + uses: actions/cache@v6 with: path: ${{ github.workspace }}\.sccache key: sccache-${{ matrix.os }}-${{ matrix.platform }}-${{ hashFiles('conan.lock') }} @@ -1253,7 +1253,7 @@ jobs: uses: Mozilla-Actions/sccache-action@v0.0.5 - name: Restore Conan cache - uses: actions/cache@v4 + uses: actions/cache@v6 with: path: ~/.conan2 key: conan-${{ matrix.os }}-windows-${{ hashFiles('conan.lock') }} @@ -1261,7 +1261,7 @@ jobs: conan-${{ matrix.os }}-windows- - name: Set up Python 3.12.2 - uses: actions/setup-python@v6 + uses: actions/setup-python@v7 with: python-version: '3.12.2' cache: 'pip' @@ -1361,7 +1361,7 @@ jobs: - name: Upload build diagnostics if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: build-diag-${{ matrix.platform }}-${{ github.sha }} path: | @@ -1475,7 +1475,7 @@ jobs: - name: Upload Testing artifact if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: Testing-${{ matrix.platform }}-${{ github.sha }} path: | @@ -1485,7 +1485,7 @@ jobs: # CODE SIGNING SETUP - name: Setup Node.js if: github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/v') || inputs.publish_to_s3 == true || github.event.inputs.publish_to_s3 == 'true' - uses: actions/setup-node@v4 + uses: actions/setup-node@v7 with: node-version: "18" @@ -1652,14 +1652,14 @@ jobs: exit 1 - name: Upload Signed EXE installer - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: OS-Installers-${{ matrix.platform }}-EXE-${{ github.sha }} path: ${{ env.OPENSTUDIO_BUILD }}/signed/OpenStudio*.exe if-no-files-found: ignore - name: Upload Signed TGZ installer - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: OS-Installers-${{ matrix.platform }}-TGZ-${{ github.sha }} path: ${{ env.OPENSTUDIO_BUILD }}/_CPack_Packages/win64/TGZ/*.tar.gz @@ -1672,13 +1672,13 @@ jobs: if: github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/v') || inputs.publish_to_s3 == true || github.event.inputs.publish_to_s3 == 'true' steps: - name: Download all installers - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: pattern: OS-Installers-windows-2022-x64-* path: installers - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v4 + uses: aws-actions/configure-aws-credentials@v6 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} diff --git a/.github/workflows/incremental-build.yml b/.github/workflows/incremental-build.yml index ff5a841243..0411009697 100644 --- a/.github/workflows/incremental-build.yml +++ b/.github/workflows/incremental-build.yml @@ -58,7 +58,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v7 with: fetch-depth: 1 @@ -96,7 +96,7 @@ jobs: fi - name: Cache ccache - uses: actions/cache@v4 + uses: actions/cache@v6 with: path: ${{ env.DOCKER_ROOT }}/.ccache key: ${{ runner.os }}-ccache-${{ github.sha }} @@ -223,7 +223,7 @@ jobs: if: always() - name: Upload test summary - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: test-summary path: ${{ env.OPENSTUDIO_DOCKER_VOLUME }}/${{ env.OPENSTUDIO_SOURCE_NAME }}/${{ env.OPENSTUDIO_BUILD_NAME }}/Testing/test-summary.md @@ -373,13 +373,13 @@ jobs: - name: Publish test results to PR if: always() && github.event_name == 'pull_request' - uses: marocchino/sticky-pull-request-comment@v2 + uses: marocchino/sticky-pull-request-comment@v3 with: header: test-results path: ${{ env.OPENSTUDIO_DOCKER_VOLUME }}/${{ env.OPENSTUDIO_SOURCE_NAME }}/${{ env.OPENSTUDIO_BUILD_NAME }}/Testing/dashboard/test-dashboard.md - name: Upload comprehensive test results - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: test-results-dashboard path: | @@ -388,7 +388,7 @@ jobs: if: always() - name: Upload build artifacts with metadata - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: ubuntu-2404-${{ github.head_ref || github.ref_name }}-${{ github.sha }} path: | diff --git a/.github/workflows/python_bindings.yml b/.github/workflows/python_bindings.yml index 3e1bca6f76..01f74bcc8f 100644 --- a/.github/workflows/python_bindings.yml +++ b/.github/workflows/python_bindings.yml @@ -23,14 +23,11 @@ jobs: name: Build ${{ matrix.name }} runs-on: ${{ matrix.os }} continue-on-error: ${{ matrix.allow_failure }} - if: | - github.event_name == 'push' || - (github.event_name == 'pull_request' && github.base_ref == 'master' || github.base_ref == 'actions_pypi') strategy: # fail-fast: Default is true, switch to false to allow one platform to fail and still run others fail-fast: false matrix: - name: [Ubuntu, Ubuntu_arm64, macOS, macOS_arm64, Windows_py37, Windows_py38, Windows_py39, Windows_py310, Windows_py311, Windows_py312, Windows_py313] + name: [Ubuntu, Ubuntu_arm64, macOS, macOS_arm64, Windows_py37, Windows_py38, Windows_py39, Windows_py310, Windows_py311, Windows_py312, Windows_py313, Windows_py314] include: - name: Ubuntu os: ubuntu-24.04 @@ -53,36 +50,40 @@ jobs: MACOSX_DEPLOYMENT_TARGET: "13.0" SDKROOT: /Applications/Xcode.app/Contents/Developer - name: Windows_py37 - os: windows-2019 + os: windows-2022 python-version: 3.7 allow_failure: false - name: Windows_py38 - os: windows-2019 + os: windows-2022 python-version: 3.8 allow_failure: false - name: Windows_py39 - os: windows-2019 + os: windows-2022 python-version: 3.9 allow_failure: false - name: Windows_py310 - os: windows-2019 + os: windows-2022 python-version: '3.10' allow_failure: false - name: Windows_py311 - os: windows-2019 + os: windows-2022 python-version: '3.11' allow_failure: false - name: Windows_py312 - os: windows-2019 + os: windows-2022 python-version: '3.12' allow_failure: false - name: Windows_py313 - os: windows-2019 + os: windows-2022 python-version: '3.13.5' + allow_failure: false + - name: Windows_py314 + os: windows-2022 + python-version: '3.14' allow_failure: true # Possible this fails, don't care yet steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 # with: # ref: develop @@ -97,7 +98,7 @@ jobs: - name: Set up Python ${{ matrix.python-version }} if: runner.os != 'macOS' id: setup-python - uses: actions/setup-python@v5 + uses: actions/setup-python@v7 with: python-version: ${{ matrix.python-version }} @@ -343,7 +344,7 @@ jobs: tar -cvzf openstudio-${{ matrix.name }}.tar.gz dist/ - name: Upload .whl to artifact - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: openstudio-${{ matrix.name }} # something like openstudio-Windows_py37 path: ./build/Products/python_package/openstudio-${{ matrix.name }}.tar.gz @@ -356,7 +357,7 @@ jobs: steps: - name: Set up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v7 - name: Install Python dependencies run: | @@ -367,7 +368,7 @@ jobs: mkdir wheels - name: Download ALL wheels - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: path: ./wheels @@ -406,7 +407,7 @@ jobs: # fail-fast: Default is true, switch to false to allow one platform to fail and still run others fail-fast: false matrix: - name: [Ubuntu, Ubuntu_arm64, macOS, macOS_arm64, Windows_py37, Windows_py38, Windows_py39, Windows_py310, Windows_py311, Windows_py312, Windows_py313] + name: [Ubuntu, Ubuntu_arm64, macOS, macOS_arm64, Windows_py37, Windows_py38, Windows_py39, Windows_py310, Windows_py311, Windows_py312, Windows_py313, Windows_py314] include: - name: Ubuntu os: ubuntu-24.04 @@ -425,38 +426,43 @@ jobs: python-version: 3.11 allow_failure: false - name: Windows_py37 - os: windows-2019 + os: windows-2022 python-version: 3.7 allow_failure: false - name: Windows_py38 - os: windows-2019 + os: windows-2022 python-version: 3.8 allow_failure: false - name: Windows_py39 - os: windows-2019 + os: windows-2022 python-version: 3.9 allow_failure: false - name: Windows_py310 - os: windows-2019 + os: windows-2022 python-version: '3.10' allow_failure: false - name: Windows_py311 - os: windows-2019 + os: windows-2022 python-version: '3.11' allow_failure: false - name: Windows_py312 - os: windows-2019 + os: windows-2022 python-version: '3.12' allow_failure: false - name: Windows_py313 - os: windows-2019 + os: windows-2022 python-version: '3.13' + allow_failure: false + - name: Windows_py314 + os: windows-2022 + python-version: '3.14' allow_failure: true # Possible this fails, don't care yet + steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v7 with: python-version: ${{ matrix.python-version }} @@ -492,7 +498,7 @@ jobs: steps: - name: Set up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v7 - name: Install Python dependencies run: | @@ -501,7 +507,7 @@ jobs: mkdir wheels - name: Download ALL wheels - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: path: ./wheels diff --git a/ProjectMacros.cmake b/ProjectMacros.cmake index 2a5ee6cb36..3b946d0731 100644 --- a/ProjectMacros.cmake +++ b/ProjectMacros.cmake @@ -464,6 +464,9 @@ macro(MAKE_SWIG_TARGET NAME SIMPLENAME KEY_I_FILE I_FILES PARENT_TARGET PARENT_S ${Python_INCLUDE_DIRS} ) + target_compile_definitions(${swig_target} PRIVATE SHARED_OS_LIBS) + target_compile_definitions(${swig_target} PRIVATE SWIG_PYTHON_SILENT_MEMLEAK) # Shush it, cf #5421 + set_target_properties(${swig_target} PROPERTIES OUTPUT_NAME _${LOWER_NAME}) set_target_properties(${swig_target} PROPERTIES PREFIX "") set_target_properties(${swig_target} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${PYTHON_PACKAGE_FOLDER}/openstudio/")