-
Notifications
You must be signed in to change notification settings - Fork 19
Description
We've started to configure our release automation: https://github.com/IUPAC-InChI/InChI/blob/main/.github/workflows/release.yml.
In short, every time we tag and publish a new release, a GitHub action uploads zip archives according to the convention on https://www.inchi-trust.org/all-downloadable%20versions/.
We could expand this by automatically building / compiling our release artifacts, i.e., the contents of INCHI-1-BIN such as libinchi.so. In order to do that we could write compilation scripts (essentially just calling make like so) which we then run as part of the release automation. By scripting the compilation, we can run it locally as well as during the automation.
@djb-rwth, we'd need to figure out which version of which compiler to run on which OS. That would pretty much be what you documented in the README, right?
Examples:
- https://github.com/igraph/igraph/blob/master/.github/workflows/build-cmake.yml (thanks @flange-ipb)
- https://github.com/OpenChemistry/avogadroapp/blob/master/.github/workflows/build_cmake.yml (thanks @nbehrnd)
TODO:
- remove (and/or .gitignore) all artifacts that are currently distributed as part of the codebase (e.g., all "bin" directories) outside
INCHI-1-BIN; keep around (empty) bin directories since they are currently hard-coded into makefiles (0b277e0) - decide on how to build release artifacts: which compiler(s) to use on which OS (i.e., "release matrix" of compiler by OS) (Build with CMake #112)
- write scripts for each cell in the release matrix (those can be run locally and on
ci) (Build with CMake #112) - remove
INCHI-1-BIN; instead distribute artifacts under https://github.com/IUPAC-InChI/InChI/releases (directory structure tbd, but can deviate from status quo) - decide if we deprecate
winchi-1.exe - decide if we deprecate 32 bit artifacts
- run
releaseworkflow only ifciworkflow passes for the tagged commit that triggeredrelease - run tests (which ones?) on release artifacts
- use https://github.com/giallu/InChI/tree/build_matrix as a foundation (thanks @giallu)
- sign artifacts (thanks @MikeWilliams-UK )
- feature suggest: extend version information in the compiled executable #61 (thanks @nbehrnd)