Commit d4b1003d authored by smartcontracts's avatar smartcontracts Committed by GitHub

maint(ci): clean up release job (#11996)

Cleans up the release job by turning it into a matrix.
parent 9ab67384
...@@ -1775,6 +1775,7 @@ workflows: ...@@ -1775,6 +1775,7 @@ workflows:
not: not:
equal: [ scheduled_pipeline, << pipeline.trigger_source >> ] equal: [ scheduled_pipeline, << pipeline.trigger_source >> ]
jobs: jobs:
# Wait for approval on the release
- hold: - hold:
type: approval type: approval
filters: filters:
...@@ -1782,227 +1783,79 @@ workflows: ...@@ -1782,227 +1783,79 @@ workflows:
only: /^(da-server|ci-builder(-rust)?|proofs-tools|ufm-[a-z0-9\-]*|op-[a-z0-9\-]*)\/v.*/ only: /^(da-server|ci-builder(-rust)?|proofs-tools|ufm-[a-z0-9\-]*|op-[a-z0-9\-]*)\/v.*/
branches: branches:
ignore: /.*/ ignore: /.*/
# Standard (medium) cross-platform docker images go here
- docker-build: - docker-build:
name: op-node-docker-release matrix:
filters: parameters:
tags: docker_name:
only: /^op-node\/v.*/ - op-node
branches: - op-batcher
ignore: /.*/ - op-proposer
docker_name: op-node - op-challenger
- op-dispute-mon
- op-conductor
- da-server
- op-ufm
- op-supervisor
name: <<matrix.docker_name>>-docker-release
docker_tags: <<pipeline.git.revision>> docker_tags: <<pipeline.git.revision>>
requires: ['hold']
platforms: "linux/amd64,linux/arm64" platforms: "linux/amd64,linux/arm64"
publish: true publish: true
release: true release: true
context:
- oplabs-gcr-release
- check-cross-platform:
name: op-node-cross-platform
op_component: op-node
requires:
- op-node-docker-release
- docker-build:
name: op-batcher-docker-release
filters: filters:
tags: tags:
only: /^op-batcher\/v.*/ only: /^<<matrix.docker_name>>\/v.*/
branches: branches:
ignore: /.*/ ignore: /.*/
docker_name: op-batcher
docker_tags: <<pipeline.git.revision>>
requires: ['hold']
platforms: "linux/amd64,linux/arm64"
publish: true
release: true
context: context:
- oplabs-gcr-release - oplabs-gcr-release
- check-cross-platform:
name: op-batcher-cross-platform
op_component: op-batcher
requires: requires:
- op-batcher-docker-release - hold
- docker-build: # Checks for cross-platform images go here
name: op-proposer-docker-release
filters:
tags:
only: /^op-proposer\/v.*/
branches:
ignore: /.*/
docker_name: op-proposer
docker_tags: <<pipeline.git.revision>>
requires: ['hold']
platforms: "linux/amd64,linux/arm64"
publish: true
release: true
context:
- oplabs-gcr-release
- check-cross-platform: - check-cross-platform:
name: op-proposer-cross-platform matrix:
op_component: op-proposer parameters:
op_component:
- op-node
- op-batcher
- op-proposer
- op-challenger
- op-dispute-mon
- op-conductor
- da-server
- op-ufm
- op-supervisor
name: <<matrix.op_component>>-cross-platform
requires: requires:
- op-node-docker-release
- op-batcher-docker-release
- op-proposer-docker-release - op-proposer-docker-release
- docker-build:
name: op-challenger-docker-release
filters:
tags:
only: /^op-challenger\/v.*/
branches:
ignore: /.*/
docker_name: op-challenger
docker_tags: <<pipeline.git.revision>>
requires: ['hold']
platforms: "linux/amd64,linux/arm64"
publish: true
release: true
context:
- oplabs-gcr-release
- check-cross-platform:
name: op-challenger-cross-platform
op_component: op-challenger
requires:
- op-challenger-docker-release - op-challenger-docker-release
- docker-build:
name: op-dispute-mon-docker-release
filters:
tags:
only: /^op-dispute-mon\/v.*/
branches:
ignore: /.*/
docker_name: op-dispute-mon
docker_tags: <<pipeline.git.revision>>
requires: ['hold']
platforms: "linux/amd64,linux/arm64"
publish: true
release: true
context:
- oplabs-gcr-release
- check-cross-platform:
name: op-dispute-mon-cross-platform
op_component: op-dispute-mon
requires:
- op-dispute-mon-docker-release - op-dispute-mon-docker-release
- docker-build:
name: op-conductor-docker-release
filters:
tags:
only: /^op-conductor\/v.*/
branches:
ignore: /.*/
docker_name: op-conductor
docker_tags: <<pipeline.git.revision>>
requires: ['hold']
platforms: "linux/amd64,linux/arm64"
publish: true
release: true
context:
- oplabs-gcr-release
- check-cross-platform:
name: op-conductor-cross-platform
op_component: op-conductor
requires:
- op-conductor-docker-release - op-conductor-docker-release
- docker-build:
name: da-server-docker-release
filters:
tags:
only: /^da-server\/v.*/
branches:
ignore: /.*/
docker_name: da-server
docker_tags: <<pipeline.git.revision>>
requires: ['hold']
platforms: "linux/amd64,linux/arm64"
publish: true
release: true
context:
- oplabs-gcr-release
- check-cross-platform:
name: da-server-cross-platform
op_component: da-server
requires:
- da-server-docker-release - da-server-docker-release
- docker-build: - op-ufm-docker-release
name: op-ufm-docker-release
filters:
tags:
only: /^op-ufm\/v.*/
branches:
ignore: /.*/
docker_name: op-ufm
docker_tags: <<pipeline.git.revision>>
publish: true
release: true
context:
- oplabs-gcr-release
requires:
- hold
- docker-build:
name: op-supervisor-docker-release
filters:
tags:
only: /^op-supervisor\/v.*/
branches:
ignore: /.*/
docker_name: op-supervisor
docker_tags: <<pipeline.git.revision>>
requires: ['hold']
platforms: "linux/amd64,linux/arm64"
publish: true
release: true
context:
- oplabs-gcr-release
- check-cross-platform:
name: op-supervisor-cross-platform
op_component: op-supervisor
requires:
- op-supervisor-docker-release - op-supervisor-docker-release
# Standard (xlarge) AMD-only docker images go here
- docker-build: - docker-build:
name: proofs-tools-docker-release matrix:
filters: parameters:
tags: docker_name:
only: /^proofs-tools\/v.*/ - ci-builder
branches: - ci-builder-rust
ignore: /.*/ - proofs-tools
docker_name: proofs-tools name: <<matrix.docker_name>>-docker-release
docker_tags: <<pipeline.git.revision>>,latest
publish: true
release: true
resource_class: xlarge resource_class: xlarge
context: docker_tags: <<pipeline.git.revision>>
- oplabs-gcr
requires:
- hold
- docker-build:
name: ci-builder-docker-release
filters:
tags:
only: /^ci-builder\/v.*/
branches:
ignore: /.*/
docker_name: ci-builder
docker_tags: <<pipeline.git.revision>>,latest
publish: true publish: true
release: true release: true
resource_class: xlarge
context:
- oplabs-gcr
requires:
- hold
- docker-build:
name: ci-builder-rust-docker-release
filters: filters:
tags: tags:
only: /^ci-builder-rust\/v.*/ only: /^<<matrix.docker_name>>\/v.*/
branches: branches:
ignore: /.*/ ignore: /.*/
docker_name: ci-builder-rust
docker_tags: <<pipeline.git.revision>>,latest
publish: true
release: true
resource_class: xlarge
context: context:
- oplabs-gcr - oplabs-gcr-release
requires: requires:
- hold - hold
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment