Commit graph

61 commits

Author SHA1 Message Date
Riku Isokoski 81bc16fd92 workflow: Buildsize comment when simulator fails
The workflow checks that the buildsize comparison succeeds. The download
artifact step also checks that all of the main workflow succeeds. This
isn't necessary, and causes the comment not to be created when the
simulator build fails. This change disabled the success conclusion
requirement.
2023-01-31 22:38:17 +02:00
Riku Isokoski cb91943f12 workflow: Updated workflow comment for all
The previous version failed, because it looked for the check from the
branch in the fork, but looked for it in the main repo. Now uses the sha
to get the commit on which checks were run.

Previous description

This works by uploading the data from the main workflow with low
permissions as an artifact, then downloading the data in a workflow with
higher permissions to post the comment.

Third party actions are fixed at a commit, in case they get compromised.

Also set the build-firmware VM to ubuntu-22.04, which was missed when
updating workflow deps earlier.
2023-01-31 21:56:24 +02:00
Riku Isokoski 3e964e20ac Revert "workflow: Comment build size on all PRs"
This reverts commit 012c3d25f3.
2023-01-31 09:33:56 +02:00
Riku Isokoski 012c3d25f3 workflow: Comment build size on all PRs
This works by uploading the data from the main workflow with low
permissions as an artifact, then downloading the data in a workflow with
higher permissions to post the comment.

Third party actions are fixed at a commit, in case they get compromised.

Also set the build-firmware VM to ubuntu-22.04, which was missed when
updating workflow deps earlier.
2023-01-31 09:21:02 +02:00
Riku Isokoski 056b0f5b3f build-size-workflow: Fix when base gets updated
The github.event.pull_request.base.sha in the workflow doesn't get
updated when there are new commits in the base branch. Instead always
checkout the branch to check the sha manually and cache only the build.

The ownership fix seems to still be necessary
2023-01-28 17:58:43 +02:00
Riku Isokoski 7508dd74ee
Update workflow dependencies (#1504)
* Update workflow dependencies

ubuntu-latest vm has been updated from 20.04 to 22.04.
To avoid sudden issues, use 22.04 explicitly.
CMake doesn't need to be updated on 22.04, but ninja must be installed separately in the simulator workflow.
actions/checkout@v2 uses deprecated Node.js 12.
Update to v3 which uses 16
2023-01-12 22:04:25 +02:00
Riku Isokoski 09db67e003 workflow: echo build diffs for viewing without the comment 2023-01-07 20:58:18 +02:00
Riku Isokoski dca11812c2 workflows: Disable build size comment in fork PRs
Due to a security concern, comments can only be created in the context
of branches in the repo. PRs from forks can't get the comment.

https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#restrictions-on-repository-forks
https://securitylab.github.com/research/github-actions-preventing-pwn-requests/
2023-01-07 20:58:18 +02:00
Riku Isokoski 028d40860d workflows: Add build size comparison workflow
Add .github/workflows/getSize.sh to extract sizes of sections from the
objfile

build-firmware uses getSize.sh to output the section sizes.

get-base-ref-size job added, which builds the base branch of the PR and
outputs the section sizes. Caches are used to avoid unnecessary builds
when the base branch hasn't been updated.

leave-build-size-comment job added, which creates or updates a comment
on the PR with the build size information from other jobs.
2023-01-07 18:56:15 +02:00
Riku Isokoski 499f0875d3 workflows: Update workflow dependency
The workaround is no longer necessary
2023-01-07 18:56:15 +02:00
Finlay Davidson eda96ffadc Update clang-{format,tidy} to 14
Also add configuration options only available in 13 and 14.
Fixes warning about -fstack-usage in clang-tidy check.
2023-01-04 17:15:33 +01:00
NeroBurner 4ab99d0d4b
CI: disable BUILD_RESOURCES for InfiniSim as already done in firmware (#1366) 2022-10-11 22:30:51 +02:00
Jean-François Milants 6dd67eb5a2 CI worklow "build-firmware" : add the infinitime-resources packages to the build artifacts. 2022-10-11 17:25:40 +02:00
Riku Isokoski 318a97c218 Fix docker issue 2022-10-10 17:52:36 +02:00
Riku Isokoski 73918ce8af Add clang-tidy check to display warnings on GitHub 2022-10-10 17:52:36 +02:00
mashuptwice 4fdb06acd9 Merge remote-tracking branch 'upstream/develop' into workflow-ignore-md 2022-08-25 11:34:12 +02:00
mashuptwice 4940cbda7a removed lv_sim.yml 2022-08-25 11:30:11 +02:00
mashuptwice 5c253c10a8 Merge remote-tracking branch 'upstream/develop' into workflow-ignore-md 2022-08-25 10:56:09 +02:00
Riku Isokoski f53e75063b
Merge CI to deduplicate events (#1279) 2022-08-25 08:32:46 +03:00
Riku Isokoski e02b58bf1b
Move all images to doc. Remove old images. (#1282) 2022-08-21 14:42:53 +03:00
mashuptwice d00a5d1e37 workflow: ignore changes in *.md files 2022-08-11 01:42:17 +02:00
Finlay Davidson fdad3fc985 Fix Docker workflow not pushing on manual trigger
Also fix issue where workflow fails on pull requests when the
user who made the pull request doesn't have the secrets set.
Also allow other workflows to be triggered manually.
Also don't trigger any workflows on pull requests to master, as
there shouldn't be any pull requests against master.
2022-07-19 11:53:56 +02:00
Jean-François Milants 2497749715 Merge branch 'develop' of github.com:JF002/Pinetime into develop 2022-07-09 12:19:54 +02:00
Jean-François Milants fa17ae2098 Add 'workflow_dispatch' in the workflow file for Docker image generation to allow manually starting the workflow. 2022-07-09 12:19:38 +02:00
Finlay Davidson 358690d08b Docker workflow use separate username for login 2022-07-09 12:05:46 +02:00
Finlay Davidson 27b73470f2 Only build Docker Images on develop, not master 2022-07-08 17:13:47 +02:00
Finlay Davidson c3bd04f497 Make Docker workflow push to latest and commit sha 2022-07-08 17:13:47 +02:00
Finlay Davidson 1b971eebae Don't try to cache to Docker Hub on pull request 2022-07-08 17:13:47 +02:00
Finlay Davidson 6a0aec0850 Use either a secret or infinitime as username
Uses either the DOCKER_HUB_USERNAME secret or just infinitime as
the username for pushing to and pulling from Docker Hub.
2022-07-08 17:13:47 +02:00
Finlay Davidson 4ee3e51605 Require event_name to be push for Docker Hub
Instead of just checking if it's not pull_request
2022-07-08 17:13:47 +02:00
Finlay Davidson b089fc2c61 Hardcode the Docker Hub username as infinitime
This is so that pull requests that modify the docker image but
don't have the DOCKER_HUB_USERNAME secret set won't fail.
2022-07-08 17:13:47 +02:00
FintasticMan 6c23aa5626 Create GH Actions workflow to build Docker image 2022-07-08 17:13:47 +02:00
Riku Isokoski b9f5a0745d
Don't build the firmware when only docs were modified (#1198) 2022-07-05 09:22:29 +03:00
FintasticMan a1385cb481
Minor changes to clang-format workflow (#1177) 2022-06-11 22:45:11 +03:00
Riku Isokoski 0fabba1c9a Remove extra linebreaks 2022-05-27 17:52:26 +02:00
Riku Isokoski a2218dd4ad Unzip DFU, so the artifact doesn't need to be unzipped by the user. 2022-05-27 17:52:26 +02:00
Riku Isokoski 619477cbd1 Rename uploaded files with source branch in workflows 2022-05-27 17:52:26 +02:00
Riku Isokoski cc2d5c39ce Cleanup workflows 2022-05-27 17:52:26 +02:00
Jean-François Milants 1ffca52715 Edit workflow to use the new docker image : infinitime/infinitime-build. 2022-05-26 11:35:25 +02:00
Jean-François Milants 123c801f17 Add comment about the workaround that was needed in the github workflow. 2022-05-26 11:35:25 +02:00
Jean-François Milants 831f93cd92 The main build workflow for GitHub Actions now uses the infinitime-build docker image to build the firmware. This allows to avoid the duplication of the build logic in Docker and Github workflow format.
The Dockerfile has been slightly adapted (remove the USER instructions). Docker images are now published in DockerHub (jf002/infinitime-build).
2022-05-26 11:35:25 +02:00
Riku Isokoski 6171c9d45d Only test format when it is wanted 2022-05-16 23:25:47 +02:00
Riku Isokoski a6fcdec0f8 Don't allow test-format.sh to be run locally 2022-05-16 23:25:47 +02:00
FintasticMan 8485cdb54d Only run lv_sim GH Actions on push to develop and master 2022-05-14 12:21:35 +02:00
Yehoshua Pesach Wallach 78267eec40 fongen: don't pre-build fonts 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach 2ccf88c03c fontgen: lock version at current 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach e39f183efe fontgen: make simulator build fonts too 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach b9fbee1007 Added lv_font_conv to workflow main 2022-05-10 22:20:02 +02:00
Riku Isokoski 015f17cd25 Add formatting test workflow 2022-05-08 13:31:00 +02:00
Reinhold Gschweicher 7e0b053b38 CI: lv_sim: initialize libpng submodule for WITH_PNG=ON screenshot
InfiniSim PR https://github.com/InfiniTimeOrg/InfiniSim/pull/10 adds
support for screenshots in png/bmp format using `libpng` submodule.
This new submodule must be added to the lv_sim workflow as well.
2022-03-08 21:57:20 +01:00