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

MatchingPowers - A Macaulay2 package for computing the matching powers of monomial ideals #3475

Closed
wants to merge 650 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
650 commits
Select commit Hold shift + click to select a range
9369e3e
Add unit tests for special functions with added CC/RRi support
d-torrance Jul 17, 2024
8facd3e
added try .. then .. clause
mahrud Jul 22, 2024
155ba1d
documented the try .. then .. clause
mahrud Jul 22, 2024
a770f7a
Simplify toExternalString for mutable types
d-torrance Aug 6, 2024
3d3e0e3
Add toExternalString(MutableMatrix)
d-torrance Aug 6, 2024
9d6a2e8
removed unnecessary toExternalString methods
mahrud Aug 7, 2024
8bcabc2
fixed expression for LocalRing
mahrud Aug 7, 2024
6fa451f
simplified printing methods for SchurRing
mahrud Aug 7, 2024
0fdb111
Msolve check fails on readMsolveOutputFile
Mar 4, 2024
da8eedd
fixed the parser for Msolve; segfault for a certain prime in EXA/quad…
Mar 6, 2024
b9bd8d7
fixed some typos in doc
mikestillman Jul 14, 2024
0f15f7b
changed names of functions to all have msolve as a prefix, and fix th…
mikestillman Jul 15, 2024
78c07d3
introduced options to msolveGB
Martin-Helmer Jul 16, 2024
92b00c2
“Coefficient” typo
antonleykin Jul 17, 2024
8ce546f
added more options for verbosity
Martin-Helmer Jul 17, 2024
88f0475
fixed spelling typos etc.
Martin-Helmer Jul 17, 2024
f84bb37
more typos...
Martin-Helmer Jul 17, 2024
b52dd31
Update authors
Martin-Helmer Jul 17, 2024
c293421
Check that msolve is installed and build if it isn't (autotools)
d-torrance Jul 18, 2024
3ec116c
Add msolve license info
d-torrance Jul 18, 2024
a4704c0
Distribute Msolve package
d-torrance Jul 19, 2024
f97cf0a
Install msolve in GitHub builds
d-torrance Jul 19, 2024
6ad479f
checking if msolve is present; renamed one option; added documentatio…
Martin-Helmer Jul 19, 2024
c600a58
added keywords, added errors rather than return 0 for msolve missing,…
Martin-Helmer Jul 24, 2024
bac5d53
Bump msolve to version 0.7.1 (autotools)
d-torrance Jul 19, 2024
de04659
unified running msolve
mahrud Jul 25, 2024
3a27360
switched to using findProgram/runProgram
mahrud Jul 25, 2024
54b4a09
unified default options for msolve commands
mahrud Jul 25, 2024
c5e7af5
exported Threads and renamed "number of threads"
mahrud Jul 25, 2024
9f1676b
added cosmetic changes to documentation
mahrud Jul 25, 2024
1d1a10a
fixed inputOkay to disallow ZZ and GF
mahrud Jul 25, 2024
cd5f47a
fixed maximum prime characteristic in msolve
mahrud Jul 25, 2024
a53e8fe
added msolveSaturate as strategy for saturation
mahrud Jul 25, 2024
77946ca
added characteristic check for msolve bug
mahrud Jul 25, 2024
76c63b5
added a test for msolveSaturate
mahrud Jul 25, 2024
27e24c6
simplified msolveSaturate
mahrud Jul 25, 2024
a7755f5
further cosmetic documentation changes
mahrud Jul 26, 2024
bc07855
unified ring sanitization for msolve
mahrud Jul 26, 2024
9585f69
added helper routine readMsolveList
mahrud Jul 26, 2024
3e76317
fixed an issue in monoidIndex
mahrud Jul 26, 2024
1024062
added kludge for weird monomial order bug
mahrud Jul 26, 2024
1555964
added more ring tower tests for msolve
mahrud Jul 26, 2024
b3b230a
fixed formatting of readMsolve unit-test
mahrud Jul 26, 2024
e52cc7b
removed the caveat for msolveSaturate
mahrud Aug 1, 2024
1ca9f3f
bumped minimum msolve version to 0.7.0
mahrud Aug 1, 2024
07a2a17
bumped msolve to version 0.7.1 (cmake)
mahrud Aug 1, 2024
156b59c
removed OptionalComponentsPresent from Msolve
mahrud Aug 1, 2024
d61c61f
fixed a bug and added benchmarking data
mahrud Aug 1, 2024
46717f6
fixed msolve url in cmake
mahrud Aug 1, 2024
0f6982c
added two more msolve benchmarks
mahrud Aug 1, 2024
50eb8e2
combined msolve tests and added assertions
mahrud Aug 1, 2024
bf9ac3e
Print verbose runProgram output as it happens
d-torrance Aug 2, 2024
ecd65a6
sorted methods by location
mahrud Aug 4, 2024
464005e
deduplicated entries in 'code methods X'
mahrud Aug 5, 2024
76af349
Check that Arb supports inverse error function (autotools)
d-torrance Aug 9, 2024
8bdd17f
Concatenate inputs of call to warning from noqname
d-torrance Jul 22, 2024
3bec884
Use lookup in validate for getting qname
d-torrance Jul 22, 2024
b97129c
Use quotes when printing KBD objects
d-torrance Aug 1, 2024
29a8e74
Use KBD instead of MaybeQuotedTT for "ways to use" list in docs
d-torrance Aug 1, 2024
b04c36c
Remove now-unused MaybeQuotedTT class
d-torrance Aug 1, 2024
3cac411
Use smaller font & vertical padding in KBD css
d-torrance Aug 1, 2024
ecc3398
adjusted doc.css for <kbd>
mahrud Aug 1, 2024
da07ec4
merged tvalues-make.m2 into typicalvalues.m2
mahrud Jun 25, 2024
ee7bb9d
simplified generateTypicalValues
mahrud Jun 27, 2024
a977cb6
set M2 to autogenerate tvalues.m2
mahrud Jun 28, 2024
f1ee553
removed --no-tvalues optional argument
mahrud Jun 28, 2024
135457d
added debug info to tvalues.m2
mahrud Jun 28, 2024
0c4d5ee
removed dummy # & #? methods from typicalvalues.m2
mahrud Jun 28, 2024
2c43e4e
removed dummy op methods from typicalvalues.m2
mahrud Jun 28, 2024
cd5d8c3
removed 'any' from typicalvalues.m2
mahrud Jun 28, 2024
67834cd
moved a few compiled functions to classes.m2
mahrud Aug 5, 2024
faef0c0
removed various dummy methods from typicalvalues.m2
mahrud Jun 28, 2024
70e9ebf
simplified the method pack
mahrud Jul 27, 2024
d284ead
removed reverse from typicalvalues.m2
mahrud Jul 27, 2024
476ab0d
removed scan/apply methods from typicalvalues.m2
mahrud Jul 27, 2024
356a7f2
wip: separate inputs and outputs in tvals
mahrud Jul 24, 2024
62f641b
tabulated the tvalues.m2 file
mahrud Jul 24, 2024
51a071d
switched to autogenerating tvalues.m2
mahrud Jul 24, 2024
03f1027
removed long forgotten mpcodes cruft
mahrud Jul 27, 2024
f485e00
removed unused make targer 'prep'
mahrud Jul 27, 2024
4a54614
moved a test from 000-core.m2 to res3.m2
mahrud Jul 27, 2024
8cdb664
added TAGS file for m2 directory
mahrud Jul 28, 2024
c24845a
moved table (nested list) functions
mahrud Jul 28, 2024
0e2bd87
moved # and #? methods out of typicalvalues
mahrud Aug 10, 2024
cad066e
Check for msolve version in autotools build
d-torrance Aug 9, 2024
9229147
Use code() instead of help() for "methods" test
d-torrance Aug 12, 2024
04c06f4
fixed documentation warnings in Graphs
mahrud Jul 21, 2024
ad4cee6
fixed documentation warnings in PHCpack
mahrud Jul 21, 2024
2103c46
fixed documentation warnings in BernsteinSato
mahrud Jul 21, 2024
b4ba43f
fixed documentation warnings in NumericalCertification
mahrud Jul 22, 2024
efedaa9
fixed documentation warnings in SubalgebraBases
mahrud Jul 22, 2024
8e934de
fixed documentation warnings in SumsOfSquares
mahrud Jul 22, 2024
a4b673d
fixed documentation warnings in ThreadedGB
mahrud Jul 22, 2024
661c039
added Maintainer option for package author field
mahrud Jul 22, 2024
a1c1617
fixed documentation warnings in gfanInterface
mahrud Jul 22, 2024
3c16151
elevated author check to an error
mahrud Jul 22, 2024
8ed5adf
moved historyGet to getHistory in interp.dd
mahrud Aug 11, 2024
ea08d36
moved rl_catch_signals to initReadlineVariables
mahrud Aug 11, 2024
cfb481a
added persistent history using libreadline
mahrud Aug 11, 2024
bfc49b0
simplified getting libreadline's version
mahrud Aug 11, 2024
dc908c3
changed history file location
mahrud Aug 12, 2024
28bf5ca
moved git state from version.dd to version.m2
mahrud Aug 12, 2024
5c113b2
added Make target to generate version.m2
mahrud Aug 12, 2024
9a11c81
Use AC_SUBST for git description and branch
d-torrance Aug 12, 2024
7875547
used PACKAGE_VERSION when git describe fails for cmake
mahrud Aug 12, 2024
ae23e82
changed makeDocumentTag to strip -- comments
mahrud Aug 2, 2024
c2017e4
reverted previous behavior of about
mahrud Aug 2, 2024
6484cfa
added headlines as a help function
mahrud Aug 2, 2024
3522bf1
changed headlines to return a TABLE instead
mahrud Aug 6, 2024
dbfce5a
added package and aligned indices in headlines
mahrud Aug 6, 2024
c041142
Modified msolveRealSolutions option "output type" and documentation.
Aug 7, 2024
58f6469
two typos corrected
Aug 7, 2024
2f84109
Update M2/Macaulay2/packages/Msolve.m2
antonleykin Aug 7, 2024
7dbc804
Minor doc change
antonleykin Aug 7, 2024
4168913
added top-level type QQi to Msolve
mahrud Aug 8, 2024
71c7b62
improved msolveRealSolutions inputs and outputs
mahrud Aug 7, 2024
6911774
added tests for new msolveRealSolutions inputs
mahrud Aug 7, 2024
be23181
documented new msolveRealSolutions inputs
mahrud Aug 7, 2024
753d91e
capped msolveDefaultPrecision to 32bits
mahrud Aug 7, 2024
ad479c6
bumped up minimum output precision of Msolve to 53
mahrud Aug 8, 2024
0eab2e7
fixed a bug in finding older msolve versions
mahrud Aug 8, 2024
582d408
trimmed comment lines in readMsolveList
mahrud Aug 8, 2024
7873483
fixed the top-level version of readMsolveOutputFile
mahrud Aug 8, 2024
8cee672
added broken test found by Martin
mahrud Aug 8, 2024
9c066b0
removed OptionalComponentsPresent from Msolve
mahrud Aug 9, 2024
25cfcdd
fixed a bug in MultigradedBGG::foldComplex
mahrud Aug 10, 2024
83892d9
Update PositivityToricBundles to v1.9
a-hochenegger Aug 10, 2024
8a68e14
Corrected typo
a-hochenegger Aug 10, 2024
809aee0
removed method selectPairs which conflicts with some global name
a-hochenegger Aug 10, 2024
59ff852
Fixed error with declaration of isVeryAmple (now MethodWithOptions)
a-hochenegger Aug 11, 2024
a4dddd1
Removed some unnecessary comments
a-hochenegger Aug 11, 2024
6bb5c59
Update M2/Macaulay2/packages/PositivityToricBundles.m2
a-hochenegger Aug 11, 2024
7182dc3
removed duplicated keywordTexMath
pzinn Jul 17, 2024
a7857cf
renamed thenclause to thenClause in interpreter
pzinn Jul 17, 2024
1a2a992
removed functionCode.arrow
pzinn Jul 17, 2024
d173ec9
added a frame error in evalraw
pzinn Jul 17, 2024
4c443ed
changed how position is stored in Token
pzinn Jul 17, 2024
1eb0011
fixed locate for symbols declared by "export"
pzinn Jul 17, 2024
21fd36b
added Pseudocode and PseudocodeClosure types
pzinn Jul 17, 2024
f1625ee
removed col+1 from changed tostring(Position)
pzinn Jul 17, 2024
157dc68
removed col+1 from endpoint of errors
pzinn Jul 17, 2024
08f2742
added position to stringCode and functionCode
pzinn Jul 17, 2024
f00e2af
updated codePosition
pzinn Jul 17, 2024
bf16db9
updated convertr.d
pzinn Jul 17, 2024
d9893ce
setup functions for some operators
pzinn Jul 17, 2024
6b2ce43
fixed error start point location in a test
pzinn Jul 17, 2024
fca3911
fixed a ComputationsBook test
pzinn Jul 17, 2024
642c60e
revamped locate and moved it to debugging.dd
pzinn Jul 17, 2024
915e0c2
updated locate and code in code.m2
pzinn Jul 17, 2024
f83a7c1
moved disassemble and pseudocode to debugging.dd
pzinn Jul 17, 2024
79d0f67
added toList(Code) in debugging.dd
pzinn Jul 17, 2024
769834d
moved tostring(Code) to debugging.dd
mahrud Aug 9, 2024
c25380b
added printing and introspection for Pseudocode
pzinn Jul 17, 2024
2038c91
added typical values for disassemble and pseudocode
mahrud Aug 9, 2024
b315928
added disassemble for FunctionBody and Pseudocode
mahrud Aug 9, 2024
3997e82
renamed fetch to local-fetch
mahrud Aug 9, 2024
c6ebd26
updated documentation for pseudocode
pzinn Jul 17, 2024
9545e00
changed generateAssertions to ignore comment blocks
mahrud Aug 8, 2024
f9d3882
moved a monoid test
mahrud Aug 8, 2024
7ad574a
added debugger tests
mahrud Aug 8, 2024
03dddb2
Remove unused semicolonfun (; is not a binary operator)
d-torrance Aug 18, 2024
41e49bd
Set User.PackageIsLoaded to true
d-torrance Aug 21, 2024
29bf6ee
Add historyLength() compiled function
d-torrance Aug 18, 2024
70e1b7a
Save history length at startup and use it to compute code location
d-torrance Aug 18, 2024
1658a78
Don't use addStartFunction for setting up history; not necessary
d-torrance Aug 21, 2024
8768228
Improve "key not found" error messages for string/symbol keys
d-torrance Aug 17, 2024
3154454
simplified lookup1force
mahrud Aug 18, 2024
d768a64
simplified lookup1Q
mahrud Aug 18, 2024
3e770d5
simplified lookup
mahrud Aug 18, 2024
047879d
added RobustPrintMethod for printing errors
mahrud Aug 18, 2024
75be8db
simplified Thing.RobustPrintMethod
mahrud Aug 20, 2024
6d2b431
uncommented missing operator method errors
mahrud Aug 21, 2024
f4f92e2
fixed RobustPrintMethod to avoid error in toString
mahrud Aug 21, 2024
d258c18
removed MPIR submodule [skip ci]
mahrud Aug 22, 2024
3c89a6b
Load init.m2 after loading Core but before preloaded packages
d-torrance Aug 18, 2024
10cc371
Unexport addStartFunction
d-torrance Aug 22, 2024
73bf034
made startFunctions and endFunctions global to Core
mahrud Aug 22, 2024
d12bb18
added comment about init.m2 in last.m2
mahrud Aug 22, 2024
3b79196
a few typos
fchapoton Aug 22, 2024
69f2f50
fixed incorrect error in msolveRealSolutions
mahrud Aug 22, 2024
1973a10
renamed actors6.dd -> chrono.dd for time, etc.
mahrud Jun 1, 2021
cf1c1d9
removed unused binopExpr
mahrud Aug 21, 2024
73430ac
removed obsolete newLocalFrameCode
mahrud Aug 21, 2024
b31c4d4
removed ambiguous interpreter typedef 'fun'
mahrud Aug 21, 2024
e6b3173
removed ambiguous 'class', 'new' in c/d sources
mahrud Jun 1, 2021
0ade006
removed double semicolon from interpreter exports
mahrud Jun 1, 2021
846e8e5
fixed typo in parse.d
mahrud Jun 1, 2021
cb402a4
Update M2-emacs submodule
d-torrance Aug 25, 2024
5e304c5
Update hashFromAddress function to return larger hashes
d-torrance Aug 23, 2024
4dfa288
Update cached PHCpack version number example w/ latest version
d-torrance Aug 25, 2024
c269c8a
Update cached Python example w/ latest version number
d-torrance Aug 25, 2024
4ddabeb
Update cached StatePolytop examples w/o verbose polymake output
d-torrance Aug 25, 2024
3c22f56
Use unlimited virtual memory when running msolve tests (autotools)
d-torrance Aug 26, 2024
0ce15e6
moved a dummy declaration to expr.d
mahrud Aug 25, 2024
8d7dbdb
fixed the order of FilePosition components
mahrud Aug 26, 2024
3eb3722
added tests for locate
mahrud Aug 26, 2024
47b5041
limited package headlines to 100 characters
mahrud Jul 31, 2024
bad82ad
removed Reload => true from packages
mahrud Jul 31, 2024
314d39d
implemented uniformity in headlines (cf. 7a7e6f96)
mahrud Jul 31, 2024
601f287
removed line breaks from package headlines
mahrud Jul 31, 2024
d956fb8
fixed input checking in newPackage
mahrud Aug 1, 2024
5f4827a
removed extra spaces from author name in GroebnerStrata
mahrud Aug 1, 2024
e0de77e
added Node to the documentation template
mahrud Aug 1, 2024
0e7d7a8
removed 'newPackage select' hacks
mahrud Aug 14, 2024
b51e61f
fixed newPackage to permit terminal null entries
mahrud Aug 5, 2024
4a040f2
limited headline of Msolve to 100 chars
mahrud Aug 25, 2024
5db7db6
Add stub documentation page for RInterface when R or libffi missing
d-torrance Aug 27, 2024
0f6ae45
added CoefficientRing option to toric blowup
Devlin-Mallory Aug 27, 2024
57446be
all instances of normalToricVariety now have CoefficientRing
Devlin-Mallory Aug 27, 2024
2b9ff18
added caching of base in toricBlowup in all cases
Devlin-Mallory Aug 28, 2024
2458ff2
Changed dual method and fixed test
sashahbc Aug 30, 2024
48aefe9
Indenting was weird
sashahbc Aug 30, 2024
f7d3018
Stop exporting "Verbosity" symbol from SemidefiniteProgramming
d-torrance Aug 29, 2024
c063cd3
Bump maximum rounding tolerance to 33 in SumsOfSquares package
d-torrance Aug 30, 2024
d6c3c64
Use a list instead of a hash table for storing package tests
d-torrance Aug 20, 2024
ee63941
Update "tests" docs now that a numbered vertical list returned
d-torrance Aug 20, 2024
db5c1dc
Use net(Function) for net(TestInput)
d-torrance Aug 20, 2024
2e45104
Add precedence(TestInput)
d-torrance Aug 20, 2024
cfaad9b
Refactor contents of TestInput
d-torrance Aug 20, 2024
3f87021
Change behavior of toString(TestInput)
d-torrance Aug 20, 2024
3d0ba85
Update code(TestInput)
d-torrance Aug 20, 2024
1f58b9c
Drop unnecessary "test number" key from packages
d-torrance Aug 20, 2024
6ffd979
Add capture(TestInput)
d-torrance Aug 20, 2024
99d6339
Turn TEST into a keyword
d-torrance Aug 31, 2024
3eee623
Update TEST docs now that it is a keyword
d-torrance Aug 31, 2024
ce8d688
Remove use of FileName option to TEST (use get instead)
d-torrance Aug 31, 2024
5f3b2fe
Update TestInput tests for new behavior
d-torrance Aug 21, 2024
de4d826
Update tests now that TEST is a keyword
d-torrance Aug 31, 2024
c12eed4
fixing some typos in packages
fchapoton Sep 1, 2024
207cf44
fixes #3451
mahrud Sep 3, 2024
954e44c
Add ring and promote methods for Constant objects
d-torrance Sep 5, 2024
041f8c9
bug fixes for Complexes, add LengthLimit to connectingExtMap, connect…
mikestillman Apr 1, 2024
368091f
add in epicResolutionMap, beginning of some doc for standard isomorph…
mikestillman Jun 21, 2024
d2c0157
export epicResolutionMap, remove dead code
mikestillman Jul 1, 2024
11cda34
make isNormal and normalCone method names in m2/shared.m2. This allo…
mikestillman Jul 1, 2024
4239d3a
fix normalCone use in Polyhedra and OldPolyhedra, so that examples wi…
mikestillman Jul 1, 2024
bb58854
remove interdependency between FourTiTwo and Polyhedra: hilbertBasis
mikestillman Aug 21, 2024
4ddb456
change `complex` to a method with Options => true. Add some Complex …
mikestillman Aug 22, 2024
82ef63f
Fix 2 bugs in Complexes: specialized routine for null homotopy with f…
mikestillman Aug 26, 2024
c1f5435
fixed nullHomotopy by adding a new optional argument FreeToExact, and…
mikestillman Sep 5, 2024
9a9563a
changes to documentation, including use of ofClass and Hom to \operat…
mikestillman Sep 9, 2024
646d715
Change the use of e.g. {Module} to {Complex,Module}. Currently, this…
mikestillman Sep 10, 2024
6a17cf4
Fix bug when displaying example errors
d-torrance Sep 6, 2024
24478f7
rewrote how Usage/Inputs/Outputs are handled
mahrud Sep 11, 2024
9d1e0c2
fixed getOptionBase, simplified getOptionDefaultValues
mahrud Sep 11, 2024
415df96
add symbols file for Macaulay2Web
pzinn Sep 8, 2024
aaa9ce8
Create HomologicalShiftIdeals
Antonino-Ficarra Sep 12, 2024
971755a
Update =distributed-packages
Antonino-Ficarra Sep 12, 2024
87672e1
Create MatchingPowers
Antonino-Ficarra Sep 12, 2024
6d70d06
Update =distributed-packages
Antonino-Ficarra Sep 12, 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
  •  
  •  
  •  
16 changes: 2 additions & 14 deletions .codespell_ignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
afterwords
alledges
allready
alot
alph
ans
anumber
archiv
Expand All @@ -14,9 +11,8 @@ bu
comon
conet
coo
damon
debugg
dorder
debugg
egal
enew
euclidian
Expand All @@ -28,18 +24,15 @@ fo
formes
freee
froms
fullfil
geometrie
hart
includee
independant
inh
inot
inout
intall
ist
ket
lamda
lod
lond
lsat
Expand All @@ -57,18 +50,13 @@ packge
pres
pring
projet
reseting
returne
ser
singl
skelton
sring
sring
strat
sur
te
thets
toom
translater
tring
trough
ue
37 changes: 37 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
groups:
github-action-dependencies:
patterns:
- "*"

- package-ecosystem: "npm"
directory: "/M2/Macaulay2/editors/prism"
schedule:
interval: "monthly"
groups:
prism-dependencies:
patterns:
- "*"

- package-ecosystem: "npm"
directory: "/M2/Macaulay2/packages/Style"
schedule:
interval: "monthly"
groups:
style-dependencies:
patterns:
- "*"

- package-ecosystem: "npm"
directory: "/M2/Macaulay2/packages/Visualize"
schedule:
interval: "monthly"
groups:
visualize-dependencies:
patterns:
- "*"
5 changes: 5 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<!--
Thank you for contributing to Macaulay2!

Please read https://github.com/Macaulay2/M2/wiki/Pull-requests for instructions.
-->
4 changes: 1 addition & 3 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
name: Lint
on:
push: { branches: [ "development" ] }
pull_request: { branches: [ "development", "master" ] }
on: [ push, pull_request ]

jobs:
codespell:
Expand Down
49 changes: 23 additions & 26 deletions .github/workflows/test_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,17 @@ name: Build and Test Macaulay2

on:
workflow_dispatch:
push:
branches:
- pre-master # when we're ready to merge 'development' into 'master', we merge it first into 'pre-master', so it can be tested
pull_request:
branches:
- master
- development
schedule:
# cron time in UTC
# a scheduled job runs on the default branch: 'master'
- cron: '0 6 * * *'
- cron: '0 6 * * SUN' # runs tests on the main branch every Sunday at 06:00 UTC

concurrency:
# Cancel in-progress runs when a new workflow with the same group name is triggered
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

defaults:
run:
Expand All @@ -35,28 +35,23 @@ jobs:
fail-fast: false
matrix:
build-system:
- cmake
- autotools
- cmake
os:
- ubuntu-22.04
- macos-12
- ubuntu-24.04
- macos-13
compiler:
- default
include:
- build-system: cmake
os: ubuntu-22.04
compiler: clang-15
cxx: clang++-15
cc: clang-15
# This build tests Clang rather than AppleClang (keep)
- build-system: cmake
os: macos-12
os: macos-13 # TODO: switch to macos-14 for arm64 testing
compiler: clang-15
cxx: clang++
cc: clang
exclude:
- build-system: cmake
os: macos-12
os: macos-13
compiler: default
steps:
- uses: actions/checkout@v4
Expand All @@ -70,8 +65,10 @@ jobs:
run: |
brew config
brew tap macaulay2/tap
brew install automake boost tbb ccache ctags llvm make ninja yasm libffi
brew install --overwrite python
brew install automake boost tbb ccache ctags texinfo llvm make ninja yasm libffi msolve
brew install --only-dependencies macaulay2/tap/M2
brew link factory --force

# ----------------------
# Install missing tools and libraries for Linux
Expand All @@ -82,13 +79,13 @@ jobs:
run: |
sudo add-apt-repository -y -n ppa:macaulay2/macaulay2
sudo apt-get update
sudo apt-get install -y -q --no-install-recommends clang-15 gfortran libtool-bin ninja-build yasm ccache
sudo apt-get install -y -q --no-install-recommends libboost-stacktrace-dev \
sudo apt-get install -y -q --no-install-recommends clang-16 gfortran libtool-bin ninja-build yasm ccache
sudo apt-get install -y -q --no-install-recommends liblzma-dev libboost-stacktrace-dev \
libncurses-dev libncurses5-dev libreadline-dev libeigen3-dev liblapack-dev libxml2-dev \
libgc-dev libgdbm-dev libglpk-dev libgmp3-dev libgtest-dev libmpfr-dev libmpfi-dev libntl-dev gfan \
libgivaro-dev libboost-regex-dev fflas-ffpack libflint-dev libmps-dev libfrobby-dev \
libsingular-dev singular-data libcdd-dev cohomcalg topcom 4ti2 normaliz coinor-csdp \
nauty lrslib polymake phcpack w3c-markup-validator libtbb-dev qepcad libomp-15-dev
libsingular-dev singular-data libcdd-dev cohomcalg topcom 4ti2 libnormaliz-dev normaliz coinor-csdp \
libnauty-dev nauty lrslib polymake pipx phcpack w3c-markup-validator libtbb-dev qepcad libomp-16-dev msolve

# ----------------------
# Steps common to all build variants
Expand All @@ -100,7 +97,7 @@ jobs:
echo "CXX=${{ matrix.cxx }}" >> $GITHUB_ENV
if [[ "${{ runner.os }}" == "Linux" ]]
then shopt -s expand_aliases
alias llvm-config="/usr/bin/llvm-config-15"
alias llvm-config="/usr/bin/llvm-config-16"
echo "/usr/lib/ccache" >> $GITHUB_PATH
echo "/home/linuxbrew/.linuxbrew/bin" >> $GITHUB_PATH
else echo `brew --prefix ccache`/libexec >> $GITHUB_PATH
Expand Down Expand Up @@ -145,7 +142,7 @@ jobs:
if: matrix.build-system == 'cmake'
run: |
cmake --build . --target M2-core M2-emacs install-packages
if [[ "${{ runner.os }}" == "Linux" ]] && [[ "${{ matrix.compiler }}" == "clang-15" ]]; then
if [[ "${{ runner.os }}" == "Linux" ]] && [[ "${{ matrix.build-system }}" == "cmake" ]]; then
sudo apt-get install -y -q --no-install-recommends dpkg-dev
echo "GIT_COMMIT=`git describe --dirty --always --match HEAD`" >> $GITHUB_ENV
cpack -G DEB
Expand Down Expand Up @@ -176,7 +173,7 @@ jobs:
# ----------------------

- name: Run Tests using CTest
if: matrix.build-system == 'cmake' && runner.os == 'Linux' && matrix.compiler == 'clang-15'
if: matrix.build-system == 'cmake' && runner.os == 'macOS'
run: |
set -xe
./M2 -q --check 1 -e 'exit 0'
Expand All @@ -198,7 +195,7 @@ jobs:
- name: Validate HTML documentation
if: matrix.build-system == 'autotools' && runner.os == 'Linux'
run: |
python3 -m pip install html5validator
pipx install html5validator
if test ${{ github.event_name }} = pull_request
then
git fetch --depth=1 origin development
Expand Down Expand Up @@ -244,7 +241,7 @@ jobs:
M2/BUILD/build/Macaulay2/tests/*/*.errors

- name: Upload Macaulay2 package for Ubuntu (x86_64)
if: matrix.build-system == 'cmake' && runner.os == 'Linux' && matrix.compiler == 'clang-15' && success()
if: matrix.build-system == 'cmake' && runner.os == 'Linux' && success()
uses: actions/upload-artifact@v4
with:
name: Macaulay2-${{ env.GIT_COMMIT }}-ubuntu-x86_64
Expand Down
8 changes: 1 addition & 7 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,6 @@
[submodule "M2/submodules/bdwgc"]
path = M2/submodules/bdwgc
url = https://github.com/Macaulay2/bdwgc.git
[submodule "M2/submodules/libatomic_ops"]
path = M2/submodules/libatomic_ops
url = https://github.com/Macaulay2/libatomic_ops.git
[submodule "M2/submodules/mpir"]
path = M2/submodules/mpir
url = https://github.com/Macaulay2/mpir.git
[submodule "M2/submodules/flint"]
path = M2/submodules/flint
url = https://github.com/Macaulay2/flint2.git
Expand All @@ -27,7 +21,7 @@
url = https://github.com/Macaulay2/fflas-ffpack.git
[submodule "M2/submodules/givaro"]
path = M2/submodules/givaro
url = https://github.com/Macaulay2/givaro.git
url = https://github.com/linbox-team/givaro
[submodule "M2/submodules/googletest"]
path = M2/submodules/googletest
url = https://github.com/google/googletest.git
Expand Down
2 changes: 1 addition & 1 deletion M2/BUILD/dan/README
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Solaris

Ubuntu 12 hint:

I was working on Ubuntu 12.04, but I had to upgrade on Ubuntu 11.10, and, after some difficulties I find a solution to intall correctly M2 :
I was working on Ubuntu 12.04, but I had to upgrade on Ubuntu 11.10, and, after some difficulties I find a solution to install correctly M2 :
1) I first get the "libpari2-gmp" debian package at http://security.ubuntu.com/ubuntu/pool/universe/p/pari/
2) I install the "libgmp3c2" package with an apt-get install
3) I do a dpkg on the "libpari2-gmp" package
Expand Down
21 changes: 12 additions & 9 deletions M2/BUILD/docker/actions/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,36 +2,39 @@
# Net usage: ~255MB
# Disk usage: <1GB docker image + 650MB Macaulay2 build

FROM ubuntu:20.04
FROM ubuntu:24.04

ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update && \
apt-get install -y software-properties-common apt-transport-https build-essential curl git gnupg && \
curl https://apt.kitware.com/keys/kitware-archive-latest.asc -s --output - | apt-key add - && \
echo 'deb https://apt.kitware.com/ubuntu/ focal main' > \
echo 'deb https://apt.kitware.com/ubuntu/ noble main' > \
/etc/apt/sources.list.d/cmake.list && \
add-apt-repository -y ppa:macaulay2/macaulay2 && \
apt-get update && apt-get install -y autoconf bison ccache cmake flex libtool ninja-build yasm && apt-get clean

# Programs and libraries we require to build
RUN apt-get install -y -q --no-install-recommends libatomic-ops-dev libboost-stacktrace-dev \
RUN apt-get install -y -q --no-install-recommends libboost-stacktrace-dev \
libncurses-dev libncurses5-dev libreadline-dev libeigen3-dev liblapack-dev libxml2-dev \
libgc-dev libgdbm-dev libglpk-dev libgmp3-dev libgtest-dev libmpfr-dev libntl-dev gfan \
libgc-dev libgdbm-dev libglpk-dev libgmp3-dev libgtest-dev libmpfr-dev libmpfi-dev libntl-dev gfan \
libgivaro-dev libboost-regex-dev fflas-ffpack libflint-dev libmps-dev libfrobby-dev \
libsingular-dev singular-data libmemtailor-dev libmathic-dev libmathicgb-dev libcdd-dev \
cohomcalg topcom 4ti2 normaliz coinor-csdp nauty lrslib w3c-markup-validator libtbb-dev
libnauty-dev libnormaliz-dev libsingular-dev singular-data libcdd-dev \
cohomcalg topcom 4ti2 normaliz coinor-csdp nauty lrslib libtbb-dev

# Testing with clang-11 compiler
RUN apt-get install -y clang-11 llvm-11 && apt-get clean
#RUN apt-get install -y clang-16 llvm-16 libomp-16-dev && apt-get clean

RUN apt-get install -y -q --no-install-recommends mlocate bash-completion && apt-get clean && updatedb
# For testing optional programs
#RUN apt-get install -y polymake phcpack qepcad && apt-get clean

RUN apt-get install -y -q --no-install-recommends locate bash-completion && apt-get clean && updatedb

RUN add-apt-repository ppa:ubuntu-toolchain-r/test && \
apt-get update

# Needed for building with autotools
# RUN apt-get install -y -q liblzma-dev
# RUN apt-get install -y -q liblzma-dev w3c-markup-validator

# Add non-root user for building and running Macaulay2
RUN useradd -G sudo -g root -u 1000 -m macaulay
Expand Down
2 changes: 1 addition & 1 deletion M2/BUILD/docker/arch/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ RUN pacman --sync --noconfirm --refresh --needed \
RUN pacman --sync --noconfirm --needed openblas openmp intel-tbb libxml2 readline gdbm boost

# Libraries we can build
RUN pacman --sync --noconfirm --needed eigen fflas-ffpack givaro glpk gmp gc gtest mpfr ntl libatomic_ops
RUN pacman --sync --noconfirm --needed eigen fflas-ffpack givaro glpk gmp gc gtest mpfr ntl

# Optional packages
RUN pacman --sync --noconfirm mlocate bash-completion
Expand Down
2 changes: 1 addition & 1 deletion M2/BUILD/docker/brew/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Net usage: ~700MB
# Disk usage: ~1GB

FROM homebrew/brew
FROM homebrew/ubuntu22.04:latest

# Install optional packages
RUN apt-get update && apt-get install -y -q --no-install-recommends vim mlocate && apt-get clean
Expand Down
5 changes: 1 addition & 4 deletions M2/BUILD/docker/debian/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,9 @@ RUN apt-get install -y libopenblas-dev libxml2-dev libreadline-dev libgdbm-dev \
libboost-regex-dev libboost-stacktrace-dev libomp-dev libtbb-dev && \
apt-get clean

# This is a dependency that we should get rid of
RUN apt-get install -y libatomic-ops-dev && apt-get clean

# Libraries we can build (factory not available on ubuntu)
RUN apt-get install -y libeigen3-dev libglpk-dev libgmp3-dev libmpfr-dev \
libntl-dev libfrobby-dev libgc-dev && apt-get clean
libntl-dev libnauty-dev libnormaliz-dev libfrobby-dev libgc-dev && apt-get clean

# Programs we can build
# TODO: cohomcalg available soon. Polymake requires firefox???
Expand Down
5 changes: 3 additions & 2 deletions M2/BUILD/docker/fedora/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,11 @@ RUN microdnf install autoconf bison ccache cmake curl diffutils file gcc-c++ git

# Libraries we require
RUN microdnf install openblas-devel libxml2-devel readline-devel gdbm-devel \
boost-devel libatomic_ops-devel libomp-dev libtbb-dev
boost-devel libomp-dev libtbb-dev

# Libraries we can build (factory not available on ubuntu)
RUN microdnf install eigen3-devel glpk-devel gmp-devel mpfr-devel ntl-devel libfrobby-devel gc-devel
RUN microdnf install eigen3-devel glpk-devel gmp-devel mpfr-devel ntl-devel \
libnauty-devel libnormaliz-devel libfrobby-devel gc-devel

# Programs we can build
# TODO: cohomcalg available soon. Polymake requires firefox???
Expand Down
4 changes: 2 additions & 2 deletions M2/BUILD/docker/gentoo/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ COPY --from=portage /var/db/repos/gentoo /var/db/repos/gentoo
RUN emerge --sync
RUN emerge -n cmake ninja

#RUN emerge --ask -n 4ti2 blas-reference lapack-reference boehm-gc boost cddlib coinor-csdp flint fplll frobby gdbm gfan glpk gmp gtest libatomic_ops lrslib mpc mpfr mpir nauty normaliz ntl topcom yasm sys-process/time
#RUN emerge --ask -n 4ti2 blas-reference lapack-reference boehm-gc boost cddlib coinor-csdp flint fplll frobby gdbm gfan glpk gmp gtest lrslib mpc mpfr mpir nauty normaliz ntl topcom yasm sys-process/time

# autoconf automake bison make patch ccache \
# gettext python cmake curl gcc git gnupg \
Expand All @@ -25,7 +25,7 @@ RUN emerge -n cmake ninja
#RUN pacman --sync --noconfirm --needed openblas openmp intel-tbb libxml2 readline gdbm boost

# Libraries we can build
#RUN pacman --sync --noconfirm --needed eigen fflas-ffpack givaro glpk gmp gc gtest mpfr ntl libatomic_ops
#RUN pacman --sync --noconfirm --needed eigen fflas-ffpack givaro glpk gmp gc gtest mpfr ntl

# Optional packages
#RUN pacman --sync --noconfirm mlocate bash-completion
Expand Down
Loading
Loading