• Mark Tyneway's avatar
    ci: handle gas-oracle latest image, skip builder · 663efb3e
    Mark Tyneway authored
    This PR updates the `ops/scripts/ci-versions.js` file
    to skip building the builder image for when there
    are changes to the `gas-oracle`. The `builder` contains
    all of the JS code required for the various typescript
    based services.
    
    This PR also publishes `ethereumoptimism/gas-oracle:latest`.
    It is faster to `docker pull` than `docker build`.
    This will speed up the workflow for developers building locally
    against the `docker compose` setup as well as the CI if it
    is refactored to pull the `latest` images for the unchanged images
    instead of building them from scratch.
    663efb3e
ci-versions.js 768 Bytes
const os = require('os')

// this script unbundles the published packages output
// from changesets action to a key-value pair to be used
// with our publishing CI workflow
data = process.argv[2]
data = JSON.parse(data)

// Packages that do not depend on the builder.
// There are more packages that depend on the
// builder than not, so keep track of this list instead
const nonBuilders = new Set([
  'l2geth',
  'gas-oracle',
])

builder = false
for (const i of data) {
  const name = i.name.replace("@eth-optimism/", "")
  if (!nonBuilders.has(name)) {
    builder = true
  }
  const version = i.version
  process.stdout.write(`::set-output name=${name}::${version}` + os.EOL)
}

if (builder) {
  process.stdout.write(`::set-output name=builder::true` + os.EOL)
}