Commit 391dbf8c authored by Mark Tyneway's avatar Mark Tyneway Committed by Kelvin Fichter

ci: pass through builder docker tag arg

Allows for custom builder tags to be used
parent ecba6577
---
'@eth-optimism/builder': patch
---
Create builder release
...@@ -177,7 +177,7 @@ jobs: ...@@ -177,7 +177,7 @@ jobs:
context: . context: .
file: ./ops/docker/Dockerfile.monorepo file: ./ops/docker/Dockerfile.monorepo
push: true push: true
tags: ethereumoptimism/builder tags: ethereumoptimism/builder:${{ needs.builder.outputs.canary-docker-tag }}
message-relayer: message-relayer:
name: Publish Message Relayer Version ${{ needs.builder.outputs.canary-docker-tag }} name: Publish Message Relayer Version ${{ needs.builder.outputs.canary-docker-tag }}
...@@ -204,6 +204,7 @@ jobs: ...@@ -204,6 +204,7 @@ jobs:
file: ./ops/docker/Dockerfile.message-relayer file: ./ops/docker/Dockerfile.message-relayer
push: true push: true
tags: ethereumoptimism/message-relayer:${{ needs.builder.outputs.canary-docker-tag }} tags: ethereumoptimism/message-relayer:${{ needs.builder.outputs.canary-docker-tag }}
build-args: BUILDER_TAG=${{ needs.builder.outputs.canary-docker-tag }}
batch-submitter: batch-submitter:
name: Publish Batch Submitter Version ${{ needs.builder.outputs.canary-docker-tag }} name: Publish Batch Submitter Version ${{ needs.builder.outputs.canary-docker-tag }}
...@@ -230,6 +231,7 @@ jobs: ...@@ -230,6 +231,7 @@ jobs:
file: ./ops/docker/Dockerfile.batch-submitter file: ./ops/docker/Dockerfile.batch-submitter
push: true push: true
tags: ethereumoptimism/batch-submitter:${{ needs.builder.outputs.canary-docker-tag }} tags: ethereumoptimism/batch-submitter:${{ needs.builder.outputs.canary-docker-tag }}
build-args: BUILDER_TAG=${{ needs.builder.outputs.canary-docker-tag }}
data-transport-layer: data-transport-layer:
name: Publish Data Transport Layer Version ${{ needs.builder.outputs.canary-docker-tag }} name: Publish Data Transport Layer Version ${{ needs.builder.outputs.canary-docker-tag }}
...@@ -256,6 +258,7 @@ jobs: ...@@ -256,6 +258,7 @@ jobs:
file: ./ops/docker/Dockerfile.data-transport-layer file: ./ops/docker/Dockerfile.data-transport-layer
push: true push: true
tags: ethereumoptimism/data-transport-layer:${{ needs.builder.outputs.canary-docker-tag }} tags: ethereumoptimism/data-transport-layer:${{ needs.builder.outputs.canary-docker-tag }}
build-args: BUILDER_TAG=${{ needs.builder.outputs.canary-docker-tag }}
contracts: contracts:
name: Publish Deployer Version ${{ needs.builder.outputs.canary-docker-tag }} name: Publish Deployer Version ${{ needs.builder.outputs.canary-docker-tag }}
...@@ -282,6 +285,7 @@ jobs: ...@@ -282,6 +285,7 @@ jobs:
file: ./ops/docker/Dockerfile.deployer file: ./ops/docker/Dockerfile.deployer
push: true push: true
tags: ethereumoptimism/deployer:${{ needs.builder.outputs.canary-docker-tag }} tags: ethereumoptimism/deployer:${{ needs.builder.outputs.canary-docker-tag }}
build-args: BUILDER_TAG=${{ needs.builder.outputs.canary-docker-tag }}
integration_tests: integration_tests:
name: Publish Integration tests ${{ needs.builder.outputs.integration-tests }} name: Publish Integration tests ${{ needs.builder.outputs.integration-tests }}
...@@ -308,6 +312,7 @@ jobs: ...@@ -308,6 +312,7 @@ jobs:
file: ./ops/docker/Dockerfile.integration-tests file: ./ops/docker/Dockerfile.integration-tests
push: true push: true
tags: ethereumoptimism/integration-tests:${{ needs.builder.outputs.canary-docker-tag }} tags: ethereumoptimism/integration-tests:${{ needs.builder.outputs.canary-docker-tag }}
build-args: BUILDER_TAG=${{ needs.builder.outputs.canary-docker-tag }}
replica-healthcheck: replica-healthcheck:
name: Publish Data Transport Layer Version ${{ needs.builder.outputs.canary-docker-tag }} name: Publish Data Transport Layer Version ${{ needs.builder.outputs.canary-docker-tag }}
...@@ -334,6 +339,7 @@ jobs: ...@@ -334,6 +339,7 @@ jobs:
file: ./ops/docker/Dockerfile.replica-healthcheck file: ./ops/docker/Dockerfile.replica-healthcheck
push: true push: true
tags: ethereumoptimism/replica-healthcheck:${{ needs.builder.outputs.canary-docker-tag }} tags: ethereumoptimism/replica-healthcheck:${{ needs.builder.outputs.canary-docker-tag }}
build-args: BUILDER_TAG=${{ needs.builder.outputs.canary-docker-tag }}
proxyd: proxyd:
name: Publish proxyd Version ${{ needs.canary-publish.outputs.canary-docker-tag }} name: Publish proxyd Version ${{ needs.canary-publish.outputs.canary-docker-tag }}
......
...@@ -11,6 +11,7 @@ jobs: ...@@ -11,6 +11,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
# map the step outputs to job outputs # map the step outputs to job outputs
outputs: outputs:
use_builder: ${{ steps.packages.outputs.use_builder }}
builder: ${{ steps.packages.outputs.builder }} builder: ${{ steps.packages.outputs.builder }}
l2geth: ${{ steps.packages.outputs.l2geth }} l2geth: ${{ steps.packages.outputs.l2geth }}
batch-submitter: ${{ steps.packages.outputs.batch-submitter }} batch-submitter: ${{ steps.packages.outputs.batch-submitter }}
...@@ -203,12 +204,17 @@ jobs: ...@@ -203,12 +204,17 @@ jobs:
# pushes the base builder image to dockerhub # pushes the base builder image to dockerhub
builder: builder:
name: Prepare the base builder image for the services name: Prepare/Publish the base builder image for the services ${{ needs.release.outputs.builder }}
needs: release needs: release
if: needs.release.outputs.builder == 'true' # Build the builder if a dep of the builder has an update or if the builder
# has had its version bumped. TODO: remove the left hand side once tagged
# releases of the builder are released so that pulled builder images are
# used
if: ${{ needs.release.outputs.use_builder == 'true' || needs.release.outputs.builder != '' }}
runs-on: ubuntu-latest runs-on: ubuntu-latest
# we re-output the variables so that the child jobs can access them # we re-output the variables so that the child jobs can access them
outputs: outputs:
builder: ${{ needs.release.outputs.builder || 'latest' }}
batch-submitter: ${{ needs.release.outputs.batch-submitter }} batch-submitter: ${{ needs.release.outputs.batch-submitter }}
message-relayer: ${{ needs.release.outputs.message-relayer }} message-relayer: ${{ needs.release.outputs.message-relayer }}
data-transport-layer: ${{ needs.release.outputs.data-transport-layer }} data-transport-layer: ${{ needs.release.outputs.data-transport-layer }}
...@@ -234,7 +240,7 @@ jobs: ...@@ -234,7 +240,7 @@ jobs:
context: . context: .
file: ./ops/docker/Dockerfile.monorepo file: ./ops/docker/Dockerfile.monorepo
push: true push: true
tags: ethereumoptimism/builder tags: ethereumoptimism/builder:${{ needs.release.outputs.builder }},ethereumoptimism/builder:latest
message-relayer: message-relayer:
name: Publish Message Relayer Version ${{ needs.builder.outputs.message-relayer }} name: Publish Message Relayer Version ${{ needs.builder.outputs.message-relayer }}
...@@ -261,6 +267,7 @@ jobs: ...@@ -261,6 +267,7 @@ jobs:
file: ./ops/docker/Dockerfile.message-relayer file: ./ops/docker/Dockerfile.message-relayer
push: true push: true
tags: ethereumoptimism/message-relayer:${{ needs.builder.outputs.message-relayer }},ethereumoptimism/message-relayer:latest tags: ethereumoptimism/message-relayer:${{ needs.builder.outputs.message-relayer }},ethereumoptimism/message-relayer:latest
build-args: BUILDER_TAG=${{ needs.builder.outputs.builder }}
batch-submitter: batch-submitter:
name: Publish Batch Submitter Version ${{ needs.builder.outputs.batch-submitter }} name: Publish Batch Submitter Version ${{ needs.builder.outputs.batch-submitter }}
...@@ -287,6 +294,7 @@ jobs: ...@@ -287,6 +294,7 @@ jobs:
file: ./ops/docker/Dockerfile.batch-submitter file: ./ops/docker/Dockerfile.batch-submitter
push: true push: true
tags: ethereumoptimism/batch-submitter:${{ needs.builder.outputs.batch-submitter }},ethereumoptimism/batch-submitter:latest tags: ethereumoptimism/batch-submitter:${{ needs.builder.outputs.batch-submitter }},ethereumoptimism/batch-submitter:latest
build-args: BUILDER_TAG=${{ needs.builder.outputs.builder }}
data-transport-layer: data-transport-layer:
name: Publish Data Transport Layer Version ${{ needs.builder.outputs.data-transport-layer }} name: Publish Data Transport Layer Version ${{ needs.builder.outputs.data-transport-layer }}
...@@ -313,6 +321,7 @@ jobs: ...@@ -313,6 +321,7 @@ jobs:
file: ./ops/docker/Dockerfile.data-transport-layer file: ./ops/docker/Dockerfile.data-transport-layer
push: true push: true
tags: ethereumoptimism/data-transport-layer:${{ needs.builder.outputs.data-transport-layer }},ethereumoptimism/data-transport-layer:latest tags: ethereumoptimism/data-transport-layer:${{ needs.builder.outputs.data-transport-layer }},ethereumoptimism/data-transport-layer:latest
build-args: BUILDER_TAG=${{ needs.builder.outputs.builder }}
contracts: contracts:
name: Publish Deployer Version ${{ needs.builder.outputs.contracts }} name: Publish Deployer Version ${{ needs.builder.outputs.contracts }}
...@@ -339,6 +348,7 @@ jobs: ...@@ -339,6 +348,7 @@ jobs:
file: ./ops/docker/Dockerfile.deployer file: ./ops/docker/Dockerfile.deployer
push: true push: true
tags: ethereumoptimism/deployer:${{ needs.builder.outputs.contracts }},ethereumoptimism/deployer:latest tags: ethereumoptimism/deployer:${{ needs.builder.outputs.contracts }},ethereumoptimism/deployer:latest
build-args: BUILDER_TAG=${{ needs.builder.outputs.builder }}
integration_tests: integration_tests:
name: Publish Integration tests ${{ needs.builder.outputs.integration-tests }} name: Publish Integration tests ${{ needs.builder.outputs.integration-tests }}
...@@ -365,6 +375,7 @@ jobs: ...@@ -365,6 +375,7 @@ jobs:
file: ./ops/docker/Dockerfile.integration-tests file: ./ops/docker/Dockerfile.integration-tests
push: true push: true
tags: ethereumoptimism/integration-tests:${{ needs.builder.outputs.integration-tests }},ethereumoptimism/integration-tests:latest tags: ethereumoptimism/integration-tests:${{ needs.builder.outputs.integration-tests }},ethereumoptimism/integration-tests:latest
build-args: BUILDER_TAG=${{ needs.builder.outputs.builder }}
replica-healthcheck: replica-healthcheck:
name: Publish Replica Healthcheck Version ${{ needs.builder.outputs.replica-healthcheck }} name: Publish Replica Healthcheck Version ${{ needs.builder.outputs.replica-healthcheck }}
...@@ -391,3 +402,4 @@ jobs: ...@@ -391,3 +402,4 @@ jobs:
file: ./ops/docker/Dockerfile.replica-healthcheck file: ./ops/docker/Dockerfile.replica-healthcheck
push: true push: true
tags: ethereumoptimism/replica-healthcheck:${{ needs.builder.outputs.replica-healthcheck }},ethereumoptimism/replica-healthcheck:latest tags: ethereumoptimism/replica-healthcheck:${{ needs.builder.outputs.replica-healthcheck }},ethereumoptimism/replica-healthcheck:latest
build-args: BUILDER_TAG=${{ needs.builder.outputs.builder }}
{
"name": "@eth-optimism/builder",
"version": "0.0.1",
"license": "MIT"
}
...@@ -27,6 +27,6 @@ for (const i of data) { ...@@ -27,6 +27,6 @@ for (const i of data) {
} }
if (builder) { if (builder) {
process.stdout.write(`::set-output name=builder::true` + os.EOL) process.stdout.write(`::set-output name=use_builder::true` + os.EOL)
} }
...@@ -12,7 +12,8 @@ ...@@ -12,7 +12,8 @@
"go/gas-oracle", "go/gas-oracle",
"go/batch-submitter", "go/batch-submitter",
"go/proxyd", "go/proxyd",
"ops/docker/rpc-proxy" "ops/docker/rpc-proxy",
"ops/docker/builder"
], ],
"nohoist": [ "nohoist": [
"examples/*" "examples/*"
......
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