Skip to content

Catch 2 v3 #78

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 226 commits into
base: feature/catch2v3
Choose a base branch
from
Draft

Catch 2 v3 #78

wants to merge 226 commits into from

Conversation

acgetchell
Copy link
Owner

Go back to Catch 2

acgetchell added 30 commits May 9, 2022 22:10
Catch2 has a number of issues with ASAN, compile times, etc.

doctest is much faster and simpler.

There are a couple of tests that need to be rewritten, and have been commented out.
Update vcpkgGitCommitId: 2e781b513f486618909d9f78185c0c7ebb54624c
Mostly to try to see if we can get less output from ASAN.
Update vcpkgGitCommitId: 840f701d83d5019aa5033c9d9d08a4cc0d0ebdce

which should fix spdlog.
Also take advantage of std::numbers in C++20.
Should rename functions to be consistent.
Geometry3 -> Geometry_3
FoliatedTriangulation3 -> Foliated_Triangulation_3
etc.

New function incident_cells_from_edge to encapsulate all the logic behind finding locations for bistellar flips based on the number of incident cells (ie. == 4).

Updated to vcpkgGitCommitId: c379c64ff9ec1b8c6100ebff8e81ecdcb49b330c
Only need a reference to the triangulation, the edge to be flipped, and the top and bottom vertices.

Update vcpkgGitCommitId: 1323f4b83d6a91e415e9ce06a45c9d0a6473aaf2

The function still needs to be debugged, of course.
Turn on doctest fast assertions.

Fix references to Catch in documentation and CI.

Use doctest test suites.

Update CI to use vcpkgGitCommitId: 9e8da9bd8aa16fb268ac68f731c44fdef5fec1ab
PVS Studio identified possible use of an uninitialized value obtained by a function returning a std::optional<T>.
# ----------------------------------------------------------
# Header - (type): Brief description
# ----------------------------------------------------------
#   * feature         A new feature
#   * fix          A bug fix
#   * docs         Changes to documentation only
#   * style        Style/format changes (whitespace, etc.)
#   * refactor     Changes not related to a bug or feature
#   * performance         Changes that affects performance
#   * test         Changes that add/modify/correct tests
#   * build        Changes to build system (configs, etc.)
#   * ci           Changes to CI pipeline/workflow
# ----------------------------------------------------------


# ----------------------------------------------------------
# Body - More detailed description, if necessary
# ----------------------------------------------------------
#   * Motivation behind changes, more detail into how 
# functionality might be affected, etc.
# ----------------------------------------------------------


# ----------------------------------------------------------
# Footer - Associated issues, PRs, etc.
# ----------------------------------------------------------
#   * Ex: Resolves Issue #207, see PR #15, etc.
# ----------------------------------------------------------
fmt::print doesn't like CGAL point << output anymore, so wrap it with a point_to_str that converts it.

Fix Metropolis to use SystemError.what() which is a const string for reporting via spdlog::trace which uses fmt which requires const string arguments.

Similar conversions using Gmpzf.to_double to make spdlg::debug happy.

Update  vcpkgGitCommitId: 23cc58477e200bb54c293ad76f3ce438dbabc86c
Nice catch via sonarcloud. Also remove unused includes.
Found a few more places to fix fmt.

Simplified try_32_move.

Removed diagnostic code that was throwing exceptions. That info gets printed out before the runs already.

Updated           vcpkgGitCommitId: 5fb8f6c24ec13a36db460a555b24b20be03bd73c
Except the usual transparent functors 'less<>' issue which is unfixable given docopt.cpp's current implementation.
Consistent formatting
Via           vcpkgGitCommitId: 316323019266ff54be39e0cb2c2de9caaa94cf75
vcpkgGitCommitId: 01b29f6d8212bc845da64773b18665d682f5ab66
Update packages: vcpkgGitCommitId: 2f0a16b5ae24fec6c615924e2fbc8bc43ab73764
Also update packages to vcpkgGitCommitId: 929fc61671bb5e5e7322981dce1153abf24f54cf

And re-enable Windows builds on GHA.
Update GitHub Actions with vcpkgGitCommitId: 57ae838ee87313a3f0c5e14b008767d97d94debe

Start slow with iwyu to ensure it's correct on all platforms.
Update Travis-CI build environment to Jammy with gcc-11 and clang-14.
Update GitHub Actions to vcpkgGitCommitId: bdf073a835ebea07e1d039cd9cff4f650014e4ce
Jammy doesn't have clang-15 yet.

vcpkgGitCommitId: ec7216c8e1206580ccec7a33024ef38216efdaf8
vcpkgGitCommitId: 7e7c62d863b1bf599c1d104b76cd8b74475844d4
And GitHub Action for Windows.
Also fix GHA for Windows.
Import current version of bistellar flip from https://github.com/acgetchell/bistellar-flip

This mostly works except for setting neighboring cells correctly.

Update all tests accordingly.

Remove lots of dead code, including src/bistellar.cpp.

Update GHA to vcpkgGitCommitId: 783e2d8e9983a74fad1b9d7b1d88a020438d32b2
acgetchell and others added 11 commits April 16, 2024 12:39
Also remove docopt from vcpkg.
Remove references to docopt and update help screen.
Fix SonarCloud, remove building on macOS until fontconfig issue resolved.
The error message indicates that the Clang compiler does not recognize the `/utf-8` option, which is a Microsoft Visual C++ (MSVC) specific option. To resolve this issue, you need to conditionally add the `/utf-8` flag only when using the MSVC compiler.

Here's how you can modify your `CMakeLists.txt` to conditionally add the `/utf-8` flag:

1. Check if the compiler is MSVC.
2. If it is, add the `/utf-8` flag.
* Make separate branch for C++23

* Fix merge errors from develop

* ci: update to clang-18 via pkgx

This should resolve the build failure for updating to C++23. clang-17 didn't support std::expected, but clang-18 should.

* ci: Fix checking twice on PRs and pushes

* ci: Fix Travis and AppVeyor

* ci: Fix clang on Travis-CI

* ci: Don't double build PR pushes on Travis-CI
* ci: Fix appveyor

* ci: Fix pkgx windows error

* ci: pkgx fixes [skip ci]

* ci: Updates [skip ci]

* ci: Allow clang-format to run by request [skip ci]

* fix: strip out qt temporarily

Until we can get it to compile again

* fix: CoderabbitAI suggestions

* fix: Coderabbit suggestions part 2

* fix: More Coderabbit tuning

* fix: AppleClang

C++23 support check left out AppleClang

* Update src/bistellar-flip.cpp

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* ci: disable macos

* ci: Fix workflows mostly

Note we also updated vcpkg

* ci: CodeRabbit suggestions

* ci: Fix comment [ci skip]

* ci: revert Coderabbit suggestion [ci skip]

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Copy link
Contributor

coderabbitai bot commented Nov 14, 2024

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

acgetchell and others added 9 commits November 13, 2024 23:43
Refactors move application to handle cases where a move cannot be applied due to manifold configuration.

Skips the test when a move cannot be applied, and logs a warning message providing better test reporting.

Also, the Boost library is now found using config mode. A cmake policy is set to avoid warnings.
Adds checks for invalid and infinite cells and vertices during the Bistellar flip operation to improve reliability. Includes extensive debugging information to diagnose failures.  Also includes a suite of tests to verify that bistellar flips are correctly implemented.
Updates the CI workflows to use newer versions of Clang and GCC. Also updates the pkgxdev/setup action to v4 to ensure compatibility.

The change ensures that the CI environment uses the latest compiler versions for better code analysis and compatibility testing.

An additional change orders the includes.
Sets up Dependabot to automatically update GitHub Actions dependencies on a weekly basis.

This ensures that the project stays up-to-date with the latest security patches and feature improvements for GitHub Actions workflows.
Bumps [jidicula/clang-format-action](https://github.com/jidicula/clang-format-action) from 4.13.0 to 4.15.0.
- [Release notes](https://github.com/jidicula/clang-format-action/releases)
- [Commits](jidicula/clang-format-action@v4.13.0...v4.15.0)

---
updated-dependencies:
- dependency-name: jidicula/clang-format-action
  dependency-version: 4.15.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [pkgxdev/setup](https://github.com/pkgxdev/setup) from 2 to 4.
- [Release notes](https://github.com/pkgxdev/setup/releases)
- [Commits](pkgxdev/setup@v2...v4)

---
updated-dependencies:
- dependency-name: pkgxdev/setup
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@github-advanced-security
Copy link

This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation.

Comment on lines +19 to +68
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true

- name: Setup
run: |
sudo apt update
sudo apt-get install build-essential automake autoconf autoconf-archive texinfo libtool-bin yasm ninja-build ccache

- name: Setup Clang
uses: pkgxdev/setup@v4
with:
+: clang@20

- run: clang --version

- name: Restore artifacts or setup vcpkg
uses: lukka/run-vcpkg@v11
with:
vcpkgGitCommitId: ${{ vars.VCPKG_GIT_COMMIT_ID }}

- name: Configure
run: cmake --preset=asan

- name: Build
run: cmake --build build -j 2

- name: Run tests
working-directory: build
continue-on-error: true
run: ctest -VV

- name: Run ASAN on initialize
working-directory: build/src
continue-on-error: true
run: ./initialize --s -n32000 -t11 -o

- name: Run ASAN on cdt-opt
working-directory: build/src
continue-on-error: true
run: ./cdt-opt

- name: Run ASAN on cdt
working-directory: build/src
continue-on-error: true
run: ./cdt --s -n64 -t3 -a.6 -k1.1 -l.1 -p10

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}

Copilot Autofix

AI 14 days ago

To fix the issue, add a permissions block to the workflow file. This block should specify the least privileges required for the workflow to function. Based on the workflow's steps, the minimal required permission is contents: read, as the workflow only reads repository contents and does not perform any write operations.

The permissions block can be added at the root level of the workflow file to apply to all jobs within the workflow. This ensures consistency and avoids redundancy.


Suggested changeset 1
.github/workflows/asan.yml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/asan.yml b/.github/workflows/asan.yml
--- a/.github/workflows/asan.yml
+++ b/.github/workflows/asan.yml
@@ -12,2 +12,5 @@
 
+permissions:
+  contents: read
+
 concurrency:
EOF
@@ -12,2 +12,5 @@

permissions:
contents: read

concurrency:
Copilot is powered by AI and may make mistakes. Always verify output.
Comment on lines +15 to +31
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: cpp-linter/cpp-linter-action@v2
id: linter
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
style: file
tidy-checks: ''
version: 19

- name: Fail fast?!
if: steps.linter.outputs.checks-failed > 0
run: echo "Some files failed the linting checks!"
# for actual deployment
# run: exit 1

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}

Copilot Autofix

AI 14 days ago

To fix the issue, we will add a permissions block at the root of the workflow file. This block will specify contents: read, which is sufficient for the workflow's operations (checking out the repository and running the linter). This change ensures that the workflow adheres to the principle of least privilege and avoids granting unnecessary permissions.


Suggested changeset 1
.github/workflows/cpp-linter.yml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/cpp-linter.yml b/.github/workflows/cpp-linter.yml
--- a/.github/workflows/cpp-linter.yml
+++ b/.github/workflows/cpp-linter.yml
@@ -2,2 +2,5 @@
 
+permissions:
+  contents: read
+
 on:
EOF
@@ -2,2 +2,5 @@

permissions:
contents: read

on:
Copilot is powered by AI and may make mistakes. Always verify output.
Comment on lines +19 to +48
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true

- name: Setup
run: |
sudo apt update
sudo apt-get install build-essential automake autoconf autoconf-archive texinfo libtool-bin yasm ninja-build ccache cppcheck

- name: Setup GCC
uses: pkgxdev/setup@v4
with:
+: gcc@15

- run: gcc --version

- name: Restore artifacts or setup vcpkg
uses: lukka/run-vcpkg@v11
with:
vcpkgGitCommitId: ${{ vars.VCPKG_GIT_COMMIT_ID }}

- name: Configure
run: cmake --preset=cppcheck

- name: Build
run: cmake --build build -j 2

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}

Copilot Autofix

AI 14 days ago

To fix the issue, we will add a permissions block at the root level of the workflow. This block will specify the least privileges required for the workflow to function correctly. Based on the workflow's steps, it primarily checks out the repository and builds the project, so it only needs contents: read permission. This change will ensure that the workflow adheres to the principle of least privilege.


Suggested changeset 1
.github/workflows/cppcheck.yml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/cppcheck.yml b/.github/workflows/cppcheck.yml
--- a/.github/workflows/cppcheck.yml
+++ b/.github/workflows/cppcheck.yml
@@ -12,2 +12,5 @@
 
+permissions:
+  contents: read
+
 concurrency:
EOF
@@ -12,2 +12,5 @@

permissions:
contents: read

concurrency:
Copilot is powered by AI and may make mistakes. Always verify output.
Comment on lines +12 to +19
runs-on: ubuntu-latest
steps:
- uses: DenverCoder1/doxygen-github-pages-action@v2.0.0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: gh-pages
folder: docs/html
config_file: docs/Doxyfile

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {}

Copilot Autofix

AI 14 days ago

To fix the issue, we will add a permissions block at the workflow level to explicitly define the least privileges required. Since the workflow deploys documentation to the gh-pages branch, it likely needs contents: write permission. Other permissions will be set to read or omitted entirely if not required. This ensures that the GITHUB_TOKEN is restricted to only the necessary actions.

The permissions block will be added at the root level of the workflow, applying to all jobs unless overridden by a job-specific permissions block.


Suggested changeset 1
.github/workflows/doxygen.yml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/doxygen.yml b/.github/workflows/doxygen.yml
--- a/.github/workflows/doxygen.yml
+++ b/.github/workflows/doxygen.yml
@@ -9,2 +9,5 @@
 
+permissions:
+  contents: write
+
 jobs:
EOF
@@ -9,2 +9,5 @@

permissions:
contents: write

jobs:
Copilot is powered by AI and may make mistakes. Always verify output.
Comment on lines +19 to +68
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true

- name: Setup
run: |
sudo apt update
sudo apt-get install build-essential automake autoconf autoconf-archive texinfo libtool-bin yasm ninja-build ccache

- name: Setup Clang
uses: pkgxdev/setup@v4
with:
+: clang@20

- run: clang --version

- name: Restore artifacts or setup vcpkg
uses: lukka/run-vcpkg@v11
with:
vcpkgGitCommitId: ${{ vars.VCPKG_GIT_COMMIT_ID }}

- name: Configure
run: cmake --preset=lsan

- name: Build
run: cmake --build build -j 2

- name: Run tests
working-directory: build
continue-on-error: true
run: ctest -VV

- name: Run LSAN on initialize
working-directory: build/src
continue-on-error: true
run: ./initialize --s -n32000 -t11 -o

- name: Run LSAN on cdt-opt
working-directory: build/src
continue-on-error: true
run: ./cdt-opt

- name: Run LSAN on cdt
working-directory: build/src
continue-on-error: true
run: ./cdt --s -n64 -t3 -a.6 -k1.1 -l.1 -p10

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}
Comment on lines +19 to +68
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true

- name: Setup
run: |
sudo apt update
sudo apt-get install build-essential automake autoconf autoconf-archive texinfo libtool-bin yasm ninja-build ccache

- name: Setup Clang
uses: pkgxdev/setup@v4
with:
+: clang@20

- run: clang --version

- name: Restore artifacts or setup vcpkg
uses: lukka/run-vcpkg@v11
with:
vcpkgGitCommitId: ${{ vars.VCPKG_GIT_COMMIT_ID }}

- name: Configure
run: cmake --preset=msan

- name: Build
run: cmake --build build -j 2

- name: Run tests
working-directory: build
continue-on-error: true
run: ctest -VV

- name: Run MSAN on initialize
working-directory: build/src
continue-on-error: true
run: ./initialize --s -n32000 -t11 -o

- name: Run MSAN on cdt-opt
working-directory: build/src
continue-on-error: true
run: ./cdt-opt

- name: Run MSAN on cdt
working-directory: build/src
continue-on-error: true
run: ./cdt --s -n64 -t3 -a.6 -k1.1 -l.1 -p10

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}

Copilot Autofix

AI 14 days ago

To fix the issue, we need to add a permissions block to the workflow file. This block should specify the least privileges required for the workflow to function correctly. Based on the actions performed in the workflow, the minimal required permission is contents: read. This ensures that the workflow can access the repository contents without granting unnecessary write permissions.

The permissions block should be added at the root level of the workflow file, so it applies to all jobs in the workflow.


Suggested changeset 1
.github/workflows/msan.yml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/msan.yml b/.github/workflows/msan.yml
--- a/.github/workflows/msan.yml
+++ b/.github/workflows/msan.yml
@@ -12,2 +12,5 @@
 
+permissions:
+  contents: read
+
 concurrency:
EOF
@@ -12,2 +12,5 @@

permissions:
contents: read

concurrency:
Copilot is powered by AI and may make mistakes. Always verify output.
Comment on lines +19 to +68
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true

- name: Setup
run: |
sudo apt update
sudo apt-get install build-essential automake autoconf autoconf-archive texinfo libtool-bin yasm ninja-build ccache

- name: Setup Clang
uses: pkgxdev/setup@v4
with:
+: clang@20

- run: clang --version

- name: Restore artifacts or setup vcpkg
uses: lukka/run-vcpkg@v11
with:
vcpkgGitCommitId: ${{ vars.VCPKG_GIT_COMMIT_ID }}

- name: Configure
run: cmake --preset=tsan

- name: Build
run: cmake --build build -j 2

- name: Run tests
working-directory: build
continue-on-error: true
run: ctest -VV

- name: Run TSAN on initialize
working-directory: build/src
continue-on-error: true
run: ./initialize --s -n32000 -t11 -o

- name: Run TSAN on cdt-opt
working-directory: build/src
continue-on-error: true
run: ./cdt-opt

- name: Run TSAN on cdt
working-directory: build/src
continue-on-error: true
run: ./cdt --s -n64 -t3 -a.6 -k1.1 -l.1 -p10

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}

Copilot Autofix

AI 14 days ago

To fix the issue, we need to add a permissions block to the workflow file. This block should specify the least privileges required for the workflow to function correctly. Since the workflow primarily performs build and testing tasks, it only needs contents: read permissions. The permissions block can be added at the root level of the workflow to apply to all jobs.


Suggested changeset 1
.github/workflows/tsan.yml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/tsan.yml b/.github/workflows/tsan.yml
--- a/.github/workflows/tsan.yml
+++ b/.github/workflows/tsan.yml
@@ -12,2 +12,5 @@
 
+permissions:
+  contents: read
+
 concurrency:
EOF
@@ -12,2 +12,5 @@

permissions:
contents: read

concurrency:
Copilot is powered by AI and may make mistakes. Always verify output.
Comment on lines +19 to +69
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true

- name: Setup
run: |
sudo apt update
sudo apt-get install build-essential automake autoconf autoconf-archive texinfo libtool-bin yasm ninja-build ccache valgrind

- name: Setup GCC
uses: pkgxdev/setup@v4
with:
+: gcc@15

- run: gcc --version

- name: Restore artifacts or setup vcpkg
uses: lukka/run-vcpkg@v11
with:
vcpkgGitCommitId: ${{ vars.VCPKG_GIT_COMMIT_ID }}

- name: Configure
run: cmake --preset=valgrind

- name: Build
run: cmake --build build -j 2

- name: Run memcheck
working-directory: build
continue-on-error: true
run: |
ctest -VV -T memcheck --verbose

- name: Run Valgrind on initialize
working-directory: build/src
continue-on-error: true
run: valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes --verbose ./initialize --s -n32000 -t11 -o

- name: Run Valgrind on cdt-opt
working-directory: build/src
continue-on-error: true
run: valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes --verbose ./cdt-opt

- name: Run Valgrind on cdt
working-directory: build/src
continue-on-error: true
run: valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes --verbose ./cdt --s -n64 -t3 -a.6 -k1.1 -l.1 -p10

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}

Copilot Autofix

AI 14 days ago

To fix the issue, we need to add a permissions block to the workflow file. This block should specify the least privileges required for the workflow to function correctly. Since the workflow does not perform any actions requiring write permissions, we can set contents: read as the minimal permission. This ensures that the GITHUB_TOKEN has only read access to the repository contents, which is sufficient for the tasks performed in the workflow.

The permissions block should be added at the root level of the workflow file, so it applies to all jobs in the workflow.


Suggested changeset 1
.github/workflows/valgrind.yml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/valgrind.yml b/.github/workflows/valgrind.yml
--- a/.github/workflows/valgrind.yml
+++ b/.github/workflows/valgrind.yml
@@ -2,2 +2,5 @@
 
+permissions:
+  contents: read
+
 on:
EOF
@@ -2,2 +2,5 @@

permissions:
contents: read

on:
Copilot is powered by AI and may make mistakes. Always verify output.
Comment on lines +11 to +39
runs-on: windows-latest

env:
VCPKG_DEFAULT_TRIPLET: x64-windows
VCPKG_ROOT: C:\vcpkg

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true

- name: Setup Clang
uses: pkgxdev/setup@v4
with:
+: clang@19

- name: Restore artifacts, or setup vcpkg
uses: lukka/run-vcpkg@v11
with:
vcpkgGitCommitId: ${{ vars.VCPKG_GIT_COMMIT_ID }}

- name: Install vcpkg packages and configure CMake
run: |
vcpkg install
cmake -D CMAKE_BUILD_TYPE=RelWithDebInfo -D ENABLE_TESTING:BOOL=TRUE -D ENABLE_CACHE:BOOL=FALSE -S . -B build

- name: Build
run: cmake --build build

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}

Copilot Autofix

AI 14 days ago

To fix the issue, add a permissions block at the root level of the workflow file to explicitly limit the GITHUB_TOKEN permissions. Based on the workflow's functionality, the minimal required permission is contents: read. This ensures the workflow has only the necessary access to repository contents and avoids granting unnecessary write permissions.


Suggested changeset 1
.github/workflows/windows-pkgx.yml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/windows-pkgx.yml b/.github/workflows/windows-pkgx.yml
--- a/.github/workflows/windows-pkgx.yml
+++ b/.github/workflows/windows-pkgx.yml
@@ -4,2 +4,5 @@
 
+permissions:
+  contents: read
+
 concurrency:
EOF
@@ -4,2 +4,5 @@

permissions:
contents: read

concurrency:
Copilot is powered by AI and may make mistakes. Always verify output.
acgetchell and others added 7 commits June 5, 2025 13:35
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](codecov/codecov-action@v4...v5)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Boost Multiprecision has a packaging bug. And we rely on MPFR/GMP for intensive calculations anyways, so configure CGAL to use them instead of Boost Multiprecision.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant