CI: Add `octez-evm-node` release pipeline
Hats off to everyone involved in the CIAO project. The result of your hard work is true gem.
In a nutshell, we rewrite the Etherlink release logic to make use of the newly
introduced octez-evm-node product. Our goal is to introduce a specific
pipeline for releases of the Octez EVM Node (octez-evm-node), with two kinds
of artifacts:
- Docker images only containing the
octez-evm-nodebinary -
octez-evm-nodestatic binaries for x86-64 and Amd64
In order to implement that, I have stolen drawn inspiration from the Octez
release pipeline. Some scripts had to be generalized a little, because they
were assuming octez-node nad octez-client would always be part of Docker
images built by the CI. Some general-purpose functions were duplicated, like
the one to upload an artifact to a Gitlab package. This is to keep the
“official” release pipeline as simple as possible, and avoid indirections when
possible.
You can review the release page generated by Gitlab for a fake tage here. Can you guess how many trials I had to do before getting something working as I wanted?
Checklist
-
Document the interface of any function added or modified (see the coding guidelines) -
Document any change to the user interface, including configuration parameters (see node configuration) -
Provide automatic testing (see the testing guide). -
For new features and bug fixes, add an item in the appropriate changelog ( docs/protocols/alpha.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR