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.
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.
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.
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
When people suggest a solution to a generic issue they encounter, they have to open a feature request, which is not optimal. Submitting an issue through this new form will require writing about the issue that led to the idea, which will make it easier to discuss different solutions.
* 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
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.
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.