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

Develop #280

Merged
merged 680 commits into from
Jan 28, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
680 commits
Select commit Hold shift + click to select a range
8a46fd9
Bumping version
DominicDirkx Oct 4, 2024
c02d1ac
first version set reference points in ObservationCollection.
SamFayolle Oct 4, 2024
88ec5ae
Juice test
DominicDirkx Oct 7, 2024
1532291
Juice test
DominicDirkx Oct 7, 2024
5b421d9
Disabling uncompleted test
DominicDirkx Oct 7, 2024
6107695
Bump version: 2.13.0.dev21 → 2.13.0.dev22
actions-user Oct 8, 2024
58f8581
Bump version: 2.13.0.dev22 → 2.13.0.dev23
actions-user Oct 9, 2024
0b4be08
changed reference point position to ephemeris object.
SamFayolle Oct 9, 2024
f62029f
fixed merge conflicts.
SamFayolle Oct 9, 2024
2291c24
Bump version: 2.13.0.dev23 → 2.13.0.dev24
actions-user Oct 10, 2024
7a7dd34
Updates to Doppler test
DominicDirkx Oct 10, 2024
87eb4b9
Bump version: 2.13.0.dev24 → 2.13.0.dev25
actions-user Oct 11, 2024
5a78714
Small bug-fixed to obsevation organization
DominicDirkx Oct 11, 2024
bdefcdd
Merge pull request #248 from tudat-team/feature/observation_set_fix
DominicDirkx Oct 11, 2024
5406a13
Bump version: 2.13.0.dev25 → 2.13.0.dev26
actions-user Oct 12, 2024
cc1e571
Merge pull request #192 from kimonito98/temp
DominicDirkx Oct 14, 2024
f228c36
Partial merge
DominicDirkx Oct 14, 2024
a3019db
Testing automatic addition of FFTW
DominicDirkx Oct 14, 2024
d99fd56
Update build_and_test.yml
DominicDirkx Oct 15, 2024
6a0c893
Update build_and_test.yml
DominicDirkx Oct 15, 2024
c8842da
Merge branch 'develop' into feature/juice_doppler
DominicDirkx Oct 15, 2024
312cae2
Merged
DominicDirkx Oct 15, 2024
05d3653
Interface updates
DominicDirkx Oct 15, 2024
3dd43e4
Extended tests to automatic Doppler reading
DominicDirkx Oct 16, 2024
ca12e02
Adding debug info for finding FFTW
DominicDirkx Oct 16, 2024
ac26c02
Merged
DominicDirkx Oct 16, 2024
8f80a08
Update build_and_test.yml
DominicDirkx Oct 16, 2024
f5f5aab
Update build_and_test.yml
DominicDirkx Oct 16, 2024
9e11f0f
Update FindFFTW.cmake
DominicDirkx Oct 16, 2024
d5870c8
Correcting search
DominicDirkx Oct 16, 2024
f060554
Delete find script
DominicDirkx Oct 16, 2024
4171306
Update unitTestRadiationPressureEstimation.cpp
DominicDirkx Oct 16, 2024
34bba3c
Update unitTestRadiationPressureEstimation.cpp
DominicDirkx Oct 16, 2024
b15c06f
Update CMakeLists.txt
DominicDirkx Oct 16, 2024
a7c9e60
Update TudatLinkLibraries.cmake
DominicDirkx Oct 16, 2024
9f35df2
Update CMakeLists.txt
DominicDirkx Oct 16, 2024
28f785b
Update CMakeLists.txt
DominicDirkx Oct 16, 2024
fdbf1ca
Merge pull request #251 from tudat-team/feature/doppler_interface_update
DominicDirkx Oct 16, 2024
a76c87a
Manual fftw3 definition
DominicDirkx Oct 16, 2024
7bff48c
Corrected include (?)
DominicDirkx Oct 16, 2024
94ec0f8
COrrecting Windows FFTW library
DominicDirkx Oct 16, 2024
a53fee3
Setting FFTW3 as optional module
DominicDirkx Oct 16, 2024
0f91b72
Turning FFTW3 on by default
DominicDirkx Oct 16, 2024
a1e3b42
Bump version: 2.13.0.dev26 → 2.13.0.dev27
actions-user Oct 17, 2024
0700ad3
Update to allow fftw3 to be turned on/off
DominicDirkx Oct 17, 2024
17a9b2b
Removing unfinished line
DominicDirkx Oct 17, 2024
76aa830
Merged
DominicDirkx Oct 17, 2024
7b393bb
Corrections to unit tests
DominicDirkx Oct 17, 2024
fb05a5f
Disabled clock noise test if FFTW dependency is off
DominicDirkx Oct 17, 2024
080cd90
Corrected tolerance
DominicDirkx Oct 17, 2024
0212f43
Modifying tolerance
DominicDirkx Oct 17, 2024
fa90735
first working version new obs dependent variables interface.
SamFayolle Oct 17, 2024
28f22ab
Minor updates to layout; reverting build and test
DominicDirkx Oct 17, 2024
12fdd71
Merge pull request #250 from tudat-team/feature/clock_noise_models
DominicDirkx Oct 17, 2024
ec532ea
Bump version: 2.13.0.dev27 → 2.13.0.dev28
actions-user Oct 18, 2024
67bb9b8
Added exposure
DominicDirkx Oct 18, 2024
c95654c
Bump version: 2.13.0.dev28 → 2.13.0.dev29
actions-user Oct 19, 2024
57cbd0a
20 october version
kimonito98 Oct 20, 2024
a5d457c
20 october update. Silently updating the environment if input values …
kimonito98 Oct 20, 2024
02a5efc
Merge branch 'develop' into specular_and_diffuse
DominicDirkx Oct 21, 2024
2cb76b5
Update CMakeLists.txt
DominicDirkx Oct 21, 2024
bd26eca
20 october update. Silently updating the environment if input values …
kimonito98 Oct 21, 2024
2703d50
Merge branch 'specular_and_diffuse' of https://github.com/kimonito98/…
kimonito98 Oct 21, 2024
e5c9700
working dependent variables interface (code needs clean-up).
SamFayolle Oct 21, 2024
9908fe4
Extended partials test
DominicDirkx Oct 21, 2024
3988bc9
Deleted file
DominicDirkx Oct 21, 2024
61c2a19
Generalized consistency of radiation panel property estimation
DominicDirkx Oct 22, 2024
5243b11
Radiation pressure partial correction
DominicDirkx Oct 22, 2024
29c5235
Progress on radiation pressure tests
DominicDirkx Oct 22, 2024
386b64c
Fixed TLE time scale
DominicDirkx Oct 23, 2024
088289d
Removed cout statement
DominicDirkx Oct 23, 2024
afa7841
Merge branch 'develop' into specular_and_diffuse
DominicDirkx Oct 23, 2024
8a94d1b
Corrected radiation pressure estimation
DominicDirkx Oct 23, 2024
7a9d911
both observation dependent variables tests passing.
SamFayolle Oct 23, 2024
84d4dcd
Going to move input/output of radiation pressure parameters
DominicDirkx Oct 23, 2024
438eeec
First half of parameters refatored
DominicDirkx Oct 23, 2024
4472642
Merged diffuse and specular parameters
DominicDirkx Oct 23, 2024
64f4a8b
Minor corrections to radiation pressure test
DominicDirkx Oct 23, 2024
fe07135
Modified file names
DominicDirkx Oct 23, 2024
7c045fe
changed output type dependent variables.
SamFayolle Oct 23, 2024
21139ef
Corrected test compilation; removed unneeded functions
DominicDirkx Oct 23, 2024
d5fbcc0
cleaned new dependent variables interface code.
SamFayolle Oct 23, 2024
c029811
fixed merge conflicts.
SamFayolle Oct 23, 2024
603899c
Bump version: 2.13.0.dev29 → 2.13.0.dev30
actions-user Oct 24, 2024
40734f0
Corrected tolerances
DominicDirkx Oct 24, 2024
0c132e1
Corrected tolerances
DominicDirkx Oct 24, 2024
89d2323
Corrected tolerances
DominicDirkx Oct 24, 2024
11c2508
Merge pull request #233 from kimonito98/specular_and_diffuse
DominicDirkx Oct 24, 2024
a22fdab
Bump version: 2.13.0.dev30 → 2.13.0.dev31
actions-user Oct 25, 2024
20dd79a
added dependent variable-based filter.
SamFayolle Oct 25, 2024
725c19b
commented new dependent variables interface code.
SamFayolle Oct 25, 2024
26f2c14
minor warning fixes.
SamFayolle Oct 25, 2024
7cd8146
Merge pull request #255 from SamFayolle/feature/odf_tests
DominicDirkx Oct 25, 2024
49dcb09
Bump version: 2.13.0.dev31 → 2.13.0.dev32
actions-user Oct 26, 2024
da26105
New feature: read and process sequential range from ODF file.
valeriof7 Oct 31, 2024
01c9dc8
Remove erroneous file
DominicDirkx Oct 31, 2024
625a496
Merged
DominicDirkx Oct 31, 2024
1c29327
Merged
DominicDirkx Oct 31, 2024
8ddf1e8
Removed merge statement
DominicDirkx Oct 31, 2024
5916eef
Corrected variable access
DominicDirkx Oct 31, 2024
de37c11
Bump version: 2.13.0.dev32 → 2.13.0.dev33
actions-user Nov 1, 2024
40da553
Bump version: 2.13.0.dev33 → 2.13.0.dev34
actions-user Nov 2, 2024
c511dc4
small additions and fixes for MRO example.
SamFayolle Nov 3, 2024
7ea7a95
Added dsn range model (not yet working)
DominicDirkx Nov 4, 2024
c89ae50
Corrected ramp call in dsn range
DominicDirkx Nov 4, 2024
315e9c5
Merge remote-tracking branch 'origin/develop' into feature/odf_range
DominicDirkx Nov 4, 2024
33a4b3f
Correcting tolerances
DominicDirkx Nov 4, 2024
f5d0c94
Merged and updated to long double compatibility
DominicDirkx Nov 5, 2024
8c869c7
Merge pull request #256 from tudat-team/feature/odf_range
DominicDirkx Nov 5, 2024
92633f4
Update build_and_test.yml
DominicDirkx Nov 5, 2024
4ada1cf
Update unitTestTransmittingFrequencies.cpp
DominicDirkx Nov 5, 2024
c59ff2a
Merge pull request #257 from tudat-team/feature/odf_extension
DominicDirkx Nov 5, 2024
9a4b73a
Bump version: 2.13.0.dev34 → 2.13.0.dev35
actions-user Nov 6, 2024
92ea734
Bump version: 2.13.0.dev35 → 2.13.0.dev36
actions-user Nov 7, 2024
3827c85
removed multiple warnings when splitting single obs sets with filtere…
SamFayolle Nov 7, 2024
c13648a
Bump version: 2.13.0.dev36 → 2.13.0.dev37
actions-user Nov 8, 2024
06482fd
Bump version: 2.13.0.dev37 → 2.13.0.dev38
actions-user Nov 9, 2024
fd21a0d
Merge branch 'develop' of https://github.com/tudat-team/tudat into fe…
SamFayolle Nov 11, 2024
fd90bab
Small update to transmission time computation
DominicDirkx Nov 11, 2024
4f71971
Update unitTestTransmittingFrequencies.cpp
DominicDirkx Nov 11, 2024
a018418
Merge pull request #259 from SamFayolle/feature/odf_tests
DominicDirkx Nov 11, 2024
b04262d
Merge pull request #258 from tudat-team/feature/transmission_correction
DominicDirkx Nov 11, 2024
6e968cd
Bump version: 2.13.0.dev38 → 2.13.0.dev39
actions-user Nov 12, 2024
79373da
Fix and enhance observation model setup
valeriof7 Nov 12, 2024
91bcb9b
Removed extern templates
DominicDirkx Nov 13, 2024
11222ad
Update CMakeLists.txt
DominicDirkx Nov 14, 2024
ae9dc3f
Re-enable tests
DominicDirkx Nov 14, 2024
c2ec600
Use ObservatioModelSetting class as base class for DsnNWayRangeObserv…
valeriof7 Nov 14, 2024
78b4e2c
Update unitTestLightTimePartials.cpp
DominicDirkx Nov 14, 2024
b0d5296
Merge pull request #261 from tudat-team/feature/remove_extern_templates
DominicDirkx Nov 14, 2024
469a572
Bump version: 2.13.0.dev39 → 2.13.0.dev40
actions-user Nov 14, 2024
50d94df
Bump version: 2.13.0.dev40 → 2.13.0.dev41
actions-user Nov 15, 2024
40ee8ff
Extensin of termination condition
DominicDirkx Nov 15, 2024
03da4ff
Corrected types for custom termination
DominicDirkx Nov 15, 2024
9cfed98
Merge remote-tracking branch 'upstream/develop' into feature/odf_range
valeriof7 Nov 15, 2024
63e715a
Corrected new unit test
DominicDirkx Nov 15, 2024
e213afc
Merge pull request #262 from tudat-team/feature/flexible_termination
DominicDirkx Nov 15, 2024
c460db0
Working on fix
DominicDirkx Nov 15, 2024
a41f48a
Bump version: 2.13.0.dev41 → 2.13.0.dev42
actions-user Nov 16, 2024
b880cc7
Updates and corrections to viability calculator
DominicDirkx Nov 16, 2024
a116616
Corrected viability settings
DominicDirkx Nov 16, 2024
2c0004d
Merged
DominicDirkx Nov 16, 2024
4de5044
minor fixes for GRAIL fit to spice example.
SamFayolle Nov 18, 2024
db43953
Correcting bug for obsevations with identical times
DominicDirkx Nov 18, 2024
d57776c
Merge remote-tracking branch 'origin/develop' into develop
DominicDirkx Nov 18, 2024
9b1e221
Merged
DominicDirkx Nov 18, 2024
189568d
As per docs of setup-miniconda GH action, conda 23.10 and above uses …
niketagrawal Nov 18, 2024
8abbb9a
Extended viability test to 2-way
DominicDirkx Nov 18, 2024
d60f485
do not activate base upon creation of conda env
niketagrawal Nov 18, 2024
c0afb5b
use default conda version
niketagrawal Nov 18, 2024
6942f48
replace mamba with conda
niketagrawal Nov 18, 2024
b054851
Corrected test
DominicDirkx Nov 18, 2024
c8c4b50
Merge pull request #265 from SamFayolle/feature/odf_tests
DominicDirkx Nov 18, 2024
45cae18
Suppressed warning (?)
DominicDirkx Nov 18, 2024
586758a
Merge pull request #263 from tudat-team/feature/viability_calculator_fix
DominicDirkx Nov 18, 2024
dac83a7
Bump version: 2.13.0.dev42 → 2.13.0.dev43
actions-user Nov 19, 2024
55f9f85
Debug conda cache step: print cond env location on the runner
niketagrawal Nov 19, 2024
9e52467
conda env location on the runner must be updated after changes to the…
niketagrawal Nov 19, 2024
28b3009
Conda cache step failure issue fixed. Remove debug print
niketagrawal Nov 19, 2024
5b02b3c
Bump version: 2.13.0.dev43 → 2.13.0.dev44
actions-user Nov 20, 2024
b81dc02
Merge pull request #264 from tudat-team/fix-243-remove-deprecated-mam…
DominicDirkx Nov 20, 2024
6d6ff75
Bump version: 2.13.0.dev44 → 2.13.0.dev45
actions-user Nov 21, 2024
41ab46e
Merge branch 'develop' into feature/odf_range
DominicDirkx Nov 21, 2024
d97eadd
Ongoing test
DominicDirkx Nov 22, 2024
7c248a0
First version of error supporession
DominicDirkx Nov 22, 2024
68263c4
Merge branch 'feature/spcie_error_suppression' into feature/odf_range
DominicDirkx Nov 22, 2024
579b4a8
Bump version: 2.13.0.dev45 → 2.13.0.dev46
actions-user Nov 22, 2024
687fcf7
Bump version: 2.13.0.dev46 → 2.13.0.dev47
actions-user Nov 23, 2024
b823443
With additional preliminary code for tetsing spice error handling
DominicDirkx Nov 25, 2024
2858d16
Reworking partial test
DominicDirkx Dec 5, 2024
58e8e83
Removed debug printing and add range ancillary setting 'range_convers…
valeriof7 Dec 5, 2024
691247b
Test progress
DominicDirkx Dec 6, 2024
6b2efd2
Bump version: 2.13.0.dev47 → 2.13.0.dev48
actions-user Dec 7, 2024
ef22038
Reworked 2-way Doppler test
DominicDirkx Dec 9, 2024
7cec905
Fix the calculation of the conversion factor. Note that the conversio…
valeriof7 Dec 10, 2024
27f6b47
Working on model
DominicDirkx Dec 10, 2024
2ceb47c
Merge branch 'develop' into feature/odf_range
DominicDirkx Dec 10, 2024
d4e1db9
Remove unitTestTransmittingFrequencies from the test list
valeriof7 Dec 12, 2024
7cd102b
Add comments to the CSPICE error handling functions
valeriof7 Dec 12, 2024
1e71060
Merge pull request #268 from valeriof7/feature/odf_range
DominicDirkx Dec 12, 2024
c5d16a6
Re-enabling most transmitter tests
DominicDirkx Dec 12, 2024
ace740d
Merged
DominicDirkx Dec 12, 2024
98de1d9
Bump version: 2.13.0.dev48 → 2.13.0.dev49
actions-user Dec 13, 2024
9bd0845
Moving to develop for test
DominicDirkx Dec 13, 2024
29ac260
Working on refining Doppler partial
DominicDirkx Dec 13, 2024
0a4d0b6
Bump version: 2.13.0.dev49 → 2.13.0.dev50
actions-user Dec 14, 2024
935e68c
Corrected build
DominicDirkx Dec 14, 2024
b2a2072
Compilation correction
DominicDirkx Dec 14, 2024
7249b2e
Fixed one-way doppler
DominicDirkx Dec 16, 2024
181d025
Test progress
DominicDirkx Dec 16, 2024
c5b587a
Progress in proper time partials
DominicDirkx Dec 17, 2024
544b53a
Moving non-link end proper time partials
DominicDirkx Dec 17, 2024
0bd3d5f
Working further on doppler tests
DominicDirkx Dec 17, 2024
97d0918
Update to Doppler models
DominicDirkx Dec 17, 2024
4bee5a2
Doppler partials working; light time derivative partial not yet imple…
DominicDirkx Dec 17, 2024
cd4b3f3
Corrected light time correction gradient effects in Doppler models
DominicDirkx Dec 18, 2024
3cb6769
Warning suppressions
DominicDirkx Dec 18, 2024
48a001f
Progress on light time gradient partials
DominicDirkx Dec 18, 2024
dc285a3
Fixed Doppler partials!
DominicDirkx Dec 18, 2024
e2bf6ef
Warning suppression; test re-enabling
DominicDirkx Dec 18, 2024
8000af8
Added corrected 2-way frequency partials observable
DominicDirkx Dec 18, 2024
e98ef0a
Update unitTestRadiationPressureEstimation.cpp
DominicDirkx Dec 18, 2024
9b196aa
Correcting test tolerance
DominicDirkx Dec 19, 2024
2cb7e12
Adding extra test output
DominicDirkx Dec 19, 2024
bbe99a0
Corrected tests
DominicDirkx Dec 19, 2024
aaa93f8
Test working all along
DominicDirkx Dec 19, 2024
6ccfc0b
Merge pull request #270 from tudat-team/feature/doppler_extension
DominicDirkx Dec 19, 2024
622683c
Bump version: 2.13.0.dev50 → 2.13.0.dev51
actions-user Dec 20, 2024
4bfbc8c
Bump version: 2.13.0.dev51 → 2.13.0.dev52
actions-user Dec 21, 2024
b3a62d7
Added warning to propagation output settings
DominicDirkx Jan 8, 2025
f607286
Bump version: 2.13.0.dev52 → 2.13.0.dev53
actions-user Jan 9, 2025
a04edf9
Minor modifications for IFMS and Fdets file reading
DominicDirkx Jan 9, 2025
e4943be
Modified IFMS test
DominicDirkx Jan 9, 2025
2b9cf81
Update observationSimulator.h
DominicDirkx Jan 10, 2025
d6f8277
Bump version: 2.13.0.dev53 → 2.13.0.dev54
actions-user Jan 11, 2025
9064c7c
fix typo
larshinueber Jan 12, 2025
b7f378c
Merge pull request #276 from larshinueber/develop
DominicDirkx Jan 13, 2025
2483609
Intermediate commit
DominicDirkx Jan 13, 2025
8111c3b
Corrected TLE reading
DominicDirkx Jan 13, 2025
cd905e0
Merge remote-tracking branch 'origin/develop' into develop
DominicDirkx Jan 13, 2025
e49661a
Bump version: 2.13.0.dev54 → 2.13.0.dev55
actions-user Jan 14, 2025
4f16d9a
Merge branch 'develop' into feature/station_position_automation
DominicDirkx Jan 15, 2025
8b42cd8
Corrected IFMS tests
DominicDirkx Jan 15, 2025
49f49f7
Merge pull request #275 from tudat-team/feature/station_position_auto…
DominicDirkx Jan 15, 2025
44d9f1e
Bump version: 2.13.0.dev55 → 2.13.0.dev56
actions-user Jan 16, 2025
bde7e21
Bump version: 2.13.0.dev56 → 2.13.0.dev57
actions-user Jan 17, 2025
ff40308
Minor changes to time conversion function
DominicDirkx Jan 17, 2025
86589bc
Deleted file
DominicDirkx Jan 17, 2025
3a321b5
Merge pull request #277 from tudat-team/feature/interface_fix
DominicDirkx Jan 17, 2025
b972581
Bump version: 2.13.0.dev57 → 2.13.0.dev58
actions-user Jan 18, 2025
6f4e51e
Going to work on fdets files
DominicDirkx Jan 20, 2025
afc510c
Added extra interfaces
DominicDirkx Jan 20, 2025
beca11d
Corrected compiler error
DominicDirkx Jan 20, 2025
eea3bec
Compiler error fix
DominicDirkx Jan 20, 2025
bff1ccd
Compiler error fixed
DominicDirkx Jan 20, 2025
ea55aa9
Compile error fixed
DominicDirkx Jan 20, 2025
470559a
Adding sgp4 ephemeris from two lines
DominicDirkx Jan 20, 2025
47056e5
Added topocentric frame function
DominicDirkx Jan 20, 2025
971a009
Merge pull request #278 from tudat-team/feature/frame_conversions
DominicDirkx Jan 21, 2025
4a7753f
Merge branch 'develop' into feature/observation_collection_logic
DominicDirkx Jan 21, 2025
7e46333
Split observations.h file
DominicDirkx Jan 21, 2025
581df44
Bump version: 2.13.0.dev58 → 2.13.0.dev59
actions-user Jan 22, 2025
9a902f4
Merge pull request #279 from tudat-team/feature/observation_file_split
DominicDirkx Jan 22, 2025
54e65d1
Added missing function
DominicDirkx Jan 22, 2025
6d1a874
Merge remote-tracking branch 'origin/develop' into develop
DominicDirkx Jan 22, 2025
c0b158c
Bump version: 2.13.0.dev59 → 2.13.0.dev60
actions-user Jan 23, 2025
901d502
Corrected compiler warnings
DominicDirkx Jan 23, 2025
6c981d9
Merged
DominicDirkx Jan 23, 2025
ec60a8a
Bump version: 2.13.0.dev60 → 2.13.0.dev61
actions-user Jan 24, 2025
8e4602c
Bump version: 2.13.0.dev61 → 2.13.0.dev62
actions-user Jan 25, 2025
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
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 2.13.0
current_version = 2.13.0.dev62
commit = True
tag = True
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(\.(?P<release>[a-z]+)(?P<dev>\d+))?
Expand Down
185 changes: 0 additions & 185 deletions .circleci/config.yml

This file was deleted.

9 changes: 0 additions & 9 deletions .clang-format

This file was deleted.

152 changes: 152 additions & 0 deletions .github/workflows/build_and_test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
# This workflow builds and tests the tudat source code on Windows, Linux, and MacOS using GitHub Actions. It is triggered upon push and pull requests to master, develop, and feature branches.
# This Github actions workflow automates the build and test process of the tudat source code on Windows, Linux, and MacOS. The workflow is triggered upon push and pull requests to master, develop, and feature branches. The workflow is built on top of the GitHub starter workflow for CMake on multiple platforms.
# ccache is used to cache previous compilation results to speed up the build process across s
# The workflow is built on top of the GitHub starter workflow for CMake on multiple platforms https://github.com/actions/starter-workflows/blob/main/ci/cmake-multi-platform.yml


name: Build and Test

on:
push:
branches: [ "master", "develop"]
pull_request:
branches: [ "master", "develop"]

jobs:
build-and-test:

env:
CACHE_NUMBER: 0

runs-on: ${{ matrix.os }}

strategy:
# Set fail-fast to false to ensure that feedback is delivered for all matrix combinations. Consider changing this to true when your workflow is stable.
fail-fast: false

# Set up a matrix to run the following 3 configurations:
# 1. <Windows, Release, latest MSVC compiler toolchain on the default runner image, default generator>
# 2. <Linux, Release, latest GCC compiler toolchain on the default runner image, default generator>
# 3. <Linux, Release, latest Clang compiler toolchain on the default runner image, default generator>
#
# To add more build types (Release, Debug, RelWithDebInfo, etc.) customize the build_type list.
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
build_type: [Release]
c_compiler: [gcc, clang, cl]
include:
- os: windows-latest
c_compiler: cl
cpp_compiler: cl
label: win-64
path_conda_env: C:\Miniconda\envs\tudat
- os: ubuntu-latest
c_compiler: gcc
cpp_compiler: g++
label: linux-64
path_conda_env: /usr/share/miniconda/envs/tudat
- os: macos-latest
c_compiler: clang
cpp_compiler: clang++
label: osx-64
path_conda_env: /Users/runner/miniconda3/envs/tudat
exclude:
- os: windows-latest
c_compiler: gcc
- os: windows-latest
c_compiler: clang
- os: ubuntu-latest
c_compiler: cl
- os: macos-latest
c_compiler: gcc
- os: macos-latest
c_compiler: cl
- os: ubuntu-latest
c_compiler: clang

steps:
- uses: actions/checkout@v4


- name: Setup conda environment
# This step creates an empty conda environment with the name 'tudat' and activates it. Use latest conda version.
uses: conda-incubator/setup-miniconda@v3
with:
activate-environment: tudat
auto-activate-base: false


- name: Get date
# Get the current date and time in UTC format. This step is used to create a unique cache key for the conda environment cache by appending the date to the cache key.
# GitHub cache action doucmentation recommends refreshing the cache every 24 hours to avoid inconsistencies of package versions between the CI pipeline and local installations. This is ensured by appending the date to the cache key.See https://github.com/marketplace/actions/setup-miniconda#caching-environments for more detail.
id: get-date
run: echo "today=$(/bin/date -u '+%Y%m%d')" >> $GITHUB_OUTPUT
shell: bash


- name: Cache conda environment
# Cache the conda environment to avoid re-installing the same packages every time the workflow runs. The cache key is based on the environment.yml file, the operating system, and the date. The cache is restored if the cache key matches the cache key of the previous run.
uses: actions/cache@v4
with:
path: ${{ matrix.path_conda_env }}
key: ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-${{ hashFiles('environment.yml') }}-${{steps.get-date.outputs.today}}
id: cache


- name: Create conda environment from environment.yml
# Update the tudat conda environment created using the environment.yml file if the cache is not restored
run: conda env update -n tudat -f environment.yml
if: steps.cache.outputs.cache-hit != 'true'


- name: Download tudat resources data files for Linux and MacOS
# The data files in tudat-resources are downloaded upon the installation of
# the tudat-resources conda package in the previous step, but the data files are
# not cached by the cache action. When the cache is hit, the update environment
# step is skipped, skipping the installation of the tudat-resources package,
# thereby skipping the download of the data files. Therefore, the data files must
# be downloaded manually when the cache is hit.
# This step downloads the data files in the tudat-resources package by running
# the post-link scripts in https://github.com/tudat-team/tudat-resources-feedstock/blob/master/recipe/
if: (runner.os == 'Linux' || runner.os == 'MacOS') && steps.cache.outputs.cache-hit == 'true'
run: bash -c "$(curl -fsSL https://raw.githubusercontent.com/tudat-team/tudat-resources-feedstock/master/recipe/post-link.sh)"


- name: Download tudat-resources data files for Windows
if: runner.os == 'Windows' && steps.cache.outputs.cache-hit == 'true'
run: cmd /c "curl -fsSL https://raw.githubusercontent.com/tudat-team/tudat-resources-feedstock/master/recipe/post-link.bat | cmd"


- name: Restore cached compilation results
# This third party action will setup ccache on the runner and restore any previously saved cache. Caches are saved automatically by the action after a build.
uses: hendrikmuhs/[email protected]
with:
key: ${{ matrix.os }}-${{ matrix.build_type }}


- name: Configure CMake
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
shell: bash -l {0}
run: >
cmake -B "${{ github.workspace }}/build"
-S "${{ github.workspace }}"
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
-DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }}
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
-DCMAKE_C_COMPILER=${{ matrix.c_compiler }}
-DCMAKE_C_COMPILER_LAUNCHER=ccache
-DTUDAT_BUILD_GITHUB_ACTIONS=ON


- name: Build
# Build your program with the given configuration. Note that --config is needed because the default Windows generator is a multi-config generator (Visual Studio generator). Use multiple cpu cores available in the runner.
shell: bash -l {0}
run: cmake --build "${{ github.workspace }}/build" --config "${{ matrix.build_type }}" -j3


- name: Test
working-directory: "${{ github.workspace }}/build"
# Execute tests defined by the CMake configuration. Note that --build-config is needed because the default Windows generator is a multi-config generator (Visual Studio generator).
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
run: ctest --build-config ${{ matrix.build_type }} --output-on-failure -j4
Loading