-
Notifications
You must be signed in to change notification settings - Fork 277
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
Build config/swarm/executor.wasm
in CI
#4549
Comments
We also need |
Also our docker-compose files rely on existence of |
if we build and publish it as an artifact in the CI is it possible to reference it from the compose file? |
Github artifacts are tricky to deal with... We can't simply get artifact by it's name like Also i'm not sure it's artifacts are suitable for long term storage since every artifact has retantion timer associated with them. |
we can:
|
is it possible to run a script on the host that build wasm before starting the container on edit: seems not |
|
as far as we're concerned others can store |
Deployment (CD) should be clear of creation smth. We can try to push executors to the outside special repository but it's a rough option too. FTP server is suitable here, but should be configured from scratch, so, an additional effort and time spending in this case. |
In this case we have to update all deployments either to download executor from S3 or from git. Also, should docker-compose files community users download executors manually before to up docker-compose? |
what we have currently also feels wrong. Docker pulls I'm thinking there are 3 reasonable choices here:
2nd approach is fine except that it's hard to edit the |
What if we do the following:
|
I want to draw everyone attention to what has happened to me when publishing RC21.3 release. I've been looking into why this CI job it fails. All of a sudden Iroha fails too boot from IMO all docker images should build themselves locally. This should be the default, and if someone wants to they can change to download the docker image. If we want to offer predefined network referencing a static docker image, we should do that in the documentation repository, not here. These images are for development, not for deployment |
I agree @mversic , there would be no good reason to pull the last published dev image and test it in the release workflow. I also think a test by pulling an image would duplicate a previous test by building the image |
My experience in #4411 led me to think about modularity of not only executor but also genesis and swarm, and about consistency between them. graph LR
classDef artifact fill:#8c4351,fill-opacity:0.5
classDef env_val fill:#166775,fill-opacity:0.5
classDef not_planned opacity:0.5
%% legend
artifact(artifact):::artifact
env_val(environment variable):::env_val
%% build tools
root_hook(/build.rs) --> executor_builder(iroha_wasm_builder_cli)
root_hook --> genesis_builder(kagami genesis)
root_hook --> schema_builder(kagami schema):::not_planned
root_hook --> swarm_builder(iroha_swarm)
%% config injection
base_seed(BASE_KEYPAIR_SEED):::env_val --> genesis_pub_key(GENESIS_PUBLIC_KEY):::env_val
base_seed .-> swarm_builder
genesis_pub_key .-> genesis_builder
executor_path(EXECUTOR_PATH):::env_val .-> executor_builder
executor_path .-> genesis_builder
%% artifacts
executor_builder --> executor(executor.wasm):::artifact
genesis_builder --> genesis(genesis.json):::artifact
swarm_builder --> swarm(docker-compose.*.yml):::artifact
|
If you mean the step |
@BAStos525 I mean the corresponding step of the release workflow would ignore |
Right. For now only manual changing of docker-compose files between merging to the stable branch is available. Compose files are managed by swarm. |
Currently, every developer builds executor on his own machine and commits it into git. Then this executor is used in tests. This creates too many unnecessary git conflicts and prevents me from merging backports directly into
main
branch. What was the reason for doing this in the first place?We should build executor in the CI every time before running tests in the CI and not track
executor.wasm
in git at allThe text was updated successfully, but these errors were encountered: