/ .travis.yml
.travis.yml
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 - "hcsr04.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 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