diff --git a/.github/scripts/replace-aws-account-id.sh b/.github/scripts/replace-aws-account-id.sh deleted file mode 100755 index 7fee21a441a..00000000000 --- a/.github/scripts/replace-aws-account-id.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -sed -iE 's//'"$AWS_ACCOUNT_ID"'/g' ./docker-compose.ci.yml - diff --git a/.github/scripts/stop-ecs-task.sh b/.github/scripts/stop-ecs-task.sh deleted file mode 100755 index 261fe1a6cca..00000000000 --- a/.github/scripts/stop-ecs-task.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -if [ "$#" -ne 2 ]; then - echo "Invalid number of arguments. Usage: stop-ecs-task.sh " - exit 1 -fi - -cluster=$1 -service=$2 - -tasks=$(aws ecs list-tasks --cluster $cluster --service-name $service) - -task_arn=$(echo $tasks | awk -F\[ '{print $2}' | awk -F\" '{print $2}') - -if [ -n "${task_arn}" ]; then - aws ecs stop-task --cluster $cluster --task $task_arn > /dev/null -fi \ No newline at end of file diff --git a/.github/workflows/dev-ecr-deploy.yml b/.github/workflows/dev-ecr-deploy.yml deleted file mode 100644 index a90614003fa..00000000000 --- a/.github/workflows/dev-ecr-deploy.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: Build & Tag Container, Push to ECR, Deploy to Dev - -on: - push: - branches: - - master - -jobs: - build: - name: Build, Tag & push to ECR, Deploy task - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - name: Setup node - uses: actions/setup-node@v1 - - - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v1 - with: - aws-access-key-id: ${{ secrets.AWS_CI_USER_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.AWS_CI_USER_SECRET_ACCESS_KEY }} - aws-region: us-east-2 - - - name: Login to Amazon ECR - id: login-ecr - uses: aws-actions/amazon-ecr-login@v1 - - - name: Build, tag, and push image to Amazon ECR - env: - ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} - ECR_REPOSITORY: optimism/rollup-microservices - IMAGE_TAG: latest - run: | - docker build -f Dockerfile -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG . - docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG - - - name: Stop existing dev-rollup-microservices ECS task to auto-start task with new image - run: | - ./.github/scripts/stop-ecs-task.sh dev dev-all-in-one - - - name: Logout of Amazon ECR - if: always() - run: docker logout ${{ steps.login-ecr.outputs.registry }} diff --git a/.github/workflows/dockerhub-build-push.yml b/.github/workflows/dockerhub-build-push.yml index a13c0c3649e..7d91e425f6c 100644 --- a/.github/workflows/dockerhub-build-push.yml +++ b/.github/workflows/dockerhub-build-push.yml @@ -3,7 +3,9 @@ name: Build & Push to DockerHub on: push: branches: + - master - testnet + - uat jobs: build: @@ -12,22 +14,25 @@ jobs: steps: - uses: actions/checkout@v2 - - name: Setup node - uses: actions/setup-node@v1 + + - uses: webfactory/ssh-agent@v0.4.0 + with: + ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY_READ }} - name: Login to DockerHub Registry run: echo ${{ secrets.DOCKERHUB_ACCESS_TOKEN_SECRET }} | docker login -u ${{ secrets.DOCKERHUB_ACCESS_TOKEN_USERNAME}} --password-stdin - name: Build and push Rollup Services image to DockerHub run: | - docker build -f Dockerfile -t ethereumoptimism/rollup-services:latest . - docker push ethereumoptimism/rollup-services:latest - - - name: Build and push Postgres image to DockerHub - run: | - cd db - docker build -f Dockerfile -t ethereumoptimism/postgres:latest . - docker push ethereumoptimism/postgres:latest + git clone https://github.com/ethereum-optimism/docker.git \ + $HOME/docker + cd $HOME/docker + ./build.sh -s batch-submitter -b $GITHUB_HEAD_REF + if [ $GITHUB_HEAD_REF == 'master' ]; then + docker push ethereumoptimism/batch-submitter:latest + elif [[ $GITHUB_HEAD_REF == 'uat' || $GITHUB_HEAD_REF == 'testnet' ]]; then + docker push ethereumoptimism/batch-submitter:$GITHUB_HEAD_REF + fi - name: Logout of DockerHub run: docker logout diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 88484ef48c7..58a44c39087 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -20,24 +20,18 @@ jobs: with: ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY_READ }} - - name: Setup node - uses: actions/setup-node@v1 - - name: Build run: | git clone https://github.com/ethereum-optimism/optimism-integration.git \ $HOME/optimism-integration \ --recurse-submodules - REPO=$(echo $GITHUB_REPOSITORY | cut -d '/' -f2) - cd $HOME/optimism-integration/$REPO - REMOTE="$GITHUB_SERVER_URL/$GITHUB_REPOSITORY.git" - git remote add gh $REMOTE - git fetch gh $GITHUB_SHA - git checkout $GITHUB_SHA cd $HOME/optimism-integration + GIT_COMMIT=$(git rev-parse HEAD | head -c 8) + echo "optimism-integration $GIT_COMMIT" + ./docker/build.sh -s batch-submitter -b $GITHUB_HEAD_REF ./docker/build.sh - name: Test run: | cd $HOME/optimism-integration - ./test.sh + BATCH_SUBMITTER_TAG=$GITHUB_HEAD_REF ./test.sh diff --git a/.github/workflows/testnet-ecr-build-push.yml b/.github/workflows/testnet-ecr-build-push.yml deleted file mode 100644 index 81177304a02..00000000000 --- a/.github/workflows/testnet-ecr-build-push.yml +++ /dev/null @@ -1,50 +0,0 @@ -name: Build & Tag Container, Push testnet build to ECR - -on: - push: - branches: - - testnet - -jobs: - build: - name: Build, Tag & push testnet build to ECR - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - name: Setup node - uses: actions/setup-node@v1 - - - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v1 - with: - aws-access-key-id: ${{ secrets.AWS_CI_USER_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.AWS_CI_USER_SECRET_ACCESS_KEY }} - aws-region: us-east-2 - - - name: Login to Amazon ECR - id: login-ecr - uses: aws-actions/amazon-ecr-login@v1 - - - name: Tag rollback image - env: - ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} - ECR_REPOSITORY: optimism/rollup-microservices - IMAGE_TAG: testnet - run: | - MANIFEST=$(aws ecr batch-get-image --repository-name $ECR_REPOSITORY --image-ids imageTag=$IMAGE_TAG --query 'images[].imageManifest' --output text) - ROLLBACK_TAG="${IMAGE_TAG}_ROLLBACK_$(date +%Y-%m-%d_%H_%M_%S)" - aws ecr put-image --repository-name $ECR_REPOSITORY --image-tag $ROLLBACK_TAG --image-manifest "$MANIFEST" - - - name: Build, tag, and push image to Amazon ECR - env: - ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} - ECR_REPOSITORY: optimism/rollup-microservices - IMAGE_TAG: testnet - run: | - docker build -f Dockerfile -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG . - docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG - - - name: Logout of Amazon ECR - if: always() - run: docker logout ${{ steps.login-ecr.outputs.registry }} diff --git a/.github/workflows/uat-ecr-build-push.yml b/.github/workflows/uat-ecr-build-push.yml deleted file mode 100644 index fab1550f5c9..00000000000 --- a/.github/workflows/uat-ecr-build-push.yml +++ /dev/null @@ -1,50 +0,0 @@ -name: Build & Tag Container, Push UAT build to ECR - -on: - push: - branches: - - uat - -jobs: - build: - name: Build, Tag & push UAT build to ECR - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - name: Setup node - uses: actions/setup-node@v1 - - - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v1 - with: - aws-access-key-id: ${{ secrets.AWS_CI_USER_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.AWS_CI_USER_SECRET_ACCESS_KEY }} - aws-region: us-east-2 - - - name: Login to Amazon ECR - id: login-ecr - uses: aws-actions/amazon-ecr-login@v1 - - - name: Tag rollback image - env: - ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} - ECR_REPOSITORY: optimism/rollup-microservices - IMAGE_TAG: uat - run: | - MANIFEST=$(aws ecr batch-get-image --repository-name $ECR_REPOSITORY --image-ids imageTag=$IMAGE_TAG --query 'images[].imageManifest' --output text) - ROLLBACK_TAG="${IMAGE_TAG}_ROLLBACK_$(date +%Y-%m-%d_%H_%M_%S)" - aws ecr put-image --repository-name $ECR_REPOSITORY --image-tag $ROLLBACK_TAG --image-manifest "$MANIFEST" - - - name: Build, tag, and push image to Amazon ECR - env: - ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} - ECR_REPOSITORY: optimism/rollup-microservices - IMAGE_TAG: uat - run: | - docker build -f Dockerfile -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG . - docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG - - - name: Logout of Amazon ECR - if: always() - run: docker logout ${{ steps.login-ecr.outputs.registry }}