This points to the package's base directory of the within the
micropython-lib directory structure.
Signed-off-by: Damien George <damien@micropython.org>
All of the runable package tests are run together in the new `tools/ci.sh`
function called `ci_package_tests_run`. This is added to a new GitHub
workflow to test the packages as part of CI.
Some packages use `unittest` while others use an ad-hoc test script.
Eventually it would be good to unify all the package tests to use
`unittest`.
Signed-off-by: Damien George <damien@micropython.org>
- Add config for [tool.ruff.format] to pyproject.toml.
- Update pre-commit to run both ruff and ruff-format.
- Update a small number of files that change with ruff's rules.
- Update CI.
- Simplify codeformat.py just forward directly to "ruff format"
This work was funded through GitHub Sponsors.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
This adds verifygitlog.py from the main repo, adds it to GitHub workflows,
and also pre-commit.
This work was funded through GitHub Sponsors.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
This was added to speed up running codeformat.py when only a small number
of files are changed, but it breaks running the tool on the master branch.
The pre-commit tool handles this correctly, and it's working well in the
main repo, so we can remove the special handling.
This makes codeformat.py behave identically to the main repository, but
without additional code for handling .c/.h files.
This work was funded through GitHub Sponsors.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
This tool makes a buildable package (including pyproject.toml) from
supported micropython-lib packages, suitable for publishing to PyPI and
using from CPython.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
Opt-in feature to make it easier for folks to test packages that are still
in development, open in Pull Requests, or even in independent forks.
---
To enable this on your own GitHub fork of the micropython-lib repository
then navigate to the fork's "Settings" -> "Secrets and variables" ->
"Actions" -> "Variables" page, then click "New repository variable", and
create a variable named MIP_INDEX with value true (or any "truthy" value).
Once enabled then any time a branch is pushed to your fork and builds
successfully, GitHub Actions will also push the built packages and package
index to the gh-pages branch which is associated with the repo's GitHub
Pages web site. The packages can then be installed remotely via:
mpremote mip --index \
https://USERNAME.github.io/micropython-lib/mip/BRANCH_NAME PACKAGE_NAME
or on a device as:
mip.install(PACKAGE_NAME, index="https://USERNAME.github.io/micropython-lib/mip/BRANCHNAME")
(Replace USERNAME, BRANCH_NAME and PACKAGE_NAME as applicable. If you've
renamed your fork, change the name micropython-lib to match.)
Note: As well as the MIP_INDEX repository variable, this functionality
depends on both GitHub Actions and GitHub Pages being enabled on your
repository in GitHub. However both options should enable automatically,
unless they have been manually disabled.
This work was funded through GitHub Sponsors.
This populates https://micropython.org/pi/v2 with compiled packages,
suitable for use by `mip` and `mpremote`.
This work was funded through GitHub Sponsors.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
It can be difficult using the codeformat.py tool when there are other files
in the repository not currently matching the standard.
For developers, running over the entire repo can throw up a large list of
changes in a local git which can lead to inclusion of unrelated changes in
commits if they're added accidentally. If the files arg is used to trim
down the list of files scanned, it runs a risk of missing some files
they've modified. In CI, it means that PR's can fail on codeformat for
issues that aren't related to that PR.
This change adds a git query in the codeformat tool by default to only work
on the list of files that have been modified in the current branch. This
can still be overridden by the files arg to run over all files still, eg.
python3 tools/codeformat.py -v '**'.