github.com/authcall/reference-optimistic-geth@v0.0.0-20220816224302-06313bfeb8d2/.circleci/config.yml (about)

     1  version: 2.1
     2  
     3  jobs:
     4    build-geth:
     5      docker:
     6        - image: cimg/go:1.18
     7      resource_class: medium
     8      steps:
     9        - checkout
    10        - run:
    11            command: go run build/ci.go install
    12    unit-test:
    13      resource_class: medium
    14      docker:
    15        - image: cimg/go:1.18
    16      steps:
    17        - checkout
    18        - run:
    19            command: go run build/ci.go test
    20    lint-geth:
    21      resource_class: medium
    22      docker:
    23        - image: cimg/go:1.18
    24      steps:
    25        - checkout
    26        - run:
    27            command: go run build/ci.go lint
    28  
    29    build-dockerfile:
    30      docker:
    31        - image: cimg/base:2022.04
    32      parameters:
    33        image-name:
    34          description: Image name
    35          type: string
    36        image-tag:
    37          description: Image tag
    38          type: string
    39        target:
    40          description: Dockerfile target
    41          type: string
    42          default: ""
    43        dockerfile:
    44          description: Dockerfile to use
    45          type: string
    46      steps:
    47        - checkout
    48        - setup_remote_docker:
    49            version: 20.10.12
    50        - run:
    51            name: Build
    52            command: |
    53              echo "$DOCKER_PASS" | docker login -u "$DOCKER_USERNAME" --password-stdin
    54              docker build -t "ethereumoptimism/<<parameters.image-name>>:<<parameters.image-tag>>" -f <<parameters.dockerfile>> <<#parameters.target>>--target <<parameters.target>><</parameters.target>> .
    55              docker push "ethereumoptimism/<<parameters.image-name>>:<<parameters.image-tag>>"
    56  
    57  workflows:
    58    main:
    59      jobs:
    60        - build-geth:
    61            name: Build geth
    62        - unit-test:
    63            name: Run unit tests for geth
    64        - lint-geth:
    65            name: Run linter over geth
    66        - build-dockerfile:
    67            context:
    68              - optimism
    69            filters:
    70              branches:
    71                only:
    72                  - optimism
    73            image-name: reference-optimistic-geth
    74            image-tag: latest
    75            dockerfile: Dockerfile
    76            name: Build reference-optimistic-geth develop
    77        - build-dockerfile:
    78            context:
    79              - optimism
    80            image-name: reference-optimistic-geth
    81            image-tag: $CIRCLE_SHA1
    82            dockerfile: Dockerfile
    83            name: Build reference-optimistic-geth per-commit