Return consistent tangent in Penalty and Lagrange constraints #542
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CMake Build | |
| env: | |
| CMAKE_VERSION: 3.20.1 | |
| BUILD_TYPE: Release | |
| OPENSEESRT_BUILD: local | |
| on: | |
| push: | |
| branches: [stable] | |
| pull_request: | |
| branches: [stable] | |
| permissions: | |
| contents: write | |
| pull-requests: write | |
| jobs: | |
| build-ubuntu: | |
| name: Ubuntu bundled build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: Install Libraries | |
| run: | |
| sudo apt-get install tcl-dev libopenblas-dev | |
| - name: Build | |
| id: build | |
| run: | | |
| set -o pipefail | |
| mkdir build | |
| cd build | |
| cmake .. -DNoOpenSeesPyRT:BOOL=TRUE | |
| cmake --build . --target OpenSeesRT -j3 2>&1 | tee build.log | |
| # Count lines containing "warning:" | |
| export XARA_SRC_WARN_COUNT=$(grep -c "warning:" build.log || true) | |
| echo "XARA_SRC_WARN_COUNT=$XARA_SRC_WARN_COUNT" >> $GITHUB_ENV | |
| echo "warnings=$XARA_SRC_WARN_COUNT" >> $GITHUB_OUTPUT | |
| echo "::warning::We found $XARA_SRC_WARN_COUNT warnings" | |
| - name: Post warning count | |
| # Only run if it's a PR (not just a push) | |
| # if: ${{ github.event_name == 'pull_request' }} | |
| if: ${{ github.event.pull_request.head.repo.full_name == github.repository }} | |
| uses: actions/github-script@v6 | |
| with: | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| script: | | |
| // Read the warning count from the 'build' step output (or from the env var) | |
| const warningCount = parseInt(`${{ steps.build.outputs.warnings }}`, 10); | |
| // Create a comment on the PR | |
| await github.rest.issues.createComment({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| issue_number: context.issue.number, | |
| body: `We found **${warningCount}** compiler warnings in the latest build.` | |
| }); | |
| # - name: Verification | |
| # run: | | |
| # cd build | |
| # make trussExample | |
| # make planeFrame | |
| #ctest | |
| #cd ./EXAMPLES/verification/ && ../../build/OpenSeesTcl runVerificationSuite.tcl | |
| build-mac: | |
| name: Mac Build | |
| runs-on: macos-latest | |
| needs: build-ubuntu | |
| steps: | |
| - uses: actions/checkout@v3 | |
| with: | |
| fetch-depth: 0 | |
| - name: Install Libraries | |
| run: brew install tcl-tk libomp gfortran | |
| - name: Build | |
| run: | | |
| mkdir build | |
| cd build | |
| export FC=$(brew --prefix gcc)/bin/gfortran-$(brew list gcc | grep -Eo 'gfortran-[0-9]+' | head -n1 | grep -Eo '[0-9]+') | |
| cmake .. \ | |
| -DTCL_INCLUDE_PATH="$(brew --prefix tcl-tk)/include" \ | |
| -DTCL_LIBRARY="$(brew --prefix tcl-tk)/lib/libtclstub8.6.a" \ | |
| -DNoOpenSeesPyRT:BOOL=TRUE | |
| cmake --build . --target OpenSeesRT -j3 | |
| build-win32: | |
| name: Build on Windows | |
| runs-on: [windows-2022] | |
| needs: build-ubuntu | |
| steps: | |
| - name: Checkout Source Code | |
| uses: actions/checkout@v4 | |
| # Put MSBuild on PATH (does not add cl.exe) | |
| - name: Setup MSBuild | |
| uses: microsoft/setup-msbuild@v2 | |
| # Enter the MSVC "Developer Command Prompt" so cl.exe & libs are usable | |
| - name: Setup MSVC Command Prompt | |
| uses: ilammy/msvc-dev-cmd@v1 | |
| with: | |
| arch: amd64 # or x86 / arm64 | |
| vsversion: 2022 | |
| - name: Set up package manager (Miniforge) | |
| uses: conda-incubator/setup-miniconda@v3 | |
| with: | |
| miniforge-version: latest | |
| miniforge-variant: Miniforge3 | |
| use-mamba: true | |
| activate-environment: ifx | |
| - name: Setup Intel Fortran Compiler | |
| shell: cmd | |
| run: | | |
| call "%CONDA%\condabin\conda.bat" activate ifx | |
| mamba install -y -c conda-forge ^ | |
| cmake ninja tk ^ | |
| ifx_win-64 ^ | |
| mkl-devel conda-forge/label/mkl_rc::blas | |
| - name: CMake configure | |
| shell: cmd | |
| run: | | |
| call "%CONDA%\condabin\conda.bat" activate ifx | |
| rem Intel intrinsic modules (iso_c_binding, iso_fortran_env) | |
| set IFX_INC=%CONDA_PREFIX%\opt\compiler\include\intel64 | |
| set INCLUDE=%IFX_INC%;%INCLUDE% | |
| rem Paths for MKL (from conda-forge) | |
| set MKLROOT=%CONDA_PREFIX%\Library | |
| set CMAKE_PREFIX_PATH=%CONDA_PREFIX% | |
| if exist build rmdir /s /q build | |
| cmake -S . -B build -G Ninja ^ | |
| -DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY ^ | |
| -DCMAKE_Fortran_COMPILER="%CONDA_PREFIX%\Library\bin\ifx.exe" ^ | |
| -DCMAKE_REQUIRED_INCLUDES="%IFX_INC%" ^ | |
| -DBLA_VENDOR=Intel10_64_dyn ^ | |
| -DCMAKE_TOOLCHAIN_FILE:FILEPATH="ifx_toolchain.cmake" ^ | |
| -DMKLROOT="%MKLROOT%" -DMKL_ROOT="%MKLROOT%" | |
| cmake --build build --target OpenSeesRT -j4 | |