Skip to content
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

main -> dev #35

Closed
wants to merge 819 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
819 commits
Select commit Hold shift + click to select a range
3af8a04
Fix buffer not resolvable in webpack
LivInTheLookingGlass Aug 1, 2024
3252b6d
Try again for 3.6 support
LivInTheLookingGlass Aug 1, 2024
ebf4e65
Fix mypy/isort errors
LivInTheLookingGlass Aug 2, 2024
4d05d60
reintroduce flake8 linting [no ci]
LivInTheLookingGlass Aug 2, 2024
ac48a07
Fix up flake8 errors, now that it works again
LivInTheLookingGlass Aug 2, 2024
0f0adec
Relocate python code to a source directory
LivInTheLookingGlass Aug 2, 2024
a530f06
Reduce complexity, increase code coverage
LivInTheLookingGlass Aug 2, 2024
15d23c7
Relocate c code to source folder
LivInTheLookingGlass Aug 2, 2024
cb3c15a
Relocate c++ code to source folder
LivInTheLookingGlass Aug 2, 2024
4a4aece
Fix up submodules
LivInTheLookingGlass Aug 2, 2024
6d52462
Revamp conf.py + make source links a role
LivInTheLookingGlass Aug 2, 2024
6b41131
Replace deprecated actions
LivInTheLookingGlass Aug 2, 2024
ae1f9fe
Fix relative links in READMEs
LivInTheLookingGlass Aug 2, 2024
44d2d51
Move remaining shared code to lib
LivInTheLookingGlass Aug 3, 2024
985aee7
add read file support to C, solve 22
LivInTheLookingGlass Aug 3, 2024
c837253
fix compilation warnings
LivInTheLookingGlass Aug 3, 2024
13c4429
don't test against problem 22 yet
LivInTheLookingGlass Aug 3, 2024
e0ba31c
Merge branch 'main' of github.com:LivInTheLookingGlass/Euler
LivInTheLookingGlass Aug 3, 2024
9e91c9b
Remove support for aocc, icc. Expand support for tcc, make file io mo…
LivInTheLookingGlass Aug 3, 2024
cef47c3
Use a more elegent workaround for webpack file io
LivInTheLookingGlass Aug 4, 2024
61e2c7c
fix up flake8 errors
LivInTheLookingGlass Aug 4, 2024
3fe76f4
begin work towards single source of answers
LivInTheLookingGlass Aug 4, 2024
59ba724
fix ignore pattern for docs build
LivInTheLookingGlass Aug 4, 2024
66d9b4d
solve p22 in js
LivInTheLookingGlass Aug 4, 2024
b9b9e27
try to style live test page like the rest
LivInTheLookingGlass Aug 4, 2024
0cb1d18
substitue replaceAll with more portable split().join()
LivInTheLookingGlass Aug 4, 2024
e10f023
Partial Revert of "try to style live test page like the rest"
LivInTheLookingGlass Aug 4, 2024
3306479
begin work to make web tests language agnostic
LivInTheLookingGlass Aug 4, 2024
8cb4c3c
fix eslint
LivInTheLookingGlass Aug 4, 2024
edf7954
solve p22 in c#
LivInTheLookingGlass Aug 4, 2024
9f7d98a
squash typo
LivInTheLookingGlass Aug 4, 2024
d257de0
names.Sort() -> Array.Sort(names)
LivInTheLookingGlass Aug 4, 2024
b77ea65
finish p22 in c
LivInTheLookingGlass Aug 4, 2024
33a8b89
try to make file io more portable
LivInTheLookingGlass Aug 4, 2024
369b40e
fix printf problem
LivInTheLookingGlass Aug 4, 2024
3a01caf
disable deprecation warning (since C99 is support target)
LivInTheLookingGlass Aug 5, 2024
db41f27
solve p22 in c++
LivInTheLookingGlass Aug 5, 2024
a53c3a7
explicitly include stdio in utils
LivInTheLookingGlass Aug 5, 2024
a52b29f
make string checks a little more idiomatic
LivInTheLookingGlass Aug 5, 2024
d24c23e
correct copy error
LivInTheLookingGlass Aug 5, 2024
a86690e
first moves towards all test answers in one place
LivInTheLookingGlass Aug 5, 2024
0009558
try fetching C# answers from file
LivInTheLookingGlass Aug 5, 2024
0d3475e
fix eslint
LivInTheLookingGlass Aug 5, 2024
7b57d0e
fix syntax error
LivInTheLookingGlass Aug 5, 2024
73e9271
fix compilation errors
LivInTheLookingGlass Aug 5, 2024
6b096f4
dotnet format
LivInTheLookingGlass Aug 5, 2024
f45b994
more specific type handling in GetAnswer
LivInTheLookingGlass Aug 5, 2024
936ebe3
fix syntax error
LivInTheLookingGlass Aug 5, 2024
1e28d19
fix up errors caused by type tightening
LivInTheLookingGlass Aug 5, 2024
78de599
prep for eventual wasm packaging
LivInTheLookingGlass Aug 5, 2024
e1b6f0a
fix linting
LivInTheLookingGlass Aug 6, 2024
6ab90d7
Solve p13 in C++, C#, JS
LivInTheLookingGlass Aug 6, 2024
26ebfa0
Correct doc error
LivInTheLookingGlass Aug 6, 2024
867fa64
Solve p16 in rust
LivInTheLookingGlass Aug 6, 2024
41e45f1
Have C test runner refer to answers.csv
LivInTheLookingGlass Aug 6, 2024
a2a6566
Update README problems lists
LivInTheLookingGlass Aug 6, 2024
7e68ec9
fix linting
LivInTheLookingGlass Aug 6, 2024
3661ba0
solve p20 in rust
LivInTheLookingGlass Aug 6, 2024
d9a23df
solve p19 in rust
LivInTheLookingGlass Aug 6, 2024
9a5bbdb
add initial attempt at pyodide integratiom
LivInTheLookingGlass Aug 6, 2024
4d98b2f
Increase code coverage
LivInTheLookingGlass Aug 6, 2024
1dd25c7
Make function async
LivInTheLookingGlass Aug 6, 2024
0bbcea8
Fix up warnings
LivInTheLookingGlass Aug 6, 2024
f51486d
Load pyodide from cdn
LivInTheLookingGlass Aug 6, 2024
ff44098
Fix up compilation errors
LivInTheLookingGlass Aug 6, 2024
9e872d9
Fix up micropip usage
LivInTheLookingGlass Aug 6, 2024
9b03e76
Fix up pyodide usage
LivInTheLookingGlass Aug 6, 2024
0a3997e
Force load micropip
LivInTheLookingGlass Aug 6, 2024
984e76d
Add python test page to docs
LivInTheLookingGlass Aug 6, 2024
8fb8d5e
Suppress prints and add top-level run_problems() for pyodide
LivInTheLookingGlass Aug 6, 2024
939ce32
Tweak setup for test-py.html, linting
LivInTheLookingGlass Aug 6, 2024
29d6f4c
fix python version support
LivInTheLookingGlass Aug 7, 2024
6d8277f
minor tweak to trigger retest
LivInTheLookingGlass Aug 7, 2024
f1357fd
Attempt fix for test-py.html
LivInTheLookingGlass Aug 7, 2024
9fc06cf
Attempt fix for test-py.html
LivInTheLookingGlass Aug 7, 2024
5c5a3dd
Attempt fix for test-py.html (excluding io tests)
LivInTheLookingGlass Aug 7, 2024
cd090dd
Attempt fix for test-py.html (excluding io tests)
LivInTheLookingGlass Aug 7, 2024
61487b3
Attempt fix for test-py.html (excluding io tests)
LivInTheLookingGlass Aug 7, 2024
d1c7a60
Fix up webpack recipe
LivInTheLookingGlass Aug 7, 2024
b1304f2
Fix up webpack recipe
LivInTheLookingGlass Aug 7, 2024
09b3b90
Fix up webpack recipe [no ci]
LivInTheLookingGlass Aug 7, 2024
494f482
Fix up webpack recipe [no ci]
LivInTheLookingGlass Aug 7, 2024
93f7298
Rearrange test runner
LivInTheLookingGlass Aug 7, 2024
b18a6be
Try running _all_ problems in pyodide
LivInTheLookingGlass Aug 7, 2024
4883f1c
Update deprecated actions
LivInTheLookingGlass Aug 7, 2024
129a939
Split linters into separate jobs
LivInTheLookingGlass Aug 7, 2024
6f8f1db
Fix badge labels
LivInTheLookingGlass Aug 7, 2024
bebf82a
Work on pyodide test runner
LivInTheLookingGlass Aug 7, 2024
09b5979
Work on pyodide test runner
LivInTheLookingGlass Aug 7, 2024
94535ce
Work on pyodide test runner
LivInTheLookingGlass Aug 7, 2024
823f50a
Work on pyodide test runner
LivInTheLookingGlass Aug 7, 2024
e9ae5f9
Work on pyodide test runner
LivInTheLookingGlass Aug 7, 2024
b1310ae
Work on pyodide test runner
LivInTheLookingGlass Aug 7, 2024
77a0b00
Solve p20 in all languages
LivInTheLookingGlass Aug 7, 2024
4aaa8c2
Solve security warnings in C++
LivInTheLookingGlass Aug 7, 2024
db8511e
Move usage to separate file
LivInTheLookingGlass Aug 7, 2024
44c11d3
solve p7 in js
LivInTheLookingGlass Aug 8, 2024
e90b085
Solve p3 in js; fix linting
LivInTheLookingGlass Aug 8, 2024
93ceb27
Change rust return type to be an Answer enum
LivInTheLookingGlass Aug 8, 2024
c7c3c22
solve p10 in javascript
LivInTheLookingGlass Aug 9, 2024
e429852
Solve p16 in C++, C#, Js
LivInTheLookingGlass Aug 9, 2024
39568fb
Correct type errors
LivInTheLookingGlass Aug 9, 2024
b0c4e30
Update README
LivInTheLookingGlass Aug 9, 2024
fd44839
Correct width of array
LivInTheLookingGlass Aug 9, 2024
9cec474
Prep for java implementation [no ci]
LivInTheLookingGlass Aug 9, 2024
95de053
Initial attempt at Java support
LivInTheLookingGlass Aug 9, 2024
5703084
Solve many problems in java (22 is expected failure)
LivInTheLookingGlass Aug 9, 2024
a86573b
Update docs to be prettier
LivInTheLookingGlass Aug 10, 2024
f55dcf6
Fix Utilities.getAnswer()
LivInTheLookingGlass Aug 10, 2024
a9d9389
full trace on fail
LivInTheLookingGlass Aug 10, 2024
fcdee20
try using relative paths, fix recipes
LivInTheLookingGlass Aug 10, 2024
aa03b1c
Update license, makefiles + read files from uri
LivInTheLookingGlass Aug 10, 2024
21f6c29
fix workflows
LivInTheLookingGlass Aug 10, 2024
6a13648
help text if clean fails
LivInTheLookingGlass Aug 10, 2024
20e2d95
fix makefile
LivInTheLookingGlass Aug 10, 2024
47e6f21
update status table
LivInTheLookingGlass Aug 10, 2024
4339692
fix clean recipe
LivInTheLookingGlass Aug 11, 2024
f514856
make produces less extraneous output now
LivInTheLookingGlass Aug 11, 2024
efe12ca
More Makefile revamps
LivInTheLookingGlass Aug 11, 2024
bc3f128
fix test recipe
LivInTheLookingGlass Aug 11, 2024
89b5fce
fix native test runner recipe
LivInTheLookingGlass Aug 11, 2024
388766e
fix logic error
LivInTheLookingGlass Aug 11, 2024
25f5a8c
Solve p8, p11, p13 in java, update C# formatting + comment
LivInTheLookingGlass Aug 11, 2024
8841099
Fix docs recipe
LivInTheLookingGlass Aug 11, 2024
724ea93
Solve p14, p15, p16, p17 in Java
LivInTheLookingGlass Aug 11, 2024
b121fb9
Run the maven formatter
LivInTheLookingGlass Aug 11, 2024
4d336bb
Solve p20, p34, p76 in Java
LivInTheLookingGlass Aug 11, 2024
da5b476
Mark formatter as optional
LivInTheLookingGlass Aug 11, 2024
e712fc9
Try to make build work on versions not supported by format
LivInTheLookingGlass Aug 11, 2024
ef42dfc
Fix typo
LivInTheLookingGlass Aug 11, 2024
1f6e032
Try removing format from old jdk, test in parallel
LivInTheLookingGlass Aug 11, 2024
f6f251a
Fix several wide-to-narrow errors
LivInTheLookingGlass Aug 11, 2024
49201d4
disable p76 due to suspected problem
LivInTheLookingGlass Aug 11, 2024
633d455
fix p20 (java longs cannot be unsigned, so math was off)
LivInTheLookingGlass Aug 11, 2024
4a6ecc9
split build into separate step (long logs)
LivInTheLookingGlass Aug 12, 2024
9edbf32
Reenable p76, use int not byte
LivInTheLookingGlass Aug 12, 2024
82ace7d
fix config
LivInTheLookingGlass Aug 12, 2024
e48139a
Mark not slow
LivInTheLookingGlass Aug 12, 2024
6533ba6
Solve p27 in javascript, rust
LivInTheLookingGlass Aug 12, 2024
2b8b6b2
Correct type error
LivInTheLookingGlass Aug 12, 2024
1583754
Mark slow
LivInTheLookingGlass Aug 12, 2024
adb63bc
try expanding types detected
LivInTheLookingGlass Aug 13, 2024
cb91f8f
Revert "try expanding types detected"
LivInTheLookingGlass Aug 13, 2024
cd71118
try adding normalized graph
LivInTheLookingGlass Aug 13, 2024
d3beb00
fix logic error
LivInTheLookingGlass Aug 13, 2024
5998260
typo
LivInTheLookingGlass Aug 13, 2024
351bf03
don't try to pipe
LivInTheLookingGlass Aug 13, 2024
b4fd85b
.split()
LivInTheLookingGlass Aug 13, 2024
4799519
cast to float
LivInTheLookingGlass Aug 13, 2024
b9b4e7c
debug
LivInTheLookingGlass Aug 13, 2024
32b3677
debug
LivInTheLookingGlass Aug 13, 2024
925a18f
debug
LivInTheLookingGlass Aug 13, 2024
95053b5
rewrite find
LivInTheLookingGlass Aug 13, 2024
f2bf1dd
fix c++ detection
LivInTheLookingGlass Aug 13, 2024
00740b5
fix legend title
LivInTheLookingGlass Aug 13, 2024
f21b6d7
sort data
LivInTheLookingGlass Aug 13, 2024
af3b041
fix normalization
LivInTheLookingGlass Aug 13, 2024
4c96451
fix filter
LivInTheLookingGlass Aug 13, 2024
e4bcc5e
fix sorting
LivInTheLookingGlass Aug 13, 2024
bd2e795
Solve p35, 37, 41, 46 in js; solve some variable leakage
LivInTheLookingGlass Aug 13, 2024
0056631
Remove main call because they can't run standalone anymore
LivInTheLookingGlass Aug 13, 2024
15862ed
Rename answers, make types simplest possible
LivInTheLookingGlass Aug 13, 2024
f5e4392
Change titles
LivInTheLookingGlass Aug 13, 2024
a15f50a
More java versions (will prune later)
LivInTheLookingGlass Aug 13, 2024
5e1e094
Begin pruning
LivInTheLookingGlass Aug 13, 2024
edd56f5
Continue pruning
LivInTheLookingGlass Aug 13, 2024
23d6933
Continue pruning
LivInTheLookingGlass Aug 13, 2024
50e08b5
update Java version
LivInTheLookingGlass Aug 13, 2024
d1717e2
formatting
LivInTheLookingGlass Aug 13, 2024
b67eb1d
formatting
LivInTheLookingGlass Aug 13, 2024
23b01dd
Add all data files currently on site
LivInTheLookingGlass Aug 14, 2024
a7c82bd
Minor docs update
LivInTheLookingGlass Aug 14, 2024
f43269c
Enable optimization in testing
LivInTheLookingGlass Aug 14, 2024
e0512aa
Disable time checks on non-ubuntu platforms
LivInTheLookingGlass Aug 14, 2024
53e36c3
Clear compile warnings
LivInTheLookingGlass Aug 14, 2024
69abd22
Attempt to package rust for the browser
LivInTheLookingGlass Aug 14, 2024
6a23661
change conditional compile
LivInTheLookingGlass Aug 15, 2024
3142baa
attempt to fix test page
LivInTheLookingGlass Aug 15, 2024
e45bdbd
Fix compilation warnings, syntax error
LivInTheLookingGlass Aug 15, 2024
0ca9bcf
Fix some web changes
LivInTheLookingGlass Aug 15, 2024
6e6b391
Reorganize docs
LivInTheLookingGlass Aug 15, 2024
a4d6eb7
Port p25, p30 from dev (which is now mostly not needed)
LivInTheLookingGlass Aug 15, 2024
9287a3d
Update docs
LivInTheLookingGlass Aug 15, 2024
2ff9811
Simplify swap() macro
LivInTheLookingGlass Aug 15, 2024
245d41a
Update c/cplusplus docs
LivInTheLookingGlass Aug 15, 2024
7b1d193
Formatting
LivInTheLookingGlass Aug 15, 2024
d90b3da
Switch to explicit int types
LivInTheLookingGlass Aug 15, 2024
c9bbba9
fix compilation with fixed width types
LivInTheLookingGlass Aug 16, 2024
7c9d27c
make printf formatting portable
LivInTheLookingGlass Aug 16, 2024
d26ca7b
fix printf
LivInTheLookingGlass Aug 16, 2024
f3a6e32
fix printf
LivInTheLookingGlass Aug 16, 2024
d2f9c48
test sphinx-tags
LivInTheLookingGlass Aug 16, 2024
6bb2669
test tags further
LivInTheLookingGlass Aug 16, 2024
706bd12
Add tags to docs
LivInTheLookingGlass Aug 16, 2024
4a3e639
add metadata, fix c coverage in Makefile
LivInTheLookingGlass Aug 16, 2024
66389a6
Use canonical colors for languages
LivInTheLookingGlass Aug 16, 2024
84218f4
Fix canonical colors
LivInTheLookingGlass Aug 16, 2024
c399de2
Fix canonical colors
LivInTheLookingGlass Aug 16, 2024
b5f9af4
Correct colormap
LivInTheLookingGlass Aug 16, 2024
ed4aab7
Correct colormap
LivInTheLookingGlass Aug 16, 2024
f6b1377
Correct colormap
LivInTheLookingGlass Aug 16, 2024
a056c50
Make C++ file io more idiomatic
LivInTheLookingGlass Aug 16, 2024
516b47d
Ignore lib.rs because codecov is seriously getting that file wrong
LivInTheLookingGlass Aug 16, 2024
090899e
Solve p19 in js
LivInTheLookingGlass Aug 16, 2024
d74682b
Solve p19 in c, c++
LivInTheLookingGlass Aug 16, 2024
de8d16f
Correct c++ header
LivInTheLookingGlass Aug 16, 2024
45f0c8d
Correct windows-only error
LivInTheLookingGlass Aug 16, 2024
a498ff2
Correct windows-only error
LivInTheLookingGlass Aug 16, 2024
2cae621
narrow types where possible
LivInTheLookingGlass Aug 17, 2024
f5955f1
Update test files to support multiple types
LivInTheLookingGlass Aug 17, 2024
27b8a60
Have native test runners consume answers.tsv
LivInTheLookingGlass Aug 17, 2024
1566dfc
Correct C++ normalization
LivInTheLookingGlass Aug 17, 2024
0c488cd
add native_test
LivInTheLookingGlass Aug 18, 2024
f3083f2
fix windows compile error
LivInTheLookingGlass Aug 18, 2024
57343de
fix windows compilation error
LivInTheLookingGlass Aug 18, 2024
4b47062
fix windows compilation error
LivInTheLookingGlass Aug 18, 2024
265cef2
fix windows compilation error
LivInTheLookingGlass Aug 18, 2024
2cf68e0
fix windows compilation error
LivInTheLookingGlass Aug 18, 2024
8b07d0d
fix windows compilation errors
LivInTheLookingGlass Aug 18, 2024
c3bdc24
fix windows compilation error
LivInTheLookingGlass Aug 18, 2024
9b9a044
fix windows compilation issue
LivInTheLookingGlass Aug 18, 2024
a975366
disable native runner on windows
LivInTheLookingGlass Aug 18, 2024
356af62
update docs re: windows compilation errors
LivInTheLookingGlass Aug 18, 2024
345618f
Revamp includes sections
LivInTheLookingGlass Aug 19, 2024
4d07762
Solve p19 in Java, C#
LivInTheLookingGlass Aug 19, 2024
66bf210
Fix typos
LivInTheLookingGlass Aug 19, 2024
85ce1cb
Clear security problems
LivInTheLookingGlass Aug 19, 2024
3275e9c
Correct month range
LivInTheLookingGlass Aug 19, 2024
b37eeb6
revamp includes sections, squash warnings
LivInTheLookingGlass Aug 20, 2024
5320078
tweak some settings, add notes
LivInTheLookingGlass Aug 20, 2024
04649d9
Prep for emscripten distribution
LivInTheLookingGlass Aug 20, 2024
e2dae7d
fix macro test
LivInTheLookingGlass Aug 20, 2024
68a11c2
Prep for emscripten distribution
LivInTheLookingGlass Aug 20, 2024
5b2845f
Fix readme
LivInTheLookingGlass Aug 20, 2024
65500f3
Fix includes
LivInTheLookingGlass Aug 20, 2024
0a87525
Fix macro def
LivInTheLookingGlass Aug 20, 2024
28f730b
Fix readme
LivInTheLookingGlass Aug 20, 2024
aba42a5
Comment out pre-production docs
LivInTheLookingGlass Aug 20, 2024
83f4334
Change test order to (hopefully) fix coverage
LivInTheLookingGlass Aug 20, 2024
36d1a3e
Compile to WebAssembly (experimental)
LivInTheLookingGlass Aug 21, 2024
382ccdc
fix typo
LivInTheLookingGlass Aug 21, 2024
34edba6
fix Makefile targets
LivInTheLookingGlass Aug 21, 2024
af1ff95
fix emscripten executable
LivInTheLookingGlass Aug 21, 2024
26f0c31
switch install method
LivInTheLookingGlass Aug 21, 2024
07dfe35
not parallel
LivInTheLookingGlass Aug 21, 2024
626b8ff
add web test runners (experimental)
LivInTheLookingGlass Aug 21, 2024
2c21389
fix typo
LivInTheLookingGlass Aug 21, 2024
2282d30
Correct script typo
LivInTheLookingGlass Aug 21, 2024
91bb275
Make in a subdir
LivInTheLookingGlass Aug 21, 2024
8d3a4cb
Correct output names
LivInTheLookingGlass Aug 21, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
51 changes: 51 additions & 0 deletions .codecov.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
ignore:
- "rust/src/lib.rs" # codecov seriously screws this one up, and thinks it has >1k lines despite having ~60

component_management:
default_rules: # default rules that will be inherited by all components
statuses:
- type: project # in this case every component that doens't have a status defined will have a project type one
target: auto
branches:
- "!main"
individual_components:
- component_id: module_c # this is an identifier that should not be changed
name: C # this is a display name, and can be changed freely
paths:
- c/**
- component_id: module_cplusplus
name: C++
paths:
- cplusplus/**
- component_id: module_csharp
name: C#
paths:
- csharp/**
- component_id: module_java
name: Java
paths:
- java/**
- component_id: module_javascript
name: JavaScript
paths:
- javascript/**
- component_id: module_python
name: Python
paths:
- python/**
- component_id: module_rust
name: Rust
paths:
- rust/**
flag_management:
default_rules: # the rules that will be followed for any flag added, generally
carryforward: true
individual_flags:
- name: C
carryforward: true
paths:
- c/**
- name: Cpp
carryforward: true
paths:
- cplusplus/**
11 changes: 11 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,2 +1,13 @@
c/Unity/* linguist-vendored
c/wasi-libc/* linguist-vendored
cplusplus/Unity/* linguist-vendored

c/*.c linguist-language=c
c/*.h linguist-language=c
c/*/*.c linguist-language=c
c/*/*.h linguist-language=c

cplusplus/*.cpp linguist-language=c++
cplusplus/*.hpp linguist-language=c++
cplusplus/*/*.cpp linguist-language=c++
cplusplus/*/*.hpp linguist-language=c++
30 changes: 30 additions & 0 deletions .github/workflows/c-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: C Lint

on:
push:
paths:
- 'c/**'
- '!c/README.rst'
schedule:
- cron: "0 0 1 * *"

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
c-lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true

- name: Setup clang-tidy
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: clang-tidy
version: 1.0

- name: Run tests
run: make c_lint
92 changes: 92 additions & 0 deletions .github/workflows/c.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
name: C

on:
push:
paths:
- 'c/**'
- '!c/README.rst'
schedule:
- cron: "0 0 1 * *"

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
c:
strategy:
fail-fast: false
matrix:
os: [windows-latest, macos-latest, macos-13, 'ubuntu-20.04']
compiler: ['all']
include:
- os: ubuntu-latest
compiler: clang
- os: ubuntu-latest
compiler: gcc
- os: ubuntu-latest
compiler: tcc
- os: ubuntu-latest
compiler: pcc
runs-on: ${{ matrix.os }}

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

- name: Use Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"
cache-dependency-path: '*/requirements.txt'

- name: Setup compiler
uses: awalsh128/cache-apt-pkgs-action@latest
if: ${{ matrix.os == 'ubuntu-latest' }}
with:
packages: ${{ matrix.compiler }}
version: ${{ matrix.compiler }}

- name: Setup MSVC
uses: aminya/setup-cpp@v1
if: ${{ contains(matrix.os, 'windows') }}
with:
compiler: msvc
vcvarsall: true

- name: Run tests (native runner)
if: ${{ !contains(matrix.os, 'windows') }}
run: make c_native_test

- name: Run tests (ubuntu-latest)
if: ${{ matrix.os == 'ubuntu-latest' }}
run: make c_test COV=true COMPILER_OVERRIDE=${{ matrix.compiler }} NO_CLEANUP=true

# - name: Setup upterm session
# uses: lhotari/action-upterm@v1
# if: ${{ matrix.os == 'ubuntu-latest' }}
# with:
# ## limits ssh access and adds the ssh public key for the user which triggered the workflow
# limit-access-to-actor: true

- name: Run tests (ubuntu lts)
if: ${{ contains(matrix.os, 'ubuntu') && matrix.os != 'ubuntu-latest' }}
run: make c_test_auto

- name: Run tests (windows)
if: ${{ contains(matrix.os, 'windows') }}
run: make c_test_auto

- name: Run tests (macos)
if: ${{ contains(matrix.os, 'macos') }}
run: make c_test_auto
env:
NO_OPTIONAL_TESTS: true
COMPILER_OVERRIDE: clang

- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v4.0.1
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: C
119 changes: 119 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

on:
push:
paths:
- 'c/**'
- 'cplusplus/**'
- 'csharp/**'
- 'java/**'
- 'javascript/**'
- 'python/**'
- '!*/README.rst'
pull_request:
schedule:
- cron: '29 10 * * 4'

jobs:
analyze:
name: Analyze (${{ matrix.name }})
# Runner size impacts CodeQL analysis time. To learn more, please see:
# - https://gh.io/recommended-hardware-resources-for-running-codeql
# - https://gh.io/supported-runners-and-hardware-resources
# - https://gh.io/using-larger-runners (GitHub.com only)
# Consider using larger runners or machines with greater resources for possible analysis time improvements.
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
permissions:
# required for all workflows
security-events: write
# required to fetch internal or private CodeQL packs
packages: read
# only required for workflows in private repositories
actions: read
contents: read

strategy:
fail-fast: false
matrix:
include:
- name: c
language: c-cpp
build-mode: manual
- name: cpp
language: c-cpp
build-mode: manual
- name: csharp
language: csharp
build-mode: none
- name: java
language: java-kotlin
build-mode: none
- name: javascript
language: javascript-typescript
build-mode: none
- name: python
language: python
build-mode: none
# CodeQL supports the following values keywords for 'language': 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift'
# Use `c-cpp` to analyze code written in C, C++ or both
# Use 'java-kotlin' to analyze code written in Java, Kotlin or both
# Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
# To learn more about changing the languages that are analyzed or customizing the build mode for your analysis,
# see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.
# If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: ${{ matrix.language == 'c-cpp' }}

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.

# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality

# If the analyze step fails for one of the languages you are analyzing with
# "We were unable to automatically build your code", modify the matrix above
# to set the build mode to "manual" for that language. Then modify this step
# to build your code.
# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
- if: matrix.build-mode == 'manual' && matrix.name == 'c'
shell: bash
run: |
make c_native

- if: matrix.build-mode == 'manual' && matrix.name == 'cpp'
shell: bash
run: |
make cp_native

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"
30 changes: 30 additions & 0 deletions .github/workflows/cplusplus-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: "C++ Lint"

on:
push:
paths:
- 'cplusplus/**'
- '!cplusplus/README.rst'
schedule:
- cron: "0 0 1 * *"

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
cpp-lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true

- name: Setup clang-tidy
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: clang-tidy
version: 1.0

- name: Run tests
run: make cp_lint
Loading
Loading