Moving from Travis to GitHub Actions

This commit is contained in:
dherrada 2019-12-23 14:07:24 -05:00
parent bda16b68b9
commit c5e8fd76e8
5 changed files with 133 additions and 46 deletions

50
.github/workflows/build.yml vendored Normal file
View file

@ -0,0 +1,50 @@
name: Build CI
on: [pull_request, push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
- name: Translate Repo Name For Build Tools filename_prefix
id: repo-name
run: |
echo ::set-output name=repo-name::$(
echo ${{ github.repository }} |
awk -F '\/' '{ print tolower($2) }' |
tr '_' '-'
)
- name: Set up Python 3.6
uses: actions/setup-python@v1
with:
python-version: 3.6
- name: Versions
run: |
python3 --version
- name: Checkout Current Repo
uses: actions/checkout@v1
with:
submodules: true
- name: Checkout tools repo
uses: actions/checkout@v2
with:
repository: adafruit/actions-ci-circuitpython-libs
path: actions-ci
- name: Install deps
run: |
source actions-ci/install.sh
- name: Library version
run: git describe --dirty --always --tags
- name: PyLint
run: |
pylint $( find . -path './adafruit*.py' )
([[ ! -d "examples" ]] || pylint --disable=missing-docstring,invalid-name,bad-whitespace examples/*.py)
- name: Build assets
run: circuitpython-build-bundles --filename_prefix ${{ steps.repo-name.outputs.repo-name }} --library_location .
- name: Build docs
working-directory: docs
run: sphinx-build -E -W -b html . _build/html

81
.github/workflows/release.yml vendored Normal file
View file

@ -0,0 +1,81 @@
name: Release Actions
on:
release:
types: [published]
jobs:
upload-release-assets:
runs-on: ubuntu-latest
steps:
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
- name: Translate Repo Name For Build Tools filename_prefix
id: repo-name
run: |
echo ::set-output name=repo-name::$(
echo ${{ github.repository }} |
awk -F '\/' '{ print tolower($2) }' |
tr '_' '-'
)
- name: Set up Python 3.6
uses: actions/setup-python@v1
with:
python-version: 3.6
- name: Versions
run: |
python3 --version
- name: Checkout Current Repo
uses: actions/checkout@v1
with:
submodules: true
- name: Checkout tools repo
uses: actions/checkout@v2
with:
repository: adafruit/actions-ci-circuitpython-libs
path: actions-ci
- name: Install deps
run: |
source actions-ci/install.sh
- name: Build assets
run: circuitpython-build-bundles --filename_prefix ${{ steps.repo-name.outputs.repo-name }} --library_location .
- name: Upload Release Assets
# the 'official' actions version does not yet support dynamically
# supplying asset names to upload. @csexton's version chosen based on
# discussion in the issue below, as its the simplest to implement and
# allows for selecting files with a pattern.
# https://github.com/actions/upload-release-asset/issues/4
#uses: actions/upload-release-asset@v1.0.1
uses: csexton/release-asset-action@master
with:
pattern: "bundles/*"
github-token: ${{ secrets.GITHUB_TOKEN }}
upload-pypi:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Check For setup.py
id: need-pypi
run: |
echo ::set-output name=setup-py::$( find . -wholename './setup.py' )
- name: Set up Python
if: contains(steps.need-pypi.outputs.setup-py, 'setup.py')
uses: actions/setup-python@v1
with:
python-version: '3.x'
- name: Install dependencies
if: contains(steps.need-pypi.outputs.setup-py, 'setup.py')
run: |
python -m pip install --upgrade pip
pip install setuptools wheel twine
- name: Build and publish
if: contains(steps.need-pypi.outputs.setup-py, 'setup.py')
env:
TWINE_USERNAME: ${{ secrets.pypi_username }}
TWINE_PASSWORD: ${{ secrets.pypi_password }}
run: |
python setup.py sdist
twine upload dist/*

1
.gitignore vendored
View file

@ -4,7 +4,6 @@ __pycache__
_build
*.pyc
.env
build*
bundles
*.DS_Store
.eggs

View file

@ -1,43 +0,0 @@
# This is a common .travis.yml for generating library release zip files for
# CircuitPython library releases using circuitpython-build-tools.
# See https://github.com/adafruit/circuitpython-build-tools for detailed setup
# instructions.
dist: xenial
language: python
python:
- "3.6"
cache:
pip: true
env:
- DEPLOY_PYPI="true"
deploy:
- provider: releases
api_key: "$GITHUB_TOKEN"
file_glob: true
file: "$TRAVIS_BUILD_DIR/bundles/*"
skip_cleanup: true
overwrite: true
on:
tags: true
- provider: pypi
user: adafruit-travis
password:
secure: ockrzqHVLGYjYrCzjjn9wDa/X2MYxDe59X92QvbNc5Qi2c/ofA06dF8PE1hroGIp1rbcQOXwKrrYc+hjP57Qvw6DnRRWQDn4Fx+LzNEK9o/EldaHXvx2O9EjEFm+MtJcHNMBe7/0IibA9CtOY+sqBs5B1oQElDazWY2Si/bvROsQYx9IsAUMHyQl4sKyxilAds2nGbl9B/nQb6Y9b4fAqrFN6Yrq584wzLpywv5qau7uOc22/b33DgxcB/y8ksKb/YaU3kEg5zTUnRurqtV2Sf/sJWpA41GMg5HGmt6aGzzCiNmo4zD6axJaPZoZx2okL6b69kGI7OZIk9UXyedC9J3wW8Sc8z991jpyzTuhlX9EF+HHnBVLBKRpk6IvQJCCw7d1cqvfK1jz2gfT1VfkTRbi4+myJQ6GeM/HxLPUO9ZsRpgTbS6MGm1wHzuGs6l0rmnM1aSYX4I4MT1oS+8aHMmx9borEJOrN22NaJOzebYAXa5un8x7ej5p3ERx8dsuq2tOqBaxSMzPeI0dLOS5dgx/+X+IMaEWUGkfMYZhFvdevoni3bdOBmZY1v4pVm2+DcCm4gkyPgQvvhotMVgdzesHP26qZRP/O4P1ksrkLaZ39cLNTPVF0HdGEpsACfFzwUP9/t1mnfnt5uQEY6yXRfztB3u7564Lf6+oH5+HnDs=
on:
tags: true
condition: $DEPLOY_PYPI = "true"
install:
- pip install -r requirements.txt
- pip install circuitpython-build-tools Sphinx sphinx-rtd-theme
- pip install --force-reinstall pylint==1.9.2
script:
- pylint adafruit_bd3491fs.py
- ([[ ! -d "examples" ]] || pylint --disable=missing-docstring,invalid-name,bad-whitespace examples/*.py)
- circuitpython-build-bundles --filename_prefix adafruit-circuitpython-bd3491fs --library_location .
- cd docs && sphinx-build -E -W -b html . _build/html && cd ..

View file

@ -9,8 +9,8 @@ Introduction
:target: https://discord.gg/nBQh6qu
:alt: Discord
.. image:: https://travis-ci.com/adafruit/Adafruit_CircuitPython_BD3491FS.svg?branch=master
:target: https://travis-ci.com/adafruit/Adafruit_CircuitPython_BD3491FS
.. image:: https://github.com/adafruit/Adafruit_CircuitPython_BD3491FS/workflows/Build%20CI/badge.svg
:target: https://github.com/adafruit/Adafruit_CircuitPython_BD3491FS/actions/
:alt: Build Status
CircuitPython library for the Rohm BD3491FS Audio Processor