From 74ef963dee73c1a86fd7188cfb7feadf7f0560fe Mon Sep 17 00:00:00 2001 From: "Frank T. Bergmann" Date: Mon, 7 Oct 2024 09:48:45 +0200 Subject: [PATCH 1/8] - update actions --- .github/workflows/store-artefact.yml | 40 +++++++++++----------------- 1 file changed, 15 insertions(+), 25 deletions(-) diff --git a/.github/workflows/store-artefact.yml b/.github/workflows/store-artefact.yml index 9293f449e..a7669b655 100644 --- a/.github/workflows/store-artefact.yml +++ b/.github/workflows/store-artefact.yml @@ -32,12 +32,12 @@ jobs: runs-on: ${{ matrix.platform }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - uses: seanmiddleditch/gha-setup-ninja@master - name: Add msbuild to PATH (Windows) if: matrix.platform == 'windows-latest' - uses: ilammy/msvc-dev-cmd@v1.6.0 + uses: ilammy/msvc-dev-cmd@v1 ### configure the operating system ### - name: Cache Windows dependencies and SWIG @@ -45,7 +45,7 @@ jobs: # For the CI, we put SWIG there too, for simplicity. if: matrix.platform == 'windows-latest' id: cache-win-dependencies-static - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: | ./dependencies @@ -133,12 +133,11 @@ jobs: echo "COMPILER_LAUNCHER=ccache" >> "${GITHUB_ENV}" - name: cache ccache files if: matrix.platform != 'windows-latest' - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: ${{runner.workspace}}/.ccache key: - ${{ runner.os }}-${{ steps.ccache_cache_timestamp.outputs.timestamp - }} + ${{ runner.os }}-${{ steps.ccache_cache_timestamp.outputs.timestamp}} restore-keys: | ${{ runner.os }}-${{ steps.ccache_cache_timestamp.outputs.timestamp }} ${{ runner.os }}- @@ -226,22 +225,22 @@ jobs: ### Upload installed versions ### - name: Upload Windows binary archive if: matrix.platform == 'windows-latest' - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: Windows (zip, libSBML ${{env.LIBSBML_VERSION}}, - ${{env.ARTIFACT_NAME_SUFFIX}}) + ${{env.ARTIFACT_NAME_SUFFIX}})-${{ strategy.job-index }} path: ${{runner.workspace}}/install/* retention-days: 1 if-no-files-found: error - name: Upload MacOS binary archive if: matrix.platform == 'macos-latest' - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: MacOS (zip, libSBML ${{env.LIBSBML_VERSION}}, - ${{env.ARTIFACT_NAME_SUFFIX}}) + ${{env.ARTIFACT_NAME_SUFFIX}})-${{ strategy.job-index }} path: | ${{runner.workspace}}/install/* ${{runner.workspace}}/build/r-binaries/* @@ -250,14 +249,13 @@ jobs: - name: Upload Ubuntu binary archive if: matrix.platform == 'ubuntu-latest' - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: Ubuntu nightly (zip, libSBML ${{env.LIBSBML_VERSION}}, - ${{env.ARTIFACT_NAME_SUFFIX}}) + ${{env.ARTIFACT_NAME_SUFFIX}})-${{ strategy.job-index }} path: | ${{runner.workspace}}/install/* -# ${{runner.workspace}}/build/r-binaries/* retention-days: 1 if-no-files-found: error manylinuxbuild: @@ -284,7 +282,7 @@ jobs: container: ${{ matrix.container}} steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 - name: install Swig 4 from source run: | yum install -y pcre-devel @@ -366,17 +364,9 @@ jobs: echo "ARTIFACT_NAME_SUFFIX=all-packages" >> "${GITHUB_ENV}" - name: Upload Manylinux2010 binary archive - uses: actions/upload-artifact@v1 # note v1 used here, because v2 incompatible + uses: actions/upload-artifact@v4 with: name: Manylinux2010 nightly (zip, libSBML ${{env.LIBSBML_VERSION}}, - ${{env.ARTIFACT_NAME_SUFFIX}}) - path: ../install # paths handled differently by v1 - note that "./install/*" does not work - - # - name: Upload Manylinux2010 R binary archive - # uses: actions/upload-artifact@v1 # note v1 used here, because v2 incompatible - # with: - # name: - # Manylinux2010 R nightly (zip, libSBML ${{env.LIBSBML_VERSION}}, - # ${{env.ARTIFACT_NAME_SUFFIX}}) - # path: ../build/r-binaries # paths handled differently by v1 - note that v1 doesn't allow multiple paths + ${{env.ARTIFACT_NAME_SUFFIX}})-${{ strategy.job-index }} + path: ../install From 91760e8401581deb9bf65adade00a5e44277f1ae Mon Sep 17 00:00:00 2001 From: "Frank T. Bergmann" Date: Mon, 7 Oct 2024 09:51:42 +0200 Subject: [PATCH 2/8] - update octave --- .github/workflows/octave.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/octave.yml b/.github/workflows/octave.yml index 2506300fe..b0c345c8a 100644 --- a/.github/workflows/octave.yml +++ b/.github/workflows/octave.yml @@ -15,7 +15,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Checkout submodules run: git submodule update --init --recursive @@ -65,7 +65,7 @@ jobs: run: LD_LIBRARY_PATH=../../../../.. octave --eval "runTests()" - name: Upload - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v4 with: path: ${{runner.workspace}}/build/octave_${{ matrix.os }}.tar.gz name: octave_${{ matrix.os }}.tar.gz From 830c5ea8d5c9c14d65161d77139c485d4f40728f Mon Sep 17 00:00:00 2001 From: "Frank T. Bergmann" Date: Mon, 7 Oct 2024 09:53:59 +0200 Subject: [PATCH 3/8] change to v4 --- .github/workflows/brief.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/brief.yml b/.github/workflows/brief.yml index 5a0b39a09..e6f844ee2 100644 --- a/.github/workflows/brief.yml +++ b/.github/workflows/brief.yml @@ -27,12 +27,12 @@ jobs: runs-on: ${{ matrix.platform }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - uses: seanmiddleditch/gha-setup-ninja@master - name: Add msbuild to PATH (Windows) if: matrix.platform == 'windows-latest' - uses: ilammy/msvc-dev-cmd@v1.6.0 + uses: ilammy/msvc-dev-cmd@v1 ### configure the operating system ### - name: Cache Windows dependencies and SWIG @@ -40,7 +40,7 @@ jobs: # For the CI, we put SWIG there too, for simplicity. if: matrix.platform == 'windows-latest' id: cache-win-dependencies-static - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: | ./dependencies @@ -114,7 +114,7 @@ jobs: echo "COMPILER_LAUNCHER=ccache" >> "${GITHUB_ENV}" - name: cache ccache files if: matrix.platform != 'windows-latest' - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: ${{runner.workspace}}/.ccache key: @@ -191,7 +191,7 @@ jobs: container: ${{ matrix.container}} steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 - name: install Swig 4 from source run: | yum install -y pcre-devel From 24a217ef683f4f88e8842c0c4eb658bb6f721fd1 Mon Sep 17 00:00:00 2001 From: "Frank T. Bergmann" Date: Mon, 7 Oct 2024 09:56:21 +0200 Subject: [PATCH 4/8] - update documentation actions - only run build if repo is ours --- .github/workflows/doxygen.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/doxygen.yml b/.github/workflows/doxygen.yml index 27b6835db..ec25ec4cd 100644 --- a/.github/workflows/doxygen.yml +++ b/.github/workflows/doxygen.yml @@ -9,10 +9,11 @@ on: jobs: build: + if: github.repository_owner == 'sbmlteam' runs-on: ubuntu-latest steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - uses: seanmiddleditch/gha-setup-ninja@master @@ -52,7 +53,7 @@ jobs: cmake --build . --config Release --target api_docs_cpp - name: Deploy - uses: peaceiris/actions-gh-pages@v3 + uses: peaceiris/actions-gh-pages@v4 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./docs/formatted/cpp-api From 38917371a274199238f49289920283370bd39a32 Mon Sep 17 00:00:00 2001 From: "Frank T. Bergmann" Date: Mon, 7 Oct 2024 09:59:01 +0200 Subject: [PATCH 5/8] - update actions --- .github/workflows/extensive.yml | 8 ++++---- .github/workflows/matlab.yml | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/extensive.yml b/.github/workflows/extensive.yml index 8053c8e2d..9e989ed9f 100644 --- a/.github/workflows/extensive.yml +++ b/.github/workflows/extensive.yml @@ -80,12 +80,12 @@ jobs: runs-on: ${{ matrix.platform }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - uses: seanmiddleditch/gha-setup-ninja@master - name: Add msbuild to PATH (Windows) if: matrix.platform == 'windows-latest' - uses: ilammy/msvc-dev-cmd@v1.6.0 + uses: ilammy/msvc-dev-cmd@v1 ### configure the operating system ### - name: Cache Windows dependencies and SWIG @@ -93,7 +93,7 @@ jobs: # For the CI, we put SWIG there too, for simplicity. if: matrix.platform == 'windows-latest' id: cache-win-dependencies-static - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: | ./dependencies @@ -178,7 +178,7 @@ jobs: echo "COMPILER_LAUNCHER=ccache" >> "${GITHUB_ENV}" - name: cache ccache files if: matrix.platform != 'windows-latest' - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: ${{runner.workspace}}/.ccache key: diff --git a/.github/workflows/matlab.yml b/.github/workflows/matlab.yml index 4da20d897..a2d90d57c 100644 --- a/.github/workflows/matlab.yml +++ b/.github/workflows/matlab.yml @@ -12,12 +12,12 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - uses: seanmiddleditch/gha-setup-ninja@master - name: Set up MATLAB - uses: matlab-actions/setup-matlab@v1 + uses: matlab-actions/setup-matlab@v2 # with: # release: ${{ env.MATLAB_VERSION }} @@ -58,6 +58,6 @@ jobs: cmake --build . --config Debug --target matlab_binding_OutputSBML - name: Run Test - uses: matlab-actions/run-command@v1 + uses: matlab-actions/run-command@v2 with: command: cd('../build/src/bindings/matlab/test'); runTests From 9e2c5475179fc5d39d1b2c976a8f702ae6921091 Mon Sep 17 00:00:00 2001 From: "Frank T. Bergmann" Date: Mon, 7 Oct 2024 11:03:09 +0200 Subject: [PATCH 6/8] - upgrade to 2014 --- .github/workflows/brief.yml | 2 +- artefacts.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/brief.yml b/.github/workflows/brief.yml index e6f844ee2..cd92e3571 100644 --- a/.github/workflows/brief.yml +++ b/.github/workflows/brief.yml @@ -186,7 +186,7 @@ jobs: cpp_standard: [98, 20] language_bindings: ["-DWITH_JAVA=True -DWITH_PYTHON=True -DWITH_CSHARP=True"] - container: ["quay.io/pypa/manylinux2010_x86_64"] + container: ["quay.io/pypa/manylinux2014_x86_64"] runs-on: ${{ matrix.platform }} container: ${{ matrix.container}} diff --git a/artefacts.md b/artefacts.md index 9e3bea078..2544d801b 100644 --- a/artefacts.md +++ b/artefacts.md @@ -18,6 +18,6 @@ The artefacts are built using [virtual machines provided by GitHub Actions](http - Precompiled version of libSBML, built using the [libxml2](http://xmlsoft.org/) parser. Contains interfaces to C, C++, C# (Mono), Python, and R. - Precompiled R package for libSBML. -## CentOS 6 ([ManyLinux2010](quay.io/pypa/manylinux2010_x86_64)) +## CentOS 6 ([ManyLinux2014](quay.io/pypa/manylinux2014_x86_64)) - Precompiled version of libSBML, built using the [libxml2](http://xmlsoft.org/) parser. Contains interfaces to C, C++, C# (Mono), Python, and R. - Precompiled R package for libSBML (as a separate artefact). \ No newline at end of file From 3bb48e0ac7bb2fd11a174d18b48ae258726ae23e Mon Sep 17 00:00:00 2001 From: "Frank T. Bergmann" Date: Mon, 7 Oct 2024 12:11:26 +0200 Subject: [PATCH 7/8] upgrade to manylinux 2_28, node 20 is not able to run on manylinux 2014 --- .github/workflows/brief.yml | 2 +- .github/workflows/store-artefact.yml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/brief.yml b/.github/workflows/brief.yml index cd92e3571..9fb6f790e 100644 --- a/.github/workflows/brief.yml +++ b/.github/workflows/brief.yml @@ -186,7 +186,7 @@ jobs: cpp_standard: [98, 20] language_bindings: ["-DWITH_JAVA=True -DWITH_PYTHON=True -DWITH_CSHARP=True"] - container: ["quay.io/pypa/manylinux2014_x86_64"] + container: ["quay.io/pypa/manylinux_2_28_x86_64"] runs-on: ${{ matrix.platform }} container: ${{ matrix.container}} diff --git a/.github/workflows/store-artefact.yml b/.github/workflows/store-artefact.yml index a7669b655..5169ee140 100644 --- a/.github/workflows/store-artefact.yml +++ b/.github/workflows/store-artefact.yml @@ -277,7 +277,7 @@ jobs: cpp_standard: [98] language_bindings: ["-DWITH_JAVA=True -DWITH_PYTHON=True -DWITH_CSHARP=True -DWITH_R=True"] - container: ["quay.io/pypa/manylinux2010_x86_64"] + container: ["quay.io/pypa/manylinux_2_28_x86_64"] runs-on: ${{ matrix.platform }} container: ${{ matrix.container}} @@ -363,10 +363,10 @@ jobs: run: | echo "ARTIFACT_NAME_SUFFIX=all-packages" >> "${GITHUB_ENV}" - - name: Upload Manylinux2010 binary archive + - name: Upload Manylinux binary archive uses: actions/upload-artifact@v4 with: name: - Manylinux2010 nightly (zip, libSBML ${{env.LIBSBML_VERSION}}, + Manylinux nightly (zip, libSBML ${{env.LIBSBML_VERSION}}, ${{env.ARTIFACT_NAME_SUFFIX}})-${{ strategy.job-index }} path: ../install From 2ba348bcd898c74b8122fe9eca0062fcf3db917d Mon Sep 17 00:00:00 2001 From: "Frank T. Bergmann" Date: Mon, 7 Oct 2024 13:00:26 +0200 Subject: [PATCH 8/8] - drop mono for manylinux --- .github/workflows/brief.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/brief.yml b/.github/workflows/brief.yml index 9fb6f790e..578986a03 100644 --- a/.github/workflows/brief.yml +++ b/.github/workflows/brief.yml @@ -185,7 +185,7 @@ jobs: package_option: ["-DWITH_STABLE_PACKAGES=ON"] cpp_standard: [98, 20] language_bindings: - ["-DWITH_JAVA=True -DWITH_PYTHON=True -DWITH_CSHARP=True"] + ["-DWITH_JAVA=True -DWITH_PYTHON=True"] container: ["quay.io/pypa/manylinux_2_28_x86_64"] runs-on: ${{ matrix.platform }} container: ${{ matrix.container}} @@ -213,7 +213,7 @@ jobs: ctest --version - name: Install dependencies, configure, build run: | - yum install -y libxml2-devel check-devel java-devel mono-devel + yum install -y libxml2-devel check-devel java-devel cd .. mkdir build cd build