CI: use artifacts to store API dumps for later comparison (1/2)
Detailed Description
The CI lint:api jobs check changes to the LALSuite API in the following scenarios:
- Merge requests: LALSuite is built before/after the MR changes, and the API is compared.
- Release branches: the LALSuite API on the release branch is compared against that of the latest RPM packages.
There are some limitations of this approach:
- For 1. LALSuite must be built twice (before/after the MR changes) which is inefficient, and in some cases doesn't work if the SHA1 for the before commit is unavailable.
- For 2. the RPM packages are not built with the C-flags recommended by abi-compliance-checker(especially-Og), which may be the cause of the current false positives in the API comparison.
This MR is the 1st of 2 parts implementing a new approach:
- CI jobs dump the LALSuite API, and save the results (dump files from abi-dumper) as job artifacts. The dumper jobs are run on:- Pushes to the masterbranch on thelscsoft/lalsuiterepository.
- LALSuite release tags.
 
- Pushes to the 
- Other CI jobs retrieve the appropriate artifacts stored in 1) and compare then to API dumps from a recent LALSuite build:
- Merge requests: LALSuite is built for the MR branch, and its API is compared to the latest API dump from the master branch.
- Release branches: LALSuite is built for the release branch, and its API is compared to the API dump from the most recent LALSuite release tag.
 
- Merge requests: LALSuite is built for the MR branch, and its API is compared to the latest API dump from the 
Note that the current API comparison CI jobs (lint:api-merge-diff, lint:api-last-release) are temporarily removed by this MR. They will be re-added once this MR is merged and the next LALSuite release is tagged, so that there are ABI dumps for master and LALSuite tags to compare to.
API Changes
Please tick one of the following options:
- 
These changes do not modify the API. 
- 
These changes do modify the API, and are backwards compatible. 
- 
These changes do modify the API, and are backwards incompatible. 
For examples of changes that do not modify the API and/or are considered backwards (in)compatible, please see the contributing guide.