GithubHelp home page GithubHelp logo

adafruit / actions-ci-circuitpython-libs Goto Github PK

View Code? Open in Web Editor NEW
2.0 20.0 10.0 40 KB

A script that will install all of the common dependencies for testing CircuitPython library builds using Github Actions or Travis CI

License: MIT License

Shell 68.02% Python 31.98%

actions-ci-circuitpython-libs's Introduction

Actions CI CircuitPython Install Script

The purpose of this repo is to create a centrally managed dependency install script for all Adafruit CircuitPython Library Github Actions. This will allow us to easily update the install steps without having to manually or programatically update 200+ GitHub workflows.

We have a Learn guide that you can use to follow along to using GitHub Actions.

Using in Workflow Files

To use the install script in workflow files, you'll need to check out this repository, followed by running the install.sh bash script.

You can clone and checkout this repo in a GitHub Actions workflow file using actions/checkout:

- name: Checkout tools repo
  uses: actions/checkout@v3
  with:
    repository: adafruit/actions-ci-circuitpython-libs
    path: actions-ci

In the example above, the repo is now cloned as actions-ci.

The dependencies can then be downloaded using install.sh:

- name: Install dependencies
  run: |
    source action-ci/install.sh

This will handle installing all the needed dependencies for the given library.

actions-ci-circuitpython-libs's People

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

actions-ci-circuitpython-libs's Issues

Error with "local" hook

I use actions-ci-circuitpython-libs to build udecimal: https://github.com/jepler/Jepler_CircuitPython_udecimal

I have a "local" stanza without a "rev" item, and it works fine in pre-commit. However, it encounters an error during ci:

- repo: local
  hooks:
    - id: mypy
      name: mypy
....
Run python actions-ci/print_precommit_versions.py
  python actions-ci/print_precommit_versions.py
  shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
  env:
    pythonLocation: /opt/hostedtoolcache/Python/3.11.7/x64
    PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.11.7/x64/lib/pkgconfig
    Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.7/x64
    Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.7/x64
    Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.7/x64
    LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.11.7/x64/lib
Traceback (most recent call last):
Using the following pre-commit hook versions:
  File "/home/runner/work/Jepler_CircuitPython_udecimal/Jepler_CircuitPython_udecimal/actions-ci/print_precommit_versions.py", line 28, in <module>
    print(f' * {repo["repo"]} @ {repo["rev"]}')
                                 ~~~~^^^^^^^
KeyError: 'rev'

I can add a dummy rev string but I would prefer to see this fixed in actions-ci-circuitpython-libs.

How will we update pylint?

I like that this is centralized but would like us to update pylint at some point. How can we do that piecemeal when the install for it is here?

No rush, just something to consider.

License information missing from run_local_actions.sh

I'm now getting the following error on pre-commit run --all-files

# MISSING COPYRIGHT AND LICENSING INFORMATION

The following files have no copyright and licensing information:
* actions-ci/run_local_actions.sh

Update README

Looks like this README could be updated, happy to do it myself!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.