Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
407 commits
Select commit Hold shift + click to select a range
c65a3d9
Merge pull request #23 from symbiotic-engineering/sphinx-deploy
HopeBestWorld Oct 24, 2025
ca16fa7
installing requirements
HopeBestWorld Oct 24, 2025
9435b2f
Merge pull request #24 from symbiotic-engineering/deploy-fix
HopeBestWorld Oct 24, 2025
7b38871
installing open-flash
HopeBestWorld Oct 24, 2025
12d9fcb
Merge pull request #25 from symbiotic-engineering/update-deploy
HopeBestWorld Oct 24, 2025
54c26be
check that pandoc is installed
HopeBestWorld Oct 24, 2025
2973405
Merge pull request #26 from symbiotic-engineering/add-package
HopeBestWorld Oct 24, 2025
cad7971
Fix pandoc build error and install local package
HopeBestWorld Oct 24, 2025
e171a18
main branch push
HopeBestWorld Oct 24, 2025
e68a177
Merge pull request #27 from symbiotic-engineering/ci-docs
HopeBestWorld Oct 24, 2025
aa0f6f5
Update link to point to stlite app.html
HopeBestWorld Oct 24, 2025
c533a1d
Merge pull request #28 from symbiotic-engineering/docs-app
HopeBestWorld Oct 24, 2025
3f2f399
Fix broken reStructuredText link for stlite app
HopeBestWorld Oct 24, 2025
282a4e6
Merge pull request #29 from symbiotic-engineering/update-docs-app
HopeBestWorld Oct 24, 2025
860eee2
add _static/ to the link in app.rst file
HopeBestWorld Oct 24, 2025
b28ed43
Merge pull request #30 from symbiotic-engineering/change-line
HopeBestWorld Oct 24, 2025
e0aa7e3
updating app.html file name to app_streamlit.html
HopeBestWorld Oct 24, 2025
c97355e
Merge pull request #31 from symbiotic-engineering/update-name
HopeBestWorld Oct 24, 2025
0d4855d
Add Streamlit app HTML for GitHub Pages deployment
HopeBestWorld Oct 24, 2025
2eddab5
Merge pull request #32 from symbiotic-engineering/seperate
HopeBestWorld Oct 24, 2025
ec8fdf1
moving app_streamlit to root directory
HopeBestWorld Oct 24, 2025
771a097
Merge pull request #33 from symbiotic-engineering/moving-app
HopeBestWorld Oct 24, 2025
5916eb4
renaming app_streamlit to index
HopeBestWorld Oct 24, 2025
4ffb8ca
Merge pull request #34 from symbiotic-engineering/rename
HopeBestWorld Oct 24, 2025
42b9d3d
Be deployed alongside your documentation
HopeBestWorld Oct 24, 2025
4a24e02
Merge pull request #35 from symbiotic-engineering/deploy-app
HopeBestWorld Oct 24, 2025
364465e
updating package version in app_streamlit.html
HopeBestWorld Oct 24, 2025
e02f71f
Merge pull request #36 from symbiotic-engineering/update-package-version
HopeBestWorld Oct 24, 2025
301982f
Merge branch 'main' of github.com:symbiotic-engineering/OpenFLASH int…
rebeccamccabe Oct 24, 2025
dc46ded
update readme for joss submission
rebeccamccabe Oct 24, 2025
6f15c80
Create calkit.yaml
rebeccamccabe Oct 25, 2025
771c13f
Remove modes param, infer from body heaving
HopeBestWorld Oct 25, 2025
55a4589
Merge pull request #38 from symbiotic-engineering/refactor-api
HopeBestWorld Oct 25, 2025
a5939e4
put module APIs in a submenu in docs
rebeccamccabe Oct 26, 2025
8eb721e
docs: remove duplicate method in apps and fix spacing
rebeccamccabe Oct 26, 2025
a75ebce
delete unused .nc (results) and .bak (backup) files
rebeccamccabe Oct 26, 2025
7f5e0cc
move more updatd uml diagram to figs folder
rebeccamccabe Oct 26, 2025
86a2713
update readme about and usage sections and add theory section
rebeccamccabe Oct 26, 2025
4d51b4b
update readme citations
rebeccamccabe Oct 26, 2025
83e4a8f
update readme installation instructions
rebeccamccabe Oct 26, 2025
38c278a
fix code block formatting of pip install in tutorial
rebeccamccabe Oct 26, 2025
c2eed90
update dvc url to be lowercase
rebeccamccabe Oct 26, 2025
ba3a268
delete a bunch of results files and unused value files
rebeccamccabe Oct 26, 2025
d11580e
.github
rebeccamccabe Oct 26, 2025
7a6d1a8
bump version to 0.2.7 and use git tag for auto version for conda release
rebeccamccabe Oct 26, 2025
8ed67d0
add ipykernel to dependencies to allow running notebooks
rebeccamccabe Oct 26, 2025
2c52841
Merge remote-tracking branch 'origin/main' into becca-joss-cleanup-re…
rebeccamccabe Oct 26, 2025
5c7ae69
delete unused secrets file
rebeccamccabe Oct 26, 2025
1c2817c
Correct relative image paths in JOSS paper
HopeBestWorld Oct 26, 2025
4b82669
Merge pull request #39 from symbiotic-engineering/fix-docs
HopeBestWorld Oct 26, 2025
fbdfc13
fix recursion error in back to main index link
rebeccamccabe Oct 26, 2025
dd29d88
Bump version to 0.2.7
HopeBestWorld Oct 26, 2025
f20b25c
Merge pull request #40 from symbiotic-engineering/chore-release
HopeBestWorld Oct 26, 2025
6ce2d32
Add frequency sweep and hydro coefficient plotting
HopeBestWorld Oct 26, 2025
07b015f
Merge pull request #41 from symbiotic-engineering/docs-tutorial
HopeBestWorld Oct 26, 2025
cf8c631
Merge branch 'main' into becca-joss-cleanup-readme
HopeBestWorld Oct 26, 2025
94f6c91
merge
HopeBestWorld Oct 26, 2025
d86b3a1
Revert "merge"
HopeBestWorld Oct 26, 2025
b89a129
Merge pull request #37 from symbiotic-engineering/becca-joss-cleanup-…
HopeBestWorld Oct 26, 2025
407115b
trusted publisher
HopeBestWorld Oct 26, 2025
f38078e
Merge pull request #42 from symbiotic-engineering/trusted
HopeBestWorld Oct 26, 2025
b868a7c
Bump version to 0.2.8
HopeBestWorld Oct 26, 2025
3062721
Merge pull request #43 from symbiotic-engineering/bump
HopeBestWorld Oct 26, 2025
7945ca5
updated package version
HopeBestWorld Oct 26, 2025
9205c34
Merge pull request #44 from symbiotic-engineering/update-app-streamlit
HopeBestWorld Oct 26, 2025
72a4a52
do not specify an environment.yml in setup miniconda step in workflow
rebeccamccabe Oct 27, 2025
5b7bc86
add workflow dispatch trigger on package publish
rebeccamccabe Oct 27, 2025
1648d80
docs fix: project title capitalization and version
rebeccamccabe Oct 27, 2025
4f8b470
uncomment the app automodule, since attempt to avoid repeat got rid o…
rebeccamccabe Oct 27, 2025
e99cd6c
fix bullet formatting
rebeccamccabe Oct 27, 2025
1ad4951
fix filepath of domain image and table to account for modules folder
rebeccamccabe Oct 27, 2025
dae68f9
shorten tutorial name
rebeccamccabe Oct 27, 2025
4f32568
Finalize JOSS paper affiliations and formatting
HopeBestWorld Oct 27, 2025
53fe6b4
Merge pull request #45 from symbiotic-engineering/submission
HopeBestWorld Oct 27, 2025
b87872f
update citation.cff with software authors and orcids
rebeccamccabe Oct 27, 2025
f0368a9
Merge remote-tracking branch 'origin/main' into fix-publish-conda
rebeccamccabe Oct 27, 2025
1aa5b45
bump version to 0.2.9
rebeccamccabe Oct 27, 2025
2be2c7d
make a build env yaml with conda-build
rebeccamccabe Oct 27, 2025
3d9e1ba
skip pypi if release already exists
rebeccamccabe Oct 27, 2025
e92137d
add conda-verify to build env
rebeccamccabe Oct 27, 2025
0de7411
use label=main for conda publish
rebeccamccabe Oct 27, 2025
de843c3
give token more permissions to allow release
rebeccamccabe Oct 27, 2025
1e2a710
add git config for actions bot
rebeccamccabe Oct 27, 2025
a6de939
use newer version of conda upload
rebeccamccabe Oct 27, 2025
7b24b35
fix permiissions being overwritten in job
rebeccamccabe Oct 27, 2025
cfc45ef
add anaconda to build env
rebeccamccabe Oct 27, 2025
60bd958
fix name from anaconda to anaconda-client
rebeccamccabe Oct 27, 2025
808fac7
fix and validate citation.cff forzenodo
rebeccamccabe Oct 27, 2025
179cf50
change conda channel from hopeonthestack to sea-lab
rebeccamccabe Oct 27, 2025
9d8a566
add readme badges
rebeccamccabe Oct 27, 2025
be7f937
more badges
rebeccamccabe Oct 27, 2025
bdef5c0
update version numbers automatcally
rebeccamccabe Oct 27, 2025
5f37e10
use a release candidcate so the autocommitted actionsbot version bump…
rebeccamccabe Oct 27, 2025
bc0ea3a
properly push tags
rebeccamccabe Oct 27, 2025
0f562aa
avod detahed head
rebeccamccabe Oct 27, 2025
c0cd5f8
try seprate workflows for tagging and build/publishing
rebeccamccabe Oct 28, 2025
a392de3
use personal access token for rc tag creation so it triggers build wo…
rebeccamccabe Oct 28, 2025
6f05504
use v* for tags while debugging
rebeccamccabe Oct 28, 2025
6797657
trigger build on completion of tag
rebeccamccabe Oct 28, 2025
7a5525e
trigger build on workflow-call
rebeccamccabe Oct 28, 2025
c236da3
workflow call syntax fix
rebeccamccabe Oct 28, 2025
f39ea28
use underscore instead of dash so conda rc tag name is valid
rebeccamccabe Oct 28, 2025
60e0828
add explicit workflow dispatch at end of tag workflow
rebeccamccabe Oct 28, 2025
e32edc6
add rest syntax to workflow dispatch
rebeccamccabe Oct 28, 2025
f08f002
comment explicit dispatch
rebeccamccabe Oct 28, 2025
bf3d212
add more permissions to github token
rebeccamccabe Oct 28, 2025
98d521d
adjust if logic for publishing relese candidates
rebeccamccabe Oct 28, 2025
6e2c014
use testpypi env for release candidates which requires splitting into…
rebeccamccabe Oct 28, 2025
1d13ed2
add forgotten $ to save version
rebeccamccabe Oct 28, 2025
6e8e854
move license file to projects to address deprecation warning and add …
rebeccamccabe Oct 28, 2025
bd5cb1b
remove underscores since testpypi doesnt like them in version numbers
rebeccamccabe Oct 28, 2025
22197b2
add + to version format
rebeccamccabe Oct 28, 2025
cdb6ee9
run verbose on pypi
rebeccamccabe Oct 28, 2025
f997f2b
remove setuptools-scm no local from pyproject.toml
rebeccamccabe Oct 28, 2025
c007a09
Revert "remove setuptools-scm no local from pyproject.toml"
rebeccamccabe Oct 28, 2025
10d3983
replace +pr with .dev to comply with pypi prerelease version rules
rebeccamccabe Oct 28, 2025
0e25797
clean up workflows for merge
rebeccamccabe Oct 28, 2025
41bc027
move original manual release script to scripts folder
rebeccamccabe Oct 28, 2025
d3ab2c5
Merge pull request #46 from symbiotic-engineering/fix-publish-conda
rebeccamccabe Oct 28, 2025
50bd4a7
change contents to write to allow release privileges
rebeccamccabe Oct 28, 2025
1dc9f19
fix zenodo badge
rebeccamccabe Oct 28, 2025
95d6ddb
go back to hardcoded version in docs for now to avoid error
rebeccamccabe Oct 28, 2025
9c3952f
Merge pull request #47 from symbiotic-engineering/fix-publish-conda
rebeccamccabe Oct 28, 2025
55ac7e4
try to fix docs autoversion
rebeccamccabe Oct 28, 2025
6c60b9c
use rc tag not base tag to dispatch
rebeccamccabe Oct 28, 2025
0cfc63c
docs should fetch tags
rebeccamccabe Oct 28, 2025
3298407
use dash in open-flash when finding version and add try/catch for pac…
rebeccamccabe Oct 28, 2025
27627ba
change fetch depth to 0 for pages
rebeccamccabe Oct 28, 2025
4bdf763
delete tags (redundant since using fetch depth of zero)
rebeccamccabe Oct 28, 2025
a32fe42
avoid conflict of version being used as both a function and a string
rebeccamccabe Oct 28, 2025
1f0e903
build docs on pr but only deploy on main
rebeccamccabe Oct 28, 2025
dbd0946
pr tagging dispatches package publish in addition to docs
rebeccamccabe Oct 28, 2025
b21a5b0
change tag to not include dev and use get latest tag action
rebeccamccabe Oct 30, 2025
ce77705
delete unused create rc tag script
rebeccamccabe Oct 30, 2025
8bc7688
fix docs formatting warnings
rebeccamccabe Oct 30, 2025
67a81cf
fix js dispatch syntax
rebeccamccabe Oct 31, 2025
7bc89c5
fix js boolean vs string error
rebeccamccabe Oct 31, 2025
a25d991
simplify workflow dispatch to use github.head_ref || github.ref
rebeccamccabe Oct 31, 2025
e5c54be
better error logging for workflow dispatch
rebeccamccabe Oct 31, 2025
1bc991d
tighten up js and set workflow_id: explicitly
rebeccamccabe Oct 31, 2025
1b546ac
checkout before finding latest tag
rebeccamccabe Oct 31, 2025
487dde8
use shallow checkout for docs
rebeccamccabe Oct 31, 2025
bb86543
fix logic for whether to deploy pages
rebeccamccabe Oct 31, 2025
d032b72
use shallow checkout for publish decide
rebeccamccabe Oct 31, 2025
ce19d4d
replace get latest tag action with git describe --tags
rebeccamccabe Oct 31, 2025
5bb9d8d
back to fetch depth=0 now that no longer using getlatest tag action
rebeccamccabe Oct 31, 2025
1cb46a9
add debug print for tag
rebeccamccabe Oct 31, 2025
04dcbc3
more tag debug
rebeccamccabe Oct 31, 2025
c93ac99
reverse publish logic in package publish
rebeccamccabe Oct 31, 2025
d3b7f3e
remove debug output, fix release string vs bool again
rebeccamccabe Oct 31, 2025
f545e66
change setuptools scm version scheme to prevent pypi version being la…
rebeccamccabe Oct 31, 2025
fbc594c
setuptools only-version doesnt use dev versions, so compute my own de…
rebeccamccabe Oct 31, 2025
48a1f56
update pyproject.toml and requirements.txt to be consistent
rebeccamccabe Oct 31, 2025
44413a3
fix docs list formatting for run and store results
rebeccamccabe Oct 31, 2025
bbe10e9
docs formatting tweaks
rebeccamccabe Oct 31, 2025
e2b26e2
Merge pull request #48 from symbiotic-engineering/fix-publish-conda
rebeccamccabe Oct 31, 2025
5900219
use merge commit for merged prs when dispatching docs and publishing …
rebeccamccabe Oct 31, 2025
14ac8eb
merge commit is github.ref_name not github.ref
rebeccamccabe Oct 31, 2025
6a2d049
fix js syntax error for ref
rebeccamccabe Oct 31, 2025
2049fc2
Merge pull request #49 from symbiotic-engineering/fix-publish-conda
rebeccamccabe Oct 31, 2025
3e1af46
change contains == false to !contains
rebeccamccabe Oct 31, 2025
892beb5
Merge pull request #50 from symbiotic-engineering/fix-publish-conda
rebeccamccabe Oct 31, 2025
bd8782c
read the docs theme, copybutton and git extensions
rebeccamccabe Oct 31, 2025
383ec46
add lab logo to docs
rebeccamccabe Oct 31, 2025
b2a92f6
tests
HopeBestWorld Nov 10, 2025
359fd03
Ensure docs preview artifact is downloadable via GitHub UI
HopeBestWorld Nov 24, 2025
688ca97
Merge pull request #51 from symbiotic-engineering/docs-theme
HopeBestWorld Nov 24, 2025
bc29e5d
Merge pull request #52 from symbiotic-engineering/docs-theme-fix
HopeBestWorld Nov 24, 2025
e47d5f0
updating pypi
HopeBestWorld Nov 24, 2025
65a4564
Merge pull request #53 from symbiotic-engineering/app-streamlit
HopeBestWorld Nov 24, 2025
b582c1d
Add _headers for Cross-Origin Isolation in Stlite app
HopeBestWorld Nov 24, 2025
b8f7f18
Merge pull request #54 from symbiotic-engineering/headers
HopeBestWorld Nov 24, 2025
306241c
Enforce single heaving body constraint
HopeBestWorld Nov 24, 2025
11e0258
Update MEEMEngine fixture to comply with single-heaving constraint
HopeBestWorld Nov 24, 2025
678b1fb
Correct run_and_store_results assertion shape (3, 1, 1)
HopeBestWorld Nov 24, 2025
bcd3638
Merge pull request #55 from symbiotic-engineering/feat-geo
HopeBestWorld Nov 24, 2025
f2fcf03
Changes mk solver to brentq (faster), I_nm coupling integral storage …
Y-Bimali Nov 29, 2025
3ef188e
Merge branch 'main' of github.com:symbiotic-engineering/OpenFLASH int…
HopeBestWorld Nov 30, 2025
6f833c8
same hydrocoeffs
HopeBestWorld Dec 15, 2025
e8145ff
Fix critical grid mismatch in R_1n vectorization for regions
HopeBestWorld Dec 19, 2025
934d3e8
Fix double normalization in hydro validation and add phase support
HopeBestWorld Dec 21, 2025
a882f0d
Fix multi-body geometry setup in app.py
HopeBestWorld Dec 21, 2025
595be58
Add OpenFLASH.ipynb with MEEM-style matrix visualization
HopeBestWorld Dec 23, 2025
e717f98
commenting out config3 in test_capytaine_potential.py
HopeBestWorld Dec 23, 2025
9830e1a
updating to be more similar to old assembly
HopeBestWorld Dec 23, 2025
3b9341f
test: align R_2n test cases with outer-radius anchoring logic
HopeBestWorld Dec 23, 2025
a61be31
updating matrix snapshot
HopeBestWorld Dec 23, 2025
5703823
Merge pull request #59 from symbiotic-engineering/cap-v-openflash
HopeBestWorld Dec 23, 2025
a0a6a06
ci: add codecov.yml configuration
HopeBestWorld Dec 24, 2025
9887975
Merge pull request #60 from symbiotic-engineering/preferences
HopeBestWorld Dec 24, 2025
6070ea5
test: add coverage for invalid body and heaving map configurations
HopeBestWorld Dec 24, 2025
38ebb25
test: add coverage for Geometry abstract methods and domain_list logic
HopeBestWorld Dec 24, 2025
ddbc270
fix: correct variable scope in meem_engine and update tests
HopeBestWorld Dec 24, 2025
3585003
test: add coverage for Lambda_k, Z_k_e, and make_R_Z edge cases
HopeBestWorld Dec 24, 2025
fdc2db5
test: fix AttributeError in Results tests by configuring mock body he…
HopeBestWorld Dec 24, 2025
6ff76b9
Merge pull request #61 from symbiotic-engineering/test-coverage
HopeBestWorld Dec 24, 2025
dbe5508
ci: add project coverage check with 1% threshold
HopeBestWorld Dec 24, 2025
6c1a60a
ci: configure unit coverage flag
HopeBestWorld Dec 24, 2025
3ab19d9
ci: add codecov components for source and tests
HopeBestWorld Dec 24, 2025
d6fee12
updating streamlit app for github pages
HopeBestWorld Dec 24, 2025
d69805d
Merge pull request #62 from symbiotic-engineering/code-cove
HopeBestWorld Dec 24, 2025
5d60e24
feat(engine): complete multi-layer caching and fix hydro coefficient …
HopeBestWorld Dec 25, 2025
3ac094c
Updated test_run_and_store_results_branches to patch linalg.lu_factor…
HopeBestWorld Dec 25, 2025
a76612d
Merge pull request #63 from symbiotic-engineering/feat-engine
HopeBestWorld Dec 25, 2025
b7de31e
update threshold
HopeBestWorld Dec 25, 2025
e373c24
Merge pull request #64 from symbiotic-engineering/codecov
HopeBestWorld Dec 25, 2025
a6ac288
Merge branch 'main' into timing-improvements
HopeBestWorld Dec 25, 2025
665769c
updating test
HopeBestWorld Dec 25, 2025
ba0e0cb
Fix data structure mismatch in test_meem_integration.py
HopeBestWorld Dec 25, 2025
88e6ca8
Merge pull request #56 from symbiotic-engineering/timing-improvements
HopeBestWorld Dec 25, 2025
a39e281
Removes requirements.txt to eliminate redundant dependency definition…
HopeBestWorld Dec 25, 2025
200c196
build: remove requirements.txt references from docs and workflows
HopeBestWorld Dec 25, 2025
2c0954b
Merge pull request #65 from symbiotic-engineering/refactor-ci
HopeBestWorld Dec 25, 2025
5834115
Fix tutorial notebook and add regression test
HopeBestWorld Dec 25, 2025
18f4162
Fix tutorial execution and Results class initialization
HopeBestWorld Dec 25, 2025
242a1cc
update threshold
HopeBestWorld Dec 25, 2025
88838ce
add test coverage
HopeBestWorld Dec 25, 2025
bd07fac
update thresholds
HopeBestWorld Dec 25, 2025
3355feb
Add test coverage for explicit mode initialization in Results class
HopeBestWorld Dec 25, 2025
05d8643
Merge pull request #66 from symbiotic-engineering/fix-tutorial
HopeBestWorld Dec 25, 2025
fa99d3c
capture excitation force/phase and fix type hints
HopeBestWorld Jan 4, 2026
2d23cd0
Merge pull request #67 from symbiotic-engineering/update-notebook
HopeBestWorld Jan 4, 2026
be40d55
Add matrix verification test suite for all configs
HopeBestWorld Jan 5, 2026
ffc462d
Merge pull request #68 from symbiotic-engineering/matrix
HopeBestWorld Jan 5, 2026
78be147
update
HopeBestWorld Jan 12, 2026
736a1e6
Merge pull request #70 from symbiotic-engineering/update
HopeBestWorld Jan 12, 2026
0fa25b5
delete non vectorized functions
HopeBestWorld Jan 12, 2026
1e682ca
applied the np.asarray() casting to all vectorized functions (R_1n, R…
HopeBestWorld Jan 12, 2026
97585fd
updating test
HopeBestWorld Jan 12, 2026
85107b2
explicitly cast inputs to float inside the vectorized functions
HopeBestWorld Jan 12, 2026
9e28a0a
Infinite Frequency limit
HopeBestWorld Jan 12, 2026
67e278b
updates the expectations for the infinite frequency case
HopeBestWorld Jan 12, 2026
8c416e5
Merge pull request #71 from symbiotic-engineering/vectorize
HopeBestWorld Jan 12, 2026
13837a3
Optimize MEEM matrix assembly and fix closure scope issues
HopeBestWorld Jan 18, 2026
00c950b
variable name change
HopeBestWorld Jan 18, 2026
15372cc
optimize MEEM matrix assembly with vectorized blocks
HopeBestWorld Jan 18, 2026
791df5f
add explicit h5py dependency to resolve CI failure
HopeBestWorld Jan 18, 2026
230a8d5
Merge pull request #72 from symbiotic-engineering/recompute
HopeBestWorld Jan 18, 2026
ebc8dfa
adding benchmark test comparing accuracy, memory, convergence, runtim…
HopeBestWorld Feb 25, 2026
3341c60
Merge pull request #73 from symbiotic-engineering/benchmark_test
HopeBestWorld Feb 25, 2026
aa5db42
feat: extract c_vector assembly and add to NetCDF export
HopeBestWorld Mar 25, 2026
fb0bb34
Merge pull request #75 from symbiotic-engineering/c-vector
HopeBestWorld Mar 25, 2026
66369ed
Change gitignore to include some .calkit artifacts
Y-Bimali Mar 30, 2026
88f99ff
Fixes first radia eigenfunction nmk=0 issue, and some potentential is…
Y-Bimali Mar 30, 2026
431c74a
Changes test case to new formula
Y-Bimali Mar 31, 2026
38faeb0
Merge pull request #76 from symbiotic-engineering/radial-eigenfunctio…
Y-Bimali Mar 31, 2026
8ed6531
Update submodule URL to include .git extension
rebeccamccabe Apr 5, 2026
aada591
Merge pull request #78 from symbiotic-engineering/fix-submodule-url
rebeccamccabe Apr 5, 2026
b74eccb
docs: update paper format and biblio for JOSS 2026 scope requirements
HopeBestWorld Apr 22, 2026
b4e6ec4
Merge pull request #80 from symbiotic-engineering/joss-update
HopeBestWorld Apr 22, 2026
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
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .dvc/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/config.local
/tmp
/cache
5 changes: 5 additions & 0 deletions .dvc/config
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[core]
remote = calkit
['remote "calkit"']
url = https://api.calkit.io/projects/symbiotic-engineering/openflash/dvc
auth = custom
3 changes: 3 additions & 0 deletions .dvcignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Add patterns of files dvc should ignore, which could improve
# the performance. Learn more at
# https://dvc.org/doc/user-guide/dvcignore
42 changes: 42 additions & 0 deletions .github/codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
coverage:
round: up
range: 0..10
precision: 5
status:
project:
default:
target: auto
threshold: 10%
# Indented correctly under project
unit_tests_coverage:
target: auto
threshold: 10%
flags:
- unit

codecov:
strict_yaml_branch: default
max_report_age: off

flags:
unit:
paths:
- package/src/
carryforward: true

# NEW: Component Management Configuration
component_management:
default_rules:
statuses:
- type: project
target: auto
threshold: 10%
individual_components:
- component_id: source_code
name: Source Code
paths:
- package/src/**
- component_id: tests
name: Tests
paths:
- package/test/**
Empty file removed .github/workflows/.secrets
Empty file.
109 changes: 51 additions & 58 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,68 +3,61 @@ name: CI Test
on:
push:
branches:
- main # Listen for pushes to the main branch
- main
pull_request:
branches:
- main # Listen for pull requests targeting the main branch
- main

jobs:
test:
runs-on: ubuntu-latest # Use the latest Ubuntu image
runs-on: ubuntu-latest

steps:
# Checkout code
- name: Checkout code
uses: actions/checkout@v3

# Set up Python environment
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.10' # Use Python 3.10

# Install dependencies
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest pytest-cov
pip install -r requirements.txt

# Run tests with coverage reports
- name: Run tests with coverage reports
run: |
pytest package/test/ --cov=package/src --cov-report=html:coverage/html --cov-report=xml:coverage/coverage.xml --junitxml=test-results/junit.xml

# List Coverage Directory
- name: List Coverage Directory
run: ls -R coverage/

# List Test Results Directory
- name: List Test Results Directory
run: ls -R test-results/

# Upload coverage to Codecov
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
files: coverage/coverage.xml # Specify the path to the coverage XML report
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}

# Publish test results to GitHub UI
- name: Publish test report to GitHub UI
uses: mikepenz/action-junit-report@v5
if: always()
with:
report_paths: 'test-results/junit.xml'

# Upload test and coverage artifacts
- name: Upload test and coverage artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: test-and-coverage-reports
path: |
test-results/junit.xml
coverage/coverage.xml
coverage/html/**
- name: Checkout code
uses: actions/checkout@v3

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.10"

# UPDATED STEP
- name: Install dependencies
run: |
python -m pip install --upgrade pip
# Installs the package in editable mode (-e) with "dev" extras from pyproject.toml
pip install -e .[dev]

- name: Run tests with coverage reports
run: |
pytest package/test/ --cov=package/src --cov-report=html:coverage/html --cov-report=xml:coverage/coverage.xml --junitxml=test-results/junit.xml

- name: List Coverage Directory
run: ls -R coverage/

- name: List Test Results Directory
run: ls -R test-results/

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
files: coverage/coverage.xml
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
flags: unit

- name: Publish test report to GitHub UI
uses: mikepenz/action-junit-report@v5
if: always()
with:
report_paths: "test-results/junit.xml"

- name: Upload test and coverage artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: test-and-coverage-reports
path: |
test-results/junit.xml
coverage/coverage.xml
coverage/html/**
83 changes: 83 additions & 0 deletions .github/workflows/deploy-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
name: Deploy Sphinx Docs to GitHub Pages

on:
workflow_dispatch: # gets dispatched from PR tagging workflow or manually

concurrency:
group: "pages"
cancel-in-progress: true

jobs:
build-and-deploy:
runs-on: ubuntu-latest

permissions:
pages: write
id-token: write

environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}

steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"

- name: Install pandoc (system-level)
run: |
sudo apt-get update
sudo apt-get install -y pandoc

- name: Install Python dependencies and local package
run: |
python -m pip install --upgrade pip
pip install .[dev]

- name: Build Sphinx documentation
run: |
sphinx-build -b html docs/ docs/_build/html

- name: Copy Streamlit app to docs output root
run: |
cp docs/_static/app_streamlit.html docs/_build/html/

# Add _headers for Stlite Cross-Origin Isolation ---
- name: Add Cross-Origin Headers for Stlite
run: |
echo "/*" > docs/_build/html/_headers
echo " Cross-Origin-Opener-Policy: same-origin" >> docs/_build/html/_headers
echo " Cross-Origin-Embedder-Policy: require-corp" >> docs/_build/html/_headers

# Create ZIP Artifact for Download
- name: Compress Docs to ZIP
run: zip -r docs-preview.zip docs/_build/html

- name: Upload Docs Preview Artifact
uses: actions/upload-artifact@v4
with:
name: docs-preview
path: docs-preview.zip # Uploads the newly created .zip file
retention-days: 1

- name: Upload artifact # This is the Pages artifact uploader
uses: actions/upload-pages-artifact@v3
with:
path: docs/_build/html

- name: Get latest tag to decide whether to deploy
run: |
echo "tag=$(git describe --tags --abbrev=0)"
echo "tag=$(git describe --tags --abbrev=0)" >> $GITHUB_OUTPUT
id: get-tag

- name: Deploy to GitHub Pages
id: deployment
if: ${{ !contains(steps.get-tag.outputs.tag , 'rc') }}
uses: actions/deploy-pages@v4
30 changes: 30 additions & 0 deletions .github/workflows/draft-pdf.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Draft PDF
on:
push:
paths:
- 'pubs/joss/paper.md'
- 'pubs/joss/paper.bib'
- 'pubs/figs/**' # To trigger on image changes
- '.github/workflows/draft-pdf.yml' # To trigger on workflow changes

jobs:
paper:
runs-on: ubuntu-latest
name: Paper Draft
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build draft PDF
uses: openjournals/openjournals-draft-action@master
with:
journal: joss
# This should be the path to the paper within your repo.
paper-path: pubs/joss/paper.md
- name: Upload
uses: actions/upload-artifact@v4
with:
name: paper
# This is the output path where Pandoc will write the compiled
# PDF. Note, this should be the same directory as the input
# paper.md
path: pubs/joss/paper.pdf
97 changes: 97 additions & 0 deletions .github/workflows/pr-tagging.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
name: PR Tagging and RC Tag Management

# This workflow creates a tag for pull requests into the main branch.
# The tag for open pull requests is of the form vX.Y.ZrcPRNUM
# where X.Y.Z is the base version (which is incremented according to the PR title)
# and PRNUM is the pull request number (to prevent conflicts for multiple PRs open at once).
# By default the Z number is incremented, but if the PR title contains [major] or [minor],
# the X or Y version numbers are incremented respectively.
# The tag for merged pull requests is of the form vX.Y.Z with no additions.

on:
pull_request:
types: [opened, reopened, synchronize, closed]
branches:
- main
workflow_dispatch:

permissions:
contents: write
issues: write
actions: write
packages: write
id-token: write

jobs:
manage-pr-tags:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Compute base version (bump patch/minor/major from PR title)
id: compute_base
run: |
PR_TITLE="${{ github.event.pull_request.title || '' }}"
base=$(bash scripts/compute_base.sh "$PR_TITLE")
echo "base=$base" >> $GITHUB_OUTPUT

- name: Check if rc tag already exists and if so compute rc-dev tag
id: check_rc
run: |
rc_tag="${{ steps.compute_base.outputs.base }}rc${{ github.event.pull_request.number }}"
if git rev-parse "$rc_tag" >/dev/null 2>&1; then
devN=$(git rev-list --count $rc_tag..HEAD)
rc_dev_tag="${rc_tag}dev${devN}"
else
rc_dev_tag="${rc_tag}"
fi
echo "rc_dev_tag=${rc_dev_tag}" >> $GITHUB_OUTPUT

- name: Create rc tag
id: create_rc
if: ${{ github.event.action == 'opened' || github.event.action == 'reopened' || github.event.action == 'synchronize' }}
uses: rickstaa/action-create-tag@v1
with:
tag: "${{ steps.check_rc.outputs.rc_dev_tag }}"
message: "Release ${{ steps.check_rc.outputs.rc_dev_tag }}"
commit_sha: ${{ github.event.pull_request.head.sha }}

- name: Create final tag
if: ${{ github.event.action == 'closed' && github.event.pull_request.merged == true }}
uses: rickstaa/action-create-tag@v1
with:
tag: ${{ steps.compute_base.outputs.base }}
message: "Release ${{ steps.compute_base.outputs.base }}"
commit_sha: ${{ github.event.pull_request.merge_commit_sha }}

- name: Dispatch docs deploy and publish package workflows
if: ${{ github.event.action == 'closed' && github.event.pull_request.merged == false }} == false
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
try {
const owner = context.repo.owner;
const repo = context.repo.repo;
const workflow_id_1 = 'deploy-docs.yml';
const workflow_id_2 = 'publish-package.yml';

let ref;
if (${{ github.event.action == 'closed' && github.event.pull_request.merged == true }}) {
ref = '${{ github.ref_name }}';
}
else {
ref = '${{ github.head_ref || github.ref }}';
}

const resp = await github.rest.actions.createWorkflowDispatch({ owner, repo, workflow_id: workflow_id_1, ref });
const resp2 = await github.rest.actions.createWorkflowDispatch({ owner, repo, workflow_id: workflow_id_2, ref });
console.log('docs dispatch response', resp && resp.status ? resp.status : resp);
console.log('package dispatch response', resp2 && resp2.status ? resp2.status : resp2);
} catch (err) {
console.error('dispatch failed', err && err.status ? { status: err.status, message: err.message } : err);
throw err;
}
Loading
Loading