Commit Graph

44 Commits

Author SHA1 Message Date
David Lechner
4eefe78e8e github/workflows/code_size: Print code size change.
The intention of using `tee` is to both print the code size change in
the CI logs and save them to a file. Using redirection to a file
caused it to not print the changes.

Signed-off-by: David Lechner <david@pybricks.com>
2023-01-16 12:06:17 +11:00
David Lechner
3b285326e3 github/workflows: Update existing comments for code_size_comment.
This modifies the automated code size comment to edit an existing comment
if one already exists instead of always creating a new comment.  This
reduces noise on pull requests that are repeatedly updated.

Signed-off-by: David Lechner <david@pybricks.com>
2022-12-19 14:42:07 +11:00
David Lechner
5608226cfd github/workflows: Cancel when branch is updated.
This adds a concurrency section to all github workflows to cancel any
in progress workflow when a branch is updated. This should cancel any
ongoing or queued workflows, e.g. when a pull request is updated.

Signed-off-by: David Lechner <david@pybricks.com>
2022-12-14 13:42:50 +11:00
David Lechner
96c23432f6 github/workflows: Fix code size comment workflow for non-PR.
This fixes the case for the code size comment action where there is no
matching artifact.  Apparently, the result of the github-script action was
not treating `false` as a boolean value.  To fix the problem we change the
result to use string.  Also add some logging to make the step a bit less
cryptic.

Signed-off-by: David Lechner <david@pybricks.com>
2022-12-07 13:40:59 +11:00
David Lechner
1b774b373e github/workflows: Comment on code size change instead of failing CI.
This changes the code size workflow to post a comment on pull requests with
the code size report.  It also removes the error threshold so that the test
won't fail if code size increases.

Allowable code size changes are subjective, so shouldn't cause CI to fail.
In addition, failing CI tests can cause other hooks like code coverage
reports to be suppressed, so this fixes that problem as well.

Fixes issue #8464.

Signed-off-by: David Lechner <david@pybricks.com>
2022-11-29 11:36:28 +11:00
Damien George
8b5642914a github/workflows: Run mpy-format CI when tests and examples change.
Signed-off-by: Damien George <damien@micropython.org>
2022-11-23 10:32:55 +11:00
Damien George
ecb46f93e0 github/workflows: Use ubuntu-20.04 when python2 is required.
Python 2 is no longer included in the latest Ubuntu 22.04.

Signed-off-by: Damien George <damien@micropython.org>
2022-11-23 10:32:55 +11:00
Damien George
beb9b85c59 github/workflows: Run unix port workflow if mpy-cross changes.
Otherwise there is no CI for mpy-cross if only it changes.

Signed-off-by: Damien George <damien@micropython.org>
2022-11-17 22:49:24 +11:00
dependabot[bot]
ada76021c0 github/workflows: Bump actions/setup-python from 1 or 2 to 4.
Bumps [actions/setup-python](https://github.com/actions/setup-python) from
1 or 2 to 4.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v2...v4)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-11 14:27:12 +11:00
dependabot[bot]
846aa1f13a github/workflows: Bump codecov/codecov-action from 1 to 3.
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action)
from 1 to 3.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v1...v3)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-11 14:03:47 +11:00
Chris Swan
86c3c1d80d github/workflows: Bump actions/checkout to v3.
The existing actions/checkout@v2 is causing Node v12 deprecation warnings
to be shown in GitHub Actions.  v3 uses Node v16, which will stop the
warnings.
2022-11-11 13:25:27 +11:00
Damien George
49ce93eeec github/workflows: Print test failures for webassembly workflow.
Signed-off-by: Damien George <damien@micropython.org>
2022-11-03 18:47:48 +11:00
Jim Mussared
c1530a0ce8 unix: Refactor mpconfigport.h and mpconfigvariant.h.
This is a no-op for coverage and minimal.

The standard and dev variants have been merged and enable the same feature
set as a typical bare-metal board.  And remove the CI for the dev build.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-13 17:39:03 +10:00
Nicholas H.Tollervey
af54d2ce9f
javascript: Rename this port to 'webassembly'. 2022-08-22 12:03:39 +01:00
Damien George
d53c3b6ade unix/variants: Remove variant suffix from executable filename.
The executable now lives in the build directory, and since the build
directory already contains the variant name there is no need to also add
it to the executable.

Signed-off-by: Damien George <damien@micropython.org>
2022-08-11 13:34:34 +10:00
Daniel Jour
47c84286e8 all: Fix paths to mpy-cross and micropython binaries.
Binaries built using the Make build system now no longer appear in the
working directory of the build, but rather in the build directory.  Thus
some paths had to be adjusted.
2022-08-11 13:31:13 +10:00
David Lechner
17f0297c1a tools/ci.sh: Drop ppa requirement for code formatting CI.
The CI scripts were using a PPA to get a backported version of uncrustify
on Ubuntu 20.04.  However, this causes CI to intermittently fail due to
connection issues to launchpad.net or the key server.

Ubuntu 22.04 has a newer version of uncrustify removing the need for the
PPA.  Ubuntu 22.04 is now in beta on GitHub actions, so it can be used.

Signed-off-by: David Lechner <david@pybricks.com>
2022-06-17 16:56:41 +10:00
Damien George
bf92b0cbf2 tools/ci.sh: Add test for mpy-tool's merging feature.
Signed-off-by: Damien George <damien@micropython.org>
2022-06-07 13:51:45 +10:00
Takeo Takahashi
e214ae0e64 github/workflows: Add workflow for renesas-ra port.
Signed-off-by: Takeo Takahashi <takeo.takahashi.xv@renesas.com>
2022-04-29 12:29:07 +09:00
Damien George
73623d04d5 github/workflows: Add new workflow to test embedding example.
Signed-off-by: Damien George <damien@micropython.org>
2022-03-25 11:39:00 +11:00
Damien George
8626dcd623 tools/ci.sh: Run performance benchmark as part of all unix test runs.
This tests that the performance benchmarks run without error.

Signed-off-by: Damien George <damien@micropython.org>
2022-02-28 19:02:58 +11:00
Damien George
73a1927fce github/workflows: Add new workflow to test .mpy file format and tools.
Signed-off-by: Damien George <damien@micropython.org>
2022-02-24 18:29:02 +11:00
stijn
e0b8d69827 github/workflows: Show context for qemu-arm test failures.
Make it easier to see what went wrong in CI builds.
2022-01-23 09:25:19 +11:00
Damien George
3b011d5ef9 github/workflows: Add new workflow to build ports download metadata.
Signed-off-by: Damien George <damien@micropython.org>
2021-10-28 16:45:15 +11:00
Damien George
f4c1389fbc github/workflows: Use Python 3.8 for macos workflow.
Otherwise it gets a more recent version which fails some of the test suite.

Signed-off-by: Damien George <damien@micropython.org>
2021-10-21 16:03:40 +11:00
Damien George
da4593f937 tools/ci.sh: Use IDF v4.4 as part of esp32 CI and build GENERIC_S3.
IDF v4.4 does not have an official release so for now use the latest
master.  Also remove building GENERIC with no options (all the other boards
are no-option builds), to keep CI time reasonable.

Signed-off-by: Damien George <damien@micropython.org>
2021-09-16 22:59:05 +10:00
Damien George
0ee256b8b1 github/workflows: Add workflow to build and test unix dev variant.
Signed-off-by: Damien George <damien@micropython.org>
2021-07-13 15:58:39 +10:00
Damien George
f3e4ed82a1 github/workflows: Switch from lcov to gcov.
Coverage calculated by Codecov has the same reliability/deterministic
issues as Coveralls did, so the problem is likely to do with the output of
lcov/gcov, rather than the analysis and display of the data.

Switch from lcov to gcov for data generation to try and simplify this
process of computing coverage.

Signed-off-by: Damien George <damien@micropython.org>
2021-06-26 21:34:37 +10:00
Damien George
c940597314 github/workflows: Switch from Coveralls to Codecov.
As discussed in #7455, Coveralls doesn't work properly anymore, it has
many spurious errors with reduced coverage.

Signed-off-by: Damien George <damien@micropython.org>
2021-06-25 16:17:54 +10:00
Damien George
2dc4f843bc github/workflows: Add workflow to build and test javascript port.
Signed-off-by: Damien George <damien@micropython.org>
2021-06-25 11:31:00 +10:00
Damien George
b15e1ef5a6 github/workflows: Add workflow to build and run unix port on ARM.
Following on from ef16834887, this adds a
coverage build and running of the test suite on an ARM 32-bit Linux-based
architecture.

Signed-off-by: Damien George <damien@micropython.org>
2021-06-05 11:03:09 +10:00
Damien George
ef16834887 github/workflows: Add workflow to build and run unix port on MIPS.
This adds a coverage build and running of the test suite on a MIPS 32-bit
big endian architecture.  It uses the feature of qemu to execute foreign
code as though it were native to the system (using qemu user mode).  The
code compiled for MIPS will run under the qemu VM, but all syscalls made by
this code go to the host (Linux) system.

See related #7268 and #7273.

Signed-off-by: Damien George <damien@micropython.org>
2021-05-26 16:33:18 +10:00
Philipp Ebensberger
5f68f0d08a github/workflows: Add CI workflow for mimxrt port. 2021-05-26 00:12:45 +10:00
Damien George
a9bbf7083e tools/ci.sh: Build esp32 using IDF v4.0.2 and v4.3.
To test different IDF's, and also test building the GENERIC_S2 board.

Signed-off-by: Damien George <damien@micropython.org>
2021-04-15 10:31:06 +10:00
Damien George
6129b8e401 tests: Rename run-tests to run-tests.py for consistency.
Signed-off-by: Damien George <damien@micropython.org>
2021-03-12 19:56:09 +11:00
Damien George
aa3d6b6aa5 tools/ci.sh: Change esp32 CI to work with idf.py and IDF v4.0.2.
Signed-off-by: Damien George <damien@micropython.org>
2021-02-15 16:40:11 +11:00
iTitou
b8f5f5cd85 github/workflows/ports_unix.yml: Add job for a reproducible build.
With a check for reproducible build date.  Invocation of the test suite is
not needed because it's already run in another job.

Signed-off-by: iTitou <moiandme@gmail.com>
2021-02-01 11:20:18 +11:00
stijn
37c2f507a0 github/workflows: Add workflow to verify commit message format.
Using the new tools/verifygitlog.py script.
2021-01-30 14:09:21 +11:00
Damien George
b8f4c623f9 github/workflows: Add CI workflow for rp2 port.
Signed-off-by: Damien George <damien@micropython.org>
2021-01-30 00:42:29 +11:00
Damien George
0a079155e4 github/workflows: Fix code-size CI workflow.
Changes are:
- Use ubuntu-20.04 so that gcc-multilib installs without error.
- Use "fetch-depth: 100" to get history prior to pull request.

Signed-off-by: Damien George <damien@micropython.org>
2021-01-24 14:56:40 +11:00
Damien George
69262a11dc tools/ci.sh: Put echo of CI path in a separate function.
Because the setup functions may print other information which should not be
added to the path.

Signed-off-by: Damien George <damien@micropython.org>
2020-12-14 13:05:43 +11:00
Damien George
f7225d1c95 github/workflows: Run unix and qemu-arm workflows when tests change.
Signed-off-by: Damien George <damien@micropython.org>
2020-11-30 10:48:41 +11:00
Damien George
a598ae5b4d github/workflows: Add workflows for all CI tasks, builds and tests.
Signed-off-by: Damien George <damien@micropython.org>
2020-11-29 22:21:28 +11:00
David Lechner
eeca2c3cbe github: Add GitHub action to build docs.
This builds docs, but only on pull requests that change a file in the
docs/ directory.
2020-06-05 21:42:10 +10:00