|
| 1 | +# Travis CI configuration for automated .mpy file generation. |
| 2 | +# Author: Tony DiCola |
| 3 | +# License: Public Domain |
| 4 | +# This configuration will work with Travis CI (travis-ci.org) to automacially |
| 5 | +# build .mpy files for CircuitPython when a new tagged release is created. This |
| 6 | +# file is relatively generic and can be shared across multiple repositories by |
| 7 | +# following these steps: |
| 8 | +# 1. Copy this file into a .travis.yml file in the root of the repository. |
| 9 | +# 2. Change the deploy > file section below to list each of the .mpy files |
| 10 | +# that should be generated. The config will automatically look for |
| 11 | +# .py files with the same name as the source for generating the .mpy files. |
| 12 | +# Note that the .mpy extension should be lower case! |
| 13 | +# 3. Commit the .travis.yml file and push it to GitHub. |
| 14 | +# 4. Go to travis-ci.org and find the repository (it needs to be setup to access |
| 15 | +# your github account, and your github account needs access to write to the |
| 16 | +# repo). Flip the 'ON' switch on for Travis and the repo, see the Travis |
| 17 | +# docs for more details: https://docs.travis-ci.com/user/getting-started/ |
| 18 | +# 5. Get a GitHub 'personal access token' which has at least 'public_repo' or |
| 19 | +# 'repo' scope: https://help.github.com/articles/creating-an-access-token-for-command-line-use/ |
| 20 | +# Keep this token safe and secure! Anyone with the token will be able to |
| 21 | +# access and write to your GitHub repositories. Travis will use the token |
| 22 | +# to attach the .mpy files to the release. |
| 23 | +# 6. In the Travis CI settings for the repository that was enabled find the |
| 24 | +# environment variable editing page: https://docs.travis-ci.com/user/environment-variables/#Defining-Variables-in-Repository-Settings |
| 25 | +# Add an environment variable named GITHUB_TOKEN and set it to the value |
| 26 | +# of the GitHub personal access token above. Keep 'Display value in build |
| 27 | +# log' flipped off. |
| 28 | +# 7. That's it! Tag a release and Travis should go to work to add .mpy files |
| 29 | +# to the release. It takes about a 2-3 minutes for a worker to spin up, |
| 30 | +# build mpy-cross, and add the binaries to the release. |
| 31 | +language: generic |
| 32 | + |
| 33 | +sudo: true |
| 34 | + |
| 35 | +deploy: |
| 36 | + provider: releases |
| 37 | + api_key: $GITHUB_TOKEN |
| 38 | + file: |
| 39 | + - "adafruit_vc0706.mpy" |
| 40 | + skip_cleanup: true |
| 41 | + on: |
| 42 | + tags: true |
| 43 | + |
| 44 | +before_install: |
| 45 | +- sudo apt-get -yqq update |
| 46 | +- sudo apt-get install -y build-essential git python python-pip |
| 47 | +- git clone https://github.com/adafruit/circuitpython.git -b 2.x |
| 48 | +- make -C circuitpython/mpy-cross |
| 49 | +- export PATH=$PATH:$PWD/circuitpython/mpy-cross/ |
| 50 | +- sudo pip install shyaml |
| 51 | + |
| 52 | +before_deploy: |
| 53 | +- shyaml get-values deploy.file < .travis.yml | sed 's/.mpy/.py/' | xargs -L1 mpy-cross |
0 commit comments