Open
Description
Travis CI defines the TRAVIS_TAG
environment variable when the build is triggered by the creation of a tag.
Process:
- Check if
TRAVIS_TAG
is defined. - Create installation archive file
- Delete .gitignore and any other unnecessary Git files if present
- Move files up from the architecture subfolder
- Compress
- Calculate checksum
- Update the JSON file
- Do a test Boards Manager installation and compile with the installed boards with the specified IDE range.
- Commit the installation archive and JSON file to the release repository
Arguments:
- IDE range for testing the Boards Manager installation
- Sketch or sketch folder to use for testing
- Github personal access token for committing to the Boards Manager release repository
- Package source folder: location of the hardware package files in the repository. Some are located in a subfolder of the repository.
- Release information
- Boards Manager release repository
- Boards Manager release branch
- Boards Manager release folder
- JSON file configuration information:
- platform information
- name
- architecture
- onlineHelp
- boards
- toolsdependencies (must be able to handle multiple tools, should this be a separate function that can be called multiple times?):
- packager
- name
- version
- platform information
Assumptions:
- The repository has the 1.5 hardware package structure (architecture folder).
- The JSON file already has the package information and all necessary tools entries
- New tools entries will be added to the JSON file manually when necessary
- It seems just as easy for the JSON file to be edited as the .travis.yml file
Resources:
I don't believe any of these are run automatically
- https://github.com/stm32duino/BoardManagerFiles/blob/master/STM32/src/dopackage.sh
- https://github.com/Optiboot/optiboot/blob/master/optiboot/release.sh
- https://github.com/esp8266/Arduino/blob/master/package/build_boards_manager_package.sh
- https://robotpatient.com/modules/generatePackageJSON.py
Activity