-
Notifications
You must be signed in to change notification settings - Fork 2
Synchronization
Here are the details how the synchronization is performed between the code provided by Probe Software and the GitHub repository of the openMicroanalysis project. The synchronization was found to be the best compromise to allow Probe Software to continue distributing its code as it prefers and to make the code available online on GitHub as the other openMicroanalysis projects.
The Probe Software code for CalcZAF is distributed in a ZIP file, containing the source code and required files for this program. It also contains a VERSION.TXT file which contains the latest changes to the project.
A Python script (sync.py) was written to:
- Pull repository from GitHub
- Download ZIP containing CalcZAF source code from Probe Software website
- Parse VERSION.TXT text file and compare for new changes
- Extract files from ZIP
- Add modified files, commit and push to GitHub
The script is written in pure Python and has no dependency. Parsing the VERSION.TXT is done using regular expression as the structure is well-defined. Changes since the last synchronization are combined into a new commit message. Tags are added for new versions. All modifications are then push to GitHub.
The script is run using GitHub Actions, every Monday, Wednesday and Friday at 6am (UTC).
For additional information please check the CalcZAF user forum here: http://probesoftware.com/smf/index.php?board=7.0
A basic tutorial for CalcZAF is available in this topic: http://probesoftware.com/smf/index.php?topic=81.0