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

Automatic Boards Manager release for builds triggered by the creation of a git tag #8

Open
per1234 opened this issue May 12, 2017 · 0 comments

Comments

@per1234
Copy link
Owner

per1234 commented May 12, 2017

Travis CI defines the TRAVIS_TAG environment variable when the build is triggered by the creation of a tag.

Process:

  1. Check if TRAVIS_TAG is defined.
  2. Create installation archive file
  3. Delete .gitignore and any other unnecessary Git files if present
  4. Move files up from the architecture subfolder
  5. Compress
  6. Calculate checksum
  7. Update the JSON file
  8. Do a test Boards Manager installation and compile with the installed boards with the specified IDE range.
  9. 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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant