-
Notifications
You must be signed in to change notification settings - Fork 335
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[CI] - workflow maintenance #2984
base: master
Are you sure you want to change the base?
Conversation
WASM runtime size check:Compared to target branchMoonbase runtime: 2280 KB (no changes) ✅ Moonbeam runtime: 2236 KB (no changes) ✅ Moonriver runtime: 2256 KB (no changes) ✅ Compared to latest release (runtime-3200)Moonbase runtime: 2280 KB (+320 KB compared to latest release) Moonbeam runtime: 2236 KB (+312 KB compared to latest release) Moonriver runtime: 2256 KB (+332 KB compared to latest release) |
cfg moonbeam-networks
@RomarQ should this PR strengthen the security of the github actions? if so, how? (besides the repository content being set to read-only) |
@noandrea and @pLabarta are the ones working on the CI/CD improvements. To properly strengthen it, the continuous delivery jobs need to be moved to another repository without self-hosted runners. |
@vanhauser-thc this pr focus on limiting the permissions of the github token used by the runners and limiting the use of self-hosted runners to the minimum. |
If I understand this correctly: twiggy could be used to write messages to a PR - not a huge security impact though. |
It is nothing related to any test component. It is just a combination of how github workflows can get triggered and with the fact that we use self-hosted runners. You can find more info here: https://www.synacktiv.com/en/publications/github-actions-exploitation-self-hosted-runners |
I know. I am pointing out though what issues are likely still present after merging this PR which tries to restrict what workflows can do. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall looks good, but I have some questions about the GHA instances and about the versioning of the docker images
@@ -19,8 +19,9 @@ jobs: | |||
####### Check files and formatting ####### | |||
|
|||
set-tags: | |||
runs-on: | |||
labels: bare-metal | |||
runs-on: ubuntu-latest |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We used to rely on bare-metal for coverage as it required a lot of computation (for compiling rust with coverage data IIRC). Is it intended to move it back default instances ?
|
||
jobs: | ||
####### Building binaries ####### | ||
|
||
build-binary: | ||
runs-on: bare-metal | ||
runs-on: ubuntu-latest |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it intended ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It might make the wholme process a lot slower
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it is intended, a default runner provider better isolation and the job is part of the release process, and therefore is a relatively rare event
@@ -14,7 +14,9 @@ on: | |||
jobs: | |||
####### Building binaries ####### | |||
setup-scripts: | |||
runs-on: bare-metal | |||
runs-on: ubuntu-latest |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
see the reply above
@@ -2,7 +2,7 @@ | |||
# | |||
# Requires to run from repository root and to copy the binary in the build folder (part of the release workflow) | |||
|
|||
FROM docker.io/library/ubuntu:20.04 AS builder | |||
FROM debian:stable AS builder |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using stable mean that the version might change and introduce failure at some point.
I'm not sure if it is better than specifying a version that we manually update every 2 years when we have time to test it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
across the MBF organization, there are different versions of docker images involved in running/testing/... the moonbeam binary, and changing a version in one repository usually causes other processes to break. The change aims to have a consistent version of the image across repositories, and to keep using an up-to-date version (without being bleeding-edge) of the build images. The stable release do not changes very often, around every 2y afaik
on the repository configuration (admin interface) we have setup that pr from forks need to be approved and also any changes to pr requires a new authorization. |
What does it do?
What important points reviewers should know?
Is there something left for follow-up PRs?
What alternative implementations were considered?
Are there relevant PRs or issues in other repositories (Substrate, Polkadot, Frontier, Cumulus)?
What value does it bring to the blockchain users?