From 2281afbcc647542dcbcfa096962d520932cdcf33 Mon Sep 17 00:00:00 2001 From: dherrada Date: Fri, 10 Jan 2020 23:02:40 -0500 Subject: [PATCH 1/2] Moved repository from Travis to GitHub Actions --- .github/workflows/build.yml | 46 ++++++++++++++++++++++++++++ .github/workflows/release.yml | 57 +++++++++++++++++++++++++++++++++++ .gitignore | 2 +- .travis.yml | 24 --------------- 4 files changed, 104 insertions(+), 25 deletions(-) create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/release.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..39e7822f --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,46 @@ +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 + - uses: actions/checkout@v1 + with: + submodules: true + - name: Install deps + run: | + sudo apt-get install -y gettext gawk + pip install -r requirements.txt + - name: Library version + run: git describe --dirty --always --tags + - name: Package Folder Prefix For circuitpython-build-tools (Community Bundle Specific) + id: pkg-folder + run: | + echo ::set-output name=prefix::$( + ls -RUx | + gawk -F '\n' '{ match($1, /(drivers|helpers)\/(.+)\/(.+)\:/, arr) ; if (length(arr[0]) > 0 && match(arr[3], arr[2]) > 0) printf "%s, ", arr[3] }' | + gawk '{ trimmed = substr($0, 1, length($0) - 2) ; print "\"" trimmed "\"" }' + ) + - name: Build assets + run: circuitpython-build-bundles --filename_prefix ${{ steps.repo-name.outputs.repo-name }} --library_location libraries --library_depth 2 --package_folder_prefix ${{ steps.pkg-folder.outputs.prefix }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..d779256e --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,57 @@ +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 + - uses: actions/checkout@v1 + with: + submodules: true + - name: Install deps + run: | + sudo apt-get install -y gettext gawk + pip install -r requirements.txt + - name: Package Folder Prefix For circuitpython-build-tools (Community Bundle Specific) + id: pkg-folder + run: | + echo ::set-output name=prefix::$( + ls -RUx | + gawk -F '\n' '{ match($1, /(drivers|helpers)\/(.+)\/(.+)\:/, arr) ; if (length(arr[0]) > 0 && match(arr[3], arr[2]) > 0) printf "%s, ", arr[3] }' | + gawk '{ trimmed = substr($0, 1, length($0) - 2) ; print "\"" trimmed "\"" }' + ) + - name: Build assets + run: circuitpython-build-bundles --filename_prefix ${{ steps.repo-name.outputs.repo-name }} --library_location libraries --library_depth 2 --package_folder_prefix ${{ steps.pkg-folder.outputs.prefix }} + - 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 }} diff --git a/.gitignore b/.gitignore index 4296bffa..e72d2e35 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -build* +build/* *zip .env bundles diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 1bac5f86..00000000 --- a/.travis.yml +++ /dev/null @@ -1,24 +0,0 @@ -# Travis CI configuration for automated bundle generation. - -dist: trusty -sudo: false -language: python -python: - - "3.6" - -cache: - pip: true - -deploy: - provider: releases - api_key: $GITHUB_TOKEN - file_glob: true - file: bundles/* - skip_cleanup: true - overwrite: true - on: - tags: true - -script: -- circuitpython-build-bundles --filename_prefix adafruit-circuitpython-bundle --library_location libraries --library_depth 2 -- cd docs && sphinx-build -E -W -b html . _build/html && cd .. From 7adbcbaf329a251ee02340ef07ecb9c580c53518 Mon Sep 17 00:00:00 2001 From: dherrada Date: Sat, 11 Jan 2020 20:28:57 -0500 Subject: [PATCH 2/2] Made changes requested by @sommersoft --- .github/workflows/build.yml | 14 ++++---------- .github/workflows/release.yml | 11 +---------- 2 files changed, 5 insertions(+), 20 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 39e7822f..9212ff94 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -30,17 +30,11 @@ jobs: submodules: true - name: Install deps run: | - sudo apt-get install -y gettext gawk pip install -r requirements.txt - name: Library version run: git describe --dirty --always --tags - - name: Package Folder Prefix For circuitpython-build-tools (Community Bundle Specific) - id: pkg-folder - run: | - echo ::set-output name=prefix::$( - ls -RUx | - gawk -F '\n' '{ match($1, /(drivers|helpers)\/(.+)\/(.+)\:/, arr) ; if (length(arr[0]) > 0 && match(arr[3], arr[2]) > 0) printf "%s, ", arr[3] }' | - gawk '{ trimmed = substr($0, 1, length($0) - 2) ; print "\"" trimmed "\"" }' - ) - name: Build assets - run: circuitpython-build-bundles --filename_prefix ${{ steps.repo-name.outputs.repo-name }} --library_location libraries --library_depth 2 --package_folder_prefix ${{ steps.pkg-folder.outputs.prefix }} + run: circuitpython-build-bundles --filename_prefix ${{ steps.repo-name.outputs.repo-name }} --library_location libraries --library_depth 2 + - name: Build docs + working-directory: docs + run: sphinx-build -E -W -b html . _build/html diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d779256e..22727c28 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -32,18 +32,9 @@ jobs: submodules: true - name: Install deps run: | - sudo apt-get install -y gettext gawk pip install -r requirements.txt - - name: Package Folder Prefix For circuitpython-build-tools (Community Bundle Specific) - id: pkg-folder - run: | - echo ::set-output name=prefix::$( - ls -RUx | - gawk -F '\n' '{ match($1, /(drivers|helpers)\/(.+)\/(.+)\:/, arr) ; if (length(arr[0]) > 0 && match(arr[3], arr[2]) > 0) printf "%s, ", arr[3] }' | - gawk '{ trimmed = substr($0, 1, length($0) - 2) ; print "\"" trimmed "\"" }' - ) - name: Build assets - run: circuitpython-build-bundles --filename_prefix ${{ steps.repo-name.outputs.repo-name }} --library_location libraries --library_depth 2 --package_folder_prefix ${{ steps.pkg-folder.outputs.prefix }} + run: circuitpython-build-bundles --filename_prefix ${{ steps.repo-name.outputs.repo-name }} --library_location libraries --library_depth 2 - name: Upload Release Assets # the 'official' actions version does not yet support dynamically # supplying asset names to upload. @csexton's version chosen based on