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

Master -> Dev #24

Closed
wants to merge 334 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
334 commits
Select commit Hold shift + click to select a range
2c59cb8
Temporarily disable js
LivInTheLookingGlass Jul 1, 2024
a2da1e6
Enable sphinx-git, upgrade sphinx version
LivInTheLookingGlass Jul 1, 2024
1829ed5
Make sure git is installed
LivInTheLookingGlass Jul 1, 2024
8e427cf
remove sphinx-git
LivInTheLookingGlass Jul 1, 2024
bf9b1fa
attempt to correct file path
LivInTheLookingGlass Jul 1, 2024
f7c362c
Try c build again :(
LivInTheLookingGlass Jul 1, 2024
c1bf2fc
Maybe libclang will fix it?
LivInTheLookingGlass Jul 1, 2024
e7acb0e
Try building like sphinx-c-autodoc does
LivInTheLookingGlass Jul 1, 2024
fea2a67
Try building like sphinx-c-autodoc does (2)
LivInTheLookingGlass Jul 1, 2024
0387e8c
Try building like sphinx-c-autodoc does (3)
LivInTheLookingGlass Jul 1, 2024
2c02b52
Try building like sphinx-c-autodoc does (4)
LivInTheLookingGlass Jul 1, 2024
82af274
Install python3-clang from apt
LivInTheLookingGlass Jul 1, 2024
9a100fe
maybe libclang will fix it?
LivInTheLookingGlass Jul 1, 2024
b39a0e8
Try hawkmoth instead (2)
LivInTheLookingGlass Jul 1, 2024
b839fe9
Try using system python
LivInTheLookingGlass Jul 1, 2024
d82850e
Try installing more system packages
LivInTheLookingGlass Jul 1, 2024
bf2945a
Add clang back to requirements
LivInTheLookingGlass Jul 1, 2024
3146034
Set clang binding version
LivInTheLookingGlass Jul 1, 2024
64c7435
Debug commit
LivInTheLookingGlass Jul 1, 2024
d9a235b
Try hardcoding libclang.so path
LivInTheLookingGlass Jul 1, 2024
86422c9
Try a different libclang.so path
LivInTheLookingGlass Jul 1, 2024
cd6a9c5
Enable js docs, disable failing c docs
LivInTheLookingGlass Jul 1, 2024
9435d43
Make linter happy
LivInTheLookingGlass Jul 1, 2024
da1ff77
Fix jsdoc installation [no ci]
LivInTheLookingGlass Jul 1, 2024
8b4fe78
Allow workflow dispatch [no ci]
LivInTheLookingGlass Jul 1, 2024
52ca506
Try moving where jsdoc is installed [no ci]
LivInTheLookingGlass Jul 1, 2024
2b175d4
Fix linter
LivInTheLookingGlass Jul 1, 2024
3c7faf6
Use filters to only sometimes trigger workflows
LivInTheLookingGlass Jul 1, 2024
45e8f5e
JSDoc is so picky
LivInTheLookingGlass Jul 1, 2024
a5d2c65
fix make command
LivInTheLookingGlass Jul 1, 2024
d9a8833
Merge usage, index
LivInTheLookingGlass Jul 1, 2024
ad97795
Change header type
LivInTheLookingGlass Jul 1, 2024
178c9ae
Update readme, add parallel testing
LivInTheLookingGlass Jul 1, 2024
17f52ae
enable hawkmoth again [no ci]
LivInTheLookingGlass Jul 2, 2024
e5e05e4
Enable barebones csharp docs
LivInTheLookingGlass Jul 2, 2024
914ae22
Continue documentation efforts
LivInTheLookingGlass Jul 2, 2024
16bdadd
interface -> class
LivInTheLookingGlass Jul 2, 2024
3fa500d
fix signture, more literalincludes
LivInTheLookingGlass Jul 2, 2024
63d8fcd
add make clean (experimental)
LivInTheLookingGlass Jul 2, 2024
474ccf5
fix version
LivInTheLookingGlass Jul 2, 2024
3d84fa6
more literalincludes
LivInTheLookingGlass Jul 2, 2024
68acf52
Add initial rust implementation
LivInTheLookingGlass Jul 3, 2024
5139e45
try slightly different syntax
LivInTheLookingGlass Jul 3, 2024
bb34943
fix workflow
LivInTheLookingGlass Jul 3, 2024
c41afe6
fix file filter
LivInTheLookingGlass Jul 3, 2024
1371965
test many more rust versions
LivInTheLookingGlass Jul 3, 2024
0495a02
even more rust versions
LivInTheLookingGlass Jul 3, 2024
5567120
fix rust version
LivInTheLookingGlass Jul 3, 2024
40ebc9f
try including more rust docs
LivInTheLookingGlass Jul 3, 2024
9b2dce0
typo
LivInTheLookingGlass Jul 3, 2024
531f821
try more csharp versions
LivInTheLookingGlass Jul 3, 2024
16e465b
more csharp versions
LivInTheLookingGlass Jul 3, 2024
4fe2806
limit to 2+
LivInTheLookingGlass Jul 3, 2024
af3b8ef
switch to globs
LivInTheLookingGlass Jul 3, 2024
b6cf7f5
try using package name
LivInTheLookingGlass Jul 3, 2024
5558bf1
fill in some C gaps
LivInTheLookingGlass Jul 3, 2024
df7b626
make rust test code more robust
LivInTheLookingGlass Jul 3, 2024
a21a5c5
Closes #25
LivInTheLookingGlass Jul 3, 2024
282147d
Create rust-clippy.yml
LivInTheLookingGlass Jul 3, 2024
531291a
Create eslint.yml
LivInTheLookingGlass Jul 3, 2024
b2b2308
correct a path
LivInTheLookingGlass Jul 3, 2024
ed446a3
fix a path
LivInTheLookingGlass Jul 3, 2024
cac466f
add dependency
LivInTheLookingGlass Jul 3, 2024
e5ab1d8
Port Javascript solution to rust, c#
LivInTheLookingGlass Jul 3, 2024
ef66bb2
fix rust tests
LivInTheLookingGlass Jul 4, 2024
5a96805
fix rust-clippy target
LivInTheLookingGlass Jul 4, 2024
4e3df40
fix target, disable continue-on-error
LivInTheLookingGlass Jul 4, 2024
27075e9
cache apt packages, fix rust compile for docs (hopefully)
LivInTheLookingGlass Jul 4, 2024
2f1ad11
cache clang-tidy
LivInTheLookingGlass Jul 4, 2024
91c289d
attempt makefile docs
LivInTheLookingGlass Jul 5, 2024
665edac
add missed requirement
LivInTheLookingGlass Jul 5, 2024
5eadda5
More Makefile docs
LivInTheLookingGlass Jul 5, 2024
10b4434
link syntax
LivInTheLookingGlass Jul 5, 2024
da8659e
More makefile docs
LivInTheLookingGlass Jul 5, 2024
0e569a4
don't include readme makefile section
LivInTheLookingGlass Jul 5, 2024
cd5661c
try different include parameters
LivInTheLookingGlass Jul 5, 2024
12700b0
Update Makefile prefix system, more docs
LivInTheLookingGlass Jul 5, 2024
570374e
Update workflows to new Makefile prefixes
LivInTheLookingGlass Jul 5, 2024
414edc4
Update to new prefix system [no ci]
LivInTheLookingGlass Jul 5, 2024
e73019a
fix a missed prefix
LivInTheLookingGlass Jul 5, 2024
b355d47
Change to new prrefix
LivInTheLookingGlass Jul 5, 2024
2eff01f
try adding rust_crates
LivInTheLookingGlass Jul 5, 2024
063bb1f
More C documentation
LivInTheLookingGlass Jul 6, 2024
3603ec3
Remove outdated termux fix
LivInTheLookingGlass Jul 6, 2024
7b88b02
Fix mypy linting, add coverage plugin
LivInTheLookingGlass Jul 6, 2024
b462934
Add coverage support
LivInTheLookingGlass Jul 6, 2024
91a2e1c
Addvdoverage reporting
LivInTheLookingGlass Jul 6, 2024
c51e249
fix rust syntax
LivInTheLookingGlass Jul 6, 2024
27bcaa2
make sure it tests AND lints
LivInTheLookingGlass Jul 7, 2024
0c672b3
try adding coverage
LivInTheLookingGlass Jul 7, 2024
5b6955b
add coverage hooks
LivInTheLookingGlass Jul 7, 2024
e41e4be
distinguish between nightly and rest
LivInTheLookingGlass Jul 7, 2024
3c090e6
add codecov.yaml
LivInTheLookingGlass Jul 7, 2024
838c6c7
switch to shell expansion
LivInTheLookingGlass Jul 7, 2024
e9a4c50
install python deps
LivInTheLookingGlass Jul 7, 2024
5cb8a08
try different workflow for coverage
LivInTheLookingGlass Jul 7, 2024
703a0b5
add coverage details
LivInTheLookingGlass Jul 7, 2024
4c2e5e5
detect if coverage is wanted
LivInTheLookingGlass Jul 7, 2024
6116274
fail-fast
LivInTheLookingGlass Jul 7, 2024
4989929
remove file filters, try to get C reporting up
LivInTheLookingGlass Jul 7, 2024
ae05fa9
disable benchmarks when parallel
LivInTheLookingGlass Jul 7, 2024
5c3282f
move image
LivInTheLookingGlass Jul 7, 2024
31f2afa
Fix Makefile docs
LivInTheLookingGlass Jul 7, 2024
404a082
fix typo
LivInTheLookingGlass Jul 7, 2024
0cdc6d3
remove system rust, cargo
LivInTheLookingGlass Jul 7, 2024
59e6d49
disable graalpy benchmarks, linting
LivInTheLookingGlass Jul 7, 2024
bfe04ab
fix conditional
LivInTheLookingGlass Jul 7, 2024
035f8d0
Add scheduled runs (first of each month)
LivInTheLookingGlass Jul 7, 2024
afe606f
use less common runners to get queued sooner
LivInTheLookingGlass Jul 7, 2024
057d05e
Begin problems table
LivInTheLookingGlass Jul 7, 2024
39b7733
package typo
LivInTheLookingGlass Jul 7, 2024
b83063f
fix schedule
LivInTheLookingGlass Jul 7, 2024
48f5c66
attempt to fox table
LivInTheLookingGlass Jul 7, 2024
672c043
rename job
LivInTheLookingGlass Jul 7, 2024
98cc0e0
add external references
LivInTheLookingGlass Jul 7, 2024
7f8028b
try to force rust version
LivInTheLookingGlass Jul 7, 2024
b25b842
fix external link format
LivInTheLookingGlass Jul 7, 2024
f730a3c
try to fix grcov
LivInTheLookingGlass Jul 7, 2024
b480470
fix unnecessary escape
LivInTheLookingGlass Jul 7, 2024
9e28890
disable coverage for graalpy (too slow)
LivInTheLookingGlass Jul 7, 2024
3ad1704
remove unsupported versions, fix grcov
LivInTheLookingGlass Jul 7, 2024
9abf95c
update version
LivInTheLookingGlass Jul 7, 2024
dfdeee6
Update rust version
LivInTheLookingGlass Jul 7, 2024
4c71e31
update rust version (again)
LivInTheLookingGlass Jul 7, 2024
87c1815
Compress table more
LivInTheLookingGlass Jul 7, 2024
7ed67a3
Add bcd_int docs
LivInTheLookingGlass Jul 7, 2024
80c6109
Make catch general
LivInTheLookingGlass Jul 7, 2024
2f0f3f6
Add primes docs
LivInTheLookingGlass Jul 7, 2024
39a606c
Add math docs
LivInTheLookingGlass Jul 7, 2024
0f30305
Add macros documentation
LivInTheLookingGlass Jul 7, 2024
ff3f8a2
Add digits, fibonacci
LivInTheLookingGlass Jul 7, 2024
9205a06
Split types as advised by rust-clippy
LivInTheLookingGlass Jul 7, 2024
867a8de
Make rust-clippy fix paths
LivInTheLookingGlass Jul 7, 2024
125042b
Fix type error, include modules dynamically
LivInTheLookingGlass Jul 8, 2024
a5f0c0d
More progress on C documentation
LivInTheLookingGlass Jul 8, 2024
4e0a2a7
Add custom rust domain, fix macro
LivInTheLookingGlass Jul 8, 2024
e3aa388
remove sphinx_rust
LivInTheLookingGlass Jul 8, 2024
ed81ac7
remove rust comment
LivInTheLookingGlass Jul 8, 2024
e5927df
style changes
LivInTheLookingGlass Jul 8, 2024
03513b9
Add partial rust prime infrastructure
LivInTheLookingGlass Jul 9, 2024
920ec6a
add in progress mark
LivInTheLookingGlass Jul 9, 2024
6d1710a
more ignore patterns
LivInTheLookingGlass Jul 9, 2024
aa76777
Lots of doc improvements
LivInTheLookingGlass Jul 7, 2024
e003029
Center only one table
LivInTheLookingGlass Jul 10, 2024
2b6e2e6
Add help to Makefile
LivInTheLookingGlass Jul 11, 2024
6bd9be4
Merge branch 'master' of https://github.com/LivInTheLookingGlass/Euler
LivInTheLookingGlass Jul 11, 2024
fc02b4c
only deploy pages on main branch
LivInTheLookingGlass Jul 12, 2024
8615339
remove removed make recipes
LivInTheLookingGlass Jul 12, 2024
86a4ca3
add final prime infrastructure
LivInTheLookingGlass Jul 12, 2024
499a6c8
add limit, primes docs
LivInTheLookingGlass Jul 12, 2024
3e98e2e
fix typo
LivInTheLookingGlass Jul 12, 2024
5b93ce0
add helper methods w/ shorter names, proper_divisors()
LivInTheLookingGlass Jul 12, 2024
e5b8934
Add solution for problem 3
LivInTheLookingGlass Jul 12, 2024
33d3ddf
More test versions, fix import issue
LivInTheLookingGlass Jul 12, 2024
5179dda
Fix typing
LivInTheLookingGlass Jul 12, 2024
48f5ce5
Add more docs
LivInTheLookingGlass Jul 12, 2024
ee8c293
Attempt to correct analysis paths
LivInTheLookingGlass Jul 12, 2024
fd16fea
Fix typing (again)
LivInTheLookingGlass Jul 12, 2024
753bd1e
Fix typing (again^2)
LivInTheLookingGlass Jul 12, 2024
0aa2e1b
Fix typing (again^3)
LivInTheLookingGlass Jul 12, 2024
31f32a5
Why would you suggest using :: if you want me to use . ???
LivInTheLookingGlass Jul 12, 2024
5ac2204
Fix several clippy warnings
LivInTheLookingGlass Jul 12, 2024
822791a
Update rust general info
LivInTheLookingGlass Jul 12, 2024
5c4161e
clippy was wrong/insufficiently detailed
LivInTheLookingGlass Jul 12, 2024
b6f1f1e
remove unnecessary filter
LivInTheLookingGlass Jul 12, 2024
af7fce2
Coverage not actually working
LivInTheLookingGlass Jul 12, 2024
b55674e
Add some other utility functions found in C solutions
LivInTheLookingGlass Jul 12, 2024
bfcb979
typo
LivInTheLookingGlass Jul 12, 2024
c5d3a1b
add additional pypy versions
LivInTheLookingGlass Jul 12, 2024
7674588
attempt to still test pypy3.[67]
LivInTheLookingGlass Jul 12, 2024
4e83452
add forgotten inline flag
LivInTheLookingGlass Jul 12, 2024
708edc1
maybe parallel testing was optimistic on pypy that old
LivInTheLookingGlass Jul 12, 2024
2bec19e
update supported pypy version
LivInTheLookingGlass Jul 12, 2024
2330d42
solve problem 7 in rust
LivInTheLookingGlass Jul 14, 2024
26ed5d7
Make prime infrastructure generic
LivInTheLookingGlass Jul 14, 2024
452b316
Fix typo in main, p0007, solve p0010
LivInTheLookingGlass Jul 14, 2024
7f2f097
remove total field, as it just adds clutter
LivInTheLookingGlass Jul 14, 2024
328dafe
solve p0004 in rust, update documentation
LivInTheLookingGlass Jul 14, 2024
a55966b
add forgotten file, fix table
LivInTheLookingGlass Jul 14, 2024
85300a7
solve problem 5 in rust
LivInTheLookingGlass Jul 14, 2024
94463a2
attempt to add language graph
LivInTheLookingGlass Jul 15, 2024
ca29fc2
sudo
LivInTheLookingGlass Jul 15, 2024
e658385
fix import name
LivInTheLookingGlass Jul 15, 2024
8fed4b8
make graph transparent, disable on termux
LivInTheLookingGlass Jul 15, 2024
b3a23f4
move graph location
LivInTheLookingGlass Jul 15, 2024
156b152
add legend
LivInTheLookingGlass Jul 15, 2024
007a744
adjust legend
LivInTheLookingGlass Jul 15, 2024
db9ee53
try to remove inline labels
LivInTheLookingGlass Jul 15, 2024
3869b34
move legend
LivInTheLookingGlass Jul 15, 2024
57f96b6
Add debug step for coverage reporting
LivInTheLookingGlass Jul 15, 2024
e6d0812
Try output file argument
LivInTheLookingGlass Jul 15, 2024
af95827
Try installing coverage.py
LivInTheLookingGlass Jul 15, 2024
85598ab
Spam different coverage report types in hopes any of them work
LivInTheLookingGlass Jul 15, 2024
158e279
Add forgotten argument
LivInTheLookingGlass Jul 15, 2024
0411403
attempt to enable c-sharp coverage, clean up rust
LivInTheLookingGlass Jul 15, 2024
38f5269
move coverage results somewhere discoverable
LivInTheLookingGlass Jul 15, 2024
c4669ef
add debug step
LivInTheLookingGlass Jul 15, 2024
ba136cc
fix conditional
LivInTheLookingGlass Jul 15, 2024
009eb53
attempt filename fix
LivInTheLookingGlass Jul 15, 2024
8114db7
typo
LivInTheLookingGlass Jul 15, 2024
1dff969
adjust table, graph position
LivInTheLookingGlass Jul 16, 2024
3c8b598
adjust percent label distance
LivInTheLookingGlass Jul 16, 2024
0e48f09
put legened back in box
LivInTheLookingGlass Jul 16, 2024
8665754
Add python beta
LivInTheLookingGlass Jul 16, 2024
1337d87
Add favicons from Project Euler
LivInTheLookingGlass Jul 16, 2024
4c8c7a8
add missed requirement
LivInTheLookingGlass Jul 16, 2024
fd5eeda
fix import (hopefully)
LivInTheLookingGlass Jul 16, 2024
cddab7d
fix import
LivInTheLookingGlass Jul 17, 2024
807499a
remove python beta
LivInTheLookingGlass Jul 17, 2024
34abf3d
Add roadmap [no ci]
LivInTheLookingGlass Jul 18, 2024
8a58d06
solve p0006 in rust
LivInTheLookingGlass Jul 18, 2024
3637e3e
Add docs for new rust solutions
LivInTheLookingGlass Jul 18, 2024
44a0b7f
Solve problems 8, 9 in rust
LivInTheLookingGlass Jul 18, 2024
4c1cf35
Update count
LivInTheLookingGlass Jul 18, 2024
96b12f3
Add type info
LivInTheLookingGlass Jul 18, 2024
e7c3b9c
Attempt legend placement fix
LivInTheLookingGlass Jul 18, 2024
71b428e
Don't run tests if only docs change
LivInTheLookingGlass Jul 18, 2024
a4aefd3
Change type of c
LivInTheLookingGlass Jul 18, 2024
4ba5756
Correct location
LivInTheLookingGlass Jul 18, 2024
58b1076
Correct type to not truncate info or raise errors
LivInTheLookingGlass Jul 18, 2024
6bcbe7c
Let's try that relocation again
LivInTheLookingGlass Jul 18, 2024
5da15c3
Let's try that relocation again^2
LivInTheLookingGlass Jul 18, 2024
6df28b3
Let's try that relocation again^3
LivInTheLookingGlass Jul 18, 2024
395b958
Add titles for figures
LivInTheLookingGlass Jul 18, 2024
43327bb
Change answer type to i128 in anticipation of prob 27, constrain othe…
LivInTheLookingGlass Jul 18, 2024
0bf99db
Fix various type errors
LivInTheLookingGlass Jul 18, 2024
26d06f3
Fix type inference error
LivInTheLookingGlass Jul 18, 2024
7980c6a
Fix overflows
LivInTheLookingGlass Jul 18, 2024
666a544
Fix type error
LivInTheLookingGlass Jul 18, 2024
6a7c468
solve problems 6, 8, 9 in JavaScript
LivInTheLookingGlass Jul 19, 2024
a5710fc
global `make test` will no longer fail on termux
LivInTheLookingGlass Jul 19, 2024
86290c4
Fix timeout, doc gen errors
LivInTheLookingGlass Jul 19, 2024
7c31f1f
Solve problems 6, 8, 9 in C#
LivInTheLookingGlass Jul 19, 2024
4f72a39
`dotnet format`
LivInTheLookingGlass Jul 19, 2024
c44c28c
Add standards variation testing
LivInTheLookingGlass Jul 19, 2024
611aca8
Add a starting C++ solution
LivInTheLookingGlass Jul 19, 2024
30123b2
Add C# solution for problem 4
LivInTheLookingGlass Jul 19, 2024
4f3764e
Correct makefile error
LivInTheLookingGlass Jul 19, 2024
f848f79
Remove test_deterministic_build
LivInTheLookingGlass Jul 19, 2024
3283ce3
Fix malformed table
LivInTheLookingGlass Jul 19, 2024
397a0eb
`dotnet format`
LivInTheLookingGlass Jul 19, 2024
37027d7
Fix COMPILER_OVERRIDE variables, C++ lint
LivInTheLookingGlass Jul 19, 2024
a465920
Fix more makefile references
LivInTheLookingGlass Jul 19, 2024
a157716
Remove ubuntu-20.04, unused compilers
LivInTheLookingGlass Jul 19, 2024
686ba3f
Update READMEs, add to filter, split off python-lint
LivInTheLookingGlass Jul 19, 2024
f7da933
fix command
LivInTheLookingGlass Jul 19, 2024
cd8ed70
update table line layout
LivInTheLookingGlass Jul 19, 2024
16d4eb2
reorder compilers
LivInTheLookingGlass Jul 19, 2024
22bc13e
try to make code enforce nowrap
LivInTheLookingGlass Jul 20, 2024
13fcf3c
add solution 2 in C++, tweak docs
LivInTheLookingGlass Jul 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
96 changes: 96 additions & 0 deletions .github/workflows/c.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
name: C

on:
push:
paths-ignore:
- 'docs/**'
- 'README.rst'
- '**/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@v3
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

c:
strategy:
fail-fast: false
matrix:
# compiler: ["llvm", "gcc"]
# # compiler targets (ideally): clang, gcc, MSVCC, pcc, tcc, icc,
os: [ubuntu-latest, windows-latest, macos-latest, macos-13, 'ubuntu-20.04']
# include:
# - os: windows-latest
# compiler: msvc
# - os: windows-latest
# compiler: mingw
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v3
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 tcc, pcc
uses: awalsh128/cache-apt-pkgs-action@latest
if: ${{ matrix.os == 'ubuntu-latest' }}
with:
packages: tcc pcc
version: 1.0

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

# - name: Set up MinGW
# if: ${{ contains(matrix.os, 'windows') }}
# uses: egor-tensin/setup-mingw@v2
# with:
# platform: x64

- name: Run tests (linux)
if: ${{ contains(matrix.os, 'ubuntu') }}
run: make c_test${{ (matrix.os != 'ubuntu-latest' && '_auto') || '' }} COV=true

- 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/[email protected]
with:
token: ${{ secrets.CODECOV_TOKEN }}
102 changes: 102 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
# 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-ignore:
- 'docs/**'
- 'README.rst'
- '**/README.rst'
branches: [ "master" ]
pull_request:
branches: [ "master" ]
schedule:
- cron: '29 10 * * 4'

jobs:
analyze:
name: Analyze (${{ matrix.language }})
# 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:
- language: c-cpp
build-mode: manual
- language: csharp
build-mode: none
- language: javascript-typescript
build-mode: none
- 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.language == 'c-cpp'
shell: bash
run: |
make c_native

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

on:
push:
paths-ignore:
- 'docs/**'
- 'README.rst'
- '**/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@v3
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

cpp:
strategy:
fail-fast: false
matrix:
# compiler: ["llvm", "gcc"]
# # compiler targets (ideally): clang, gcc, MSVCC, icc,
os: [ubuntu-latest, windows-latest, macos-latest, macos-13]
# include:
# - os: windows-latest
# compiler: msvc
# - os: windows-latest
# compiler: mingw
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v3
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 MSVC
uses: aminya/setup-cpp@v1
if: ${{ contains(matrix.os, 'windows') }}
with:
compiler: msvc
vcvarsall: true

# - name: Set up MinGW
# if: ${{ contains(matrix.os, 'windows') }}
# uses: egor-tensin/setup-mingw@v2
# with:
# platform: x64

- name: Run tests (linux)
if: ${{ contains(matrix.os, 'ubuntu') }}
run: make cp_test COV=true

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

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

- name: Upload coverage reports to Codecov
uses: codecov/[email protected]
with:
token: ${{ secrets.CODECOV_TOKEN }}
75 changes: 75 additions & 0 deletions .github/workflows/csharp.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: C#

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

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

jobs:
csharp:
strategy:
fail-fast: false
matrix:
net_version: [2, 3, 5, 6, 7, 8, 9]
os: [ubuntu-latest]
include:
- net_version: 6
os: macos-latest
- net_version: 6
os: macos-13
- net_version: 6
os: windows-latest
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v3

- name: Setup .NET ${{ matrix.net_version }}
uses: actions/setup-dotnet@v3
with:
dotnet-version: ${{ matrix.net_version }}
cache: true
cache-dependency-path: 'csharp/*/packages.lock.json'

- name: Dependencies
run: make cs_dependencies

- name: Run Tests
run: |
make cs_test COV=true
mv csharp/Euler.Test/TestResults/*/coverage.cobertura.xml ./

# - name: Setup upterm session
# uses: lhotari/action-upterm@v1
# with:
# wait-timeout-minutes: 5
# limit-access-to-actor: true

- name: Upload coverage reports to Codecov
uses: codecov/[email protected]
with:
token: ${{ secrets.CODECOV_TOKEN }}

csharp-lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- name: Setup .NET 8
uses: actions/setup-dotnet@v3
with:
dotnet-version: 8
cache: true
cache-dependency-path: 'csharp/*/packages.lock.json'

- name: Run Linter
run: make cs_lint

Loading
Loading