Skip to content

Commit 9a966f2

Browse files
authored
Merge pull request #2 from tannewt/switch_to_actions
Switch to GitHub Actions
2 parents 6b1bb57 + 25c1af6 commit 9a966f2

File tree

4 files changed

+125
-49
lines changed

4 files changed

+125
-49
lines changed

.github/workflows/build.yml

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: Build CI
2+
3+
on: [pull_request, push]
4+
5+
jobs:
6+
test:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- name: Dump GitHub context
10+
env:
11+
GITHUB_CONTEXT: ${{ toJson(github) }}
12+
run: echo "$GITHUB_CONTEXT"
13+
- name: Translate Repo Name For Build Tools filename_prefix
14+
id: repo-name
15+
run: |
16+
echo ::set-output name=repo-name::$(
17+
echo ${{ github.repository }} |
18+
awk -F '\/' '{ print tolower($2) }' |
19+
tr '_' '-'
20+
)
21+
- name: Set up Python 3.6
22+
uses: actions/setup-python@v1
23+
with:
24+
python-version: 3.6
25+
- name: Versions
26+
run: |
27+
python3 --version
28+
- uses: actions/checkout@v1
29+
with:
30+
submodules: true
31+
- name: Install deps
32+
run: |
33+
sudo apt-get install -y gettext
34+
pip install -r requirements.txt
35+
pip install circuitpython-build-tools Sphinx sphinx-rtd-theme
36+
pip install --force-reinstall pylint==1.9.2
37+
- name: Library version
38+
run: git describe --dirty --always --tags
39+
- name: PyLint
40+
run: |
41+
pylint $( find . -path './adafruit*.py' )
42+
([[ ! -d "examples" ]] || pylint --disable=missing-docstring,invalid-name,bad-whitespace examples/*.py)
43+
- name: Build assets
44+
run: circuitpython-build-bundles --filename_prefix ${{ steps.repo-name.outputs.repo-name }} --library_location .
45+
- name: Build docs
46+
working-directory: docs
47+
run: sphinx-build -E -W -b html . _build/html

.github/workflows/release.yml

+77
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
name: Release Actions
2+
3+
on:
4+
release:
5+
types: [published]
6+
7+
jobs:
8+
upload-release-assets:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: Dump GitHub context
12+
env:
13+
GITHUB_CONTEXT: ${{ toJson(github) }}
14+
run: echo "$GITHUB_CONTEXT"
15+
- name: Translate Repo Name For Build Tools filename_prefix
16+
id: repo-name
17+
run: |
18+
echo ::set-output name=repo-name::$(
19+
echo ${{ github.repository }} |
20+
awk -F '\/' '{ print tolower($2) }' |
21+
tr '_' '-'
22+
)
23+
- name: Set up Python 3.6
24+
uses: actions/setup-python@v1
25+
with:
26+
python-version: 3.6
27+
- name: Versions
28+
run: |
29+
python3 --version
30+
- uses: actions/checkout@v1
31+
with:
32+
submodules: true
33+
- name: Install deps
34+
run: |
35+
sudo apt-get install -y gettext
36+
pip install -r requirements.txt
37+
pip install circuitpython-build-tools
38+
- name: Build assets
39+
run: circuitpython-build-bundles --filename_prefix ${{ steps.repo-name.outputs.repo-name }} --library_location .
40+
- name: Upload Release Assets
41+
# the 'official' actions version does not yet support dynamically
42+
# supplying asset names to upload. @csexton's version chosen based on
43+
# discussion in the issue below, as its the simplest to implement and
44+
# allows for selecting files with a pattern.
45+
# https://github.com/actions/upload-release-asset/issues/4
46+
#uses: actions/[email protected]
47+
uses: csexton/release-asset-action@master
48+
with:
49+
pattern: "bundles/*"
50+
github-token: ${{ secrets.GITHUB_TOKEN }}
51+
52+
upload-pypi:
53+
runs-on: ubuntu-latest
54+
steps:
55+
- uses: actions/checkout@v1
56+
- name: Check For setup.py
57+
id: need-pypi
58+
run: |
59+
echo ::set-output name=setup-py::$( find . -wholename './setup.py' )
60+
- name: Set up Python
61+
if: contains(steps.need-pypi.outputs.setup-py, 'setup.py')
62+
uses: actions/setup-python@v1
63+
with:
64+
python-version: '3.x'
65+
- name: Install dependencies
66+
if: contains(steps.need-pypi.outputs.setup-py, 'setup.py')
67+
run: |
68+
python -m pip install --upgrade pip
69+
pip install setuptools wheel twine
70+
- name: Build and publish
71+
if: contains(steps.need-pypi.outputs.setup-py, 'setup.py')
72+
env:
73+
TWINE_USERNAME: ${{ secrets.pypi_username }}
74+
TWINE_PASSWORD: ${{ secrets.pypi_password }}
75+
run: |
76+
python setup.py sdist
77+
twine upload dist/*

.gitignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ __pycache__
44
_build
55
*.pyc
66
.env
7-
build*
7+
build*/
88
bundles
99
*.DS_Store
1010
.eggs

.travis.yml

-48
This file was deleted.

0 commit comments

Comments
 (0)