Merge pull request #160 from tokamak-network/OR-1702_update_base_image #131
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Tokamak Optimism Publish (Nightly Version) | |
on: | |
push: | |
branches: | |
- 'main' | |
jobs: | |
start-runners: | |
name: Checking EC runners info | |
runs-on: ubuntu-latest | |
needs: | |
[ | |
start-runner-0, | |
start-runner-1, | |
start-runner-2, | |
start-runner-3, | |
start-runner-4, | |
start-runner-5, | |
start-runner-6, | |
start-runner-7, | |
start-runner-8, | |
start-runner-9, | |
start-runner-10, | |
] | |
outputs: | |
label-0: ${{ needs.start-runner-0.outputs.label }} | |
label-1: ${{ needs.start-runner-1.outputs.label }} | |
label-2: ${{ needs.start-runner-2.outputs.label }} | |
label-3: ${{ needs.start-runner-3.outputs.label }} | |
label-4: ${{ needs.start-runner-4.outputs.label }} | |
label-5: ${{ needs.start-runner-5.outputs.label }} | |
label-6: ${{ needs.start-runner-6.outputs.label }} | |
label-7: ${{ needs.start-runner-7.outputs.label }} | |
label-8: ${{ needs.start-runner-8.outputs.label }} | |
label-9: ${{ needs.start-runner-9.outputs.label }} | |
label-10: ${{ needs.start-runner-10.outputs.label }} | |
ec2-instance-id-0: ${{ needs.start-runner-0.outputs.ec2-instance-id }} | |
ec2-instance-id-1: ${{ needs.start-runner-1.outputs.ec2-instance-id }} | |
ec2-instance-id-2: ${{ needs.start-runner-2.outputs.ec2-instance-id }} | |
ec2-instance-id-3: ${{ needs.start-runner-3.outputs.ec2-instance-id }} | |
ec2-instance-id-4: ${{ needs.start-runner-4.outputs.ec2-instance-id }} | |
ec2-instance-id-5: ${{ needs.start-runner-5.outputs.ec2-instance-id }} | |
ec2-instance-id-6: ${{ needs.start-runner-6.outputs.ec2-instance-id }} | |
ec2-instance-id-7: ${{ needs.start-runner-7.outputs.ec2-instance-id }} | |
ec2-instance-id-8: ${{ needs.start-runner-8.outputs.ec2-instance-id }} | |
ec2-instance-id-9: ${{ needs.start-runner-9.outputs.ec2-instance-id }} | |
ec2-instance-id-10: ${{ needs.start-runner-10.outputs.ec2-instance-id }} | |
steps: | |
- name: Runners status | |
run: | | |
echo "EC2 instances id:" | |
echo ${{ needs.start-runner-0.outputs.ec2-instance-id }} | |
echo ${{ needs.start-runner-1.outputs.ec2-instance-id }} | |
echo ${{ needs.start-runner-2.outputs.ec2-instance-id }} | |
echo ${{ needs.start-runner-3.outputs.ec2-instance-id }} | |
echo ${{ needs.start-runner-4.outputs.ec2-instance-id }} | |
echo ${{ needs.start-runner-5.outputs.ec2-instance-id }} | |
echo ${{ needs.start-runner-6.outputs.ec2-instance-id }} | |
echo ${{ needs.start-runner-7.outputs.ec2-instance-id }} | |
echo ${{ needs.start-runner-8.outputs.ec2-instance-id }} | |
echo ${{ needs.start-runner-9.outputs.ec2-instance-id }} | |
echo ${{ needs.start-runner-10.outputs.ec2-instance-id }} | |
echo "Runner labels:" | |
echo ${{ needs.start-runner-0.outputs.label }} | |
echo ${{ needs.start-runner-1.outputs.label }} | |
echo ${{ needs.start-runner-2.outputs.label }} | |
echo ${{ needs.start-runner-3.outputs.label }} | |
echo ${{ needs.start-runner-4.outputs.label }} | |
echo ${{ needs.start-runner-5.outputs.label }} | |
echo ${{ needs.start-runner-6.outputs.label }} | |
echo ${{ needs.start-runner-7.outputs.label }} | |
echo ${{ needs.start-runner-8.outputs.label }} | |
echo ${{ needs.start-runner-9.outputs.label }} | |
echo ${{ needs.start-runner-10.outputs.label }} | |
echo "Finished setup arm64 runners" | |
start-runner-0: | |
name: Start EC2 Runner 0 | |
runs-on: ubuntu-latest | |
outputs: | |
label: ${{ steps.start-ec2-runner.outputs.label }} | |
ec2-instance-id: ${{ steps.start-ec2-runner.outputs.ec2-instance-id }} | |
steps: | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v1 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: ${{ secrets.AWS_REGION }} | |
- name: Start EC2 runner | |
id: start-ec2-runner | |
uses: machulav/ec2-github-runner@v2 | |
with: | |
mode: start | |
github-token: ${{ secrets.BOT_ACCESS_TOKEN }} | |
ec2-image-id: ami-01bd9dc38789ab007 | |
ec2-instance-type: t4g.2xlarge | |
subnet-id: subnet-4aa53021 | |
security-group-id: sg-03165a21a3ba6e8b3 | |
start-runner-1: | |
name: Start EC2 Runner 1 | |
runs-on: ubuntu-latest | |
outputs: | |
label: ${{ steps.start-ec2-runner.outputs.label }} | |
ec2-instance-id: ${{ steps.start-ec2-runner.outputs.ec2-instance-id }} | |
steps: | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v1 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: ${{ secrets.AWS_REGION }} | |
- name: Start EC2 runner | |
id: start-ec2-runner | |
uses: machulav/ec2-github-runner@v2 | |
with: | |
mode: start | |
github-token: ${{ secrets.BOT_ACCESS_TOKEN }} | |
ec2-image-id: ami-01bd9dc38789ab007 | |
ec2-instance-type: t4g.2xlarge | |
subnet-id: subnet-4aa53021 | |
security-group-id: sg-03165a21a3ba6e8b3 | |
start-runner-2: | |
name: Start EC2 Runner 2 | |
runs-on: ubuntu-latest | |
outputs: | |
label: ${{ steps.start-ec2-runner.outputs.label }} | |
ec2-instance-id: ${{ steps.start-ec2-runner.outputs.ec2-instance-id }} | |
steps: | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v1 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: ${{ secrets.AWS_REGION }} | |
- name: Start EC2 runner | |
id: start-ec2-runner | |
uses: machulav/ec2-github-runner@v2 | |
with: | |
mode: start | |
github-token: ${{ secrets.BOT_ACCESS_TOKEN }} | |
ec2-image-id: ami-01bd9dc38789ab007 | |
ec2-instance-type: t4g.2xlarge | |
subnet-id: subnet-4aa53021 | |
security-group-id: sg-03165a21a3ba6e8b3 | |
start-runner-3: | |
name: Start EC2 Runner 3 | |
runs-on: ubuntu-latest | |
outputs: | |
label: ${{ steps.start-ec2-runner.outputs.label }} | |
ec2-instance-id: ${{ steps.start-ec2-runner.outputs.ec2-instance-id }} | |
steps: | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v1 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: ${{ secrets.AWS_REGION }} | |
- name: Start EC2 runner | |
id: start-ec2-runner | |
uses: machulav/ec2-github-runner@v2 | |
with: | |
mode: start | |
github-token: ${{ secrets.BOT_ACCESS_TOKEN }} | |
ec2-image-id: ami-01bd9dc38789ab007 | |
ec2-instance-type: t4g.2xlarge | |
subnet-id: subnet-4aa53021 | |
security-group-id: sg-03165a21a3ba6e8b3 | |
start-runner-4: | |
name: Start EC2 Runner 4 | |
runs-on: ubuntu-latest | |
outputs: | |
label: ${{ steps.start-ec2-runner.outputs.label }} | |
ec2-instance-id: ${{ steps.start-ec2-runner.outputs.ec2-instance-id }} | |
steps: | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v1 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: ${{ secrets.AWS_REGION }} | |
- name: Start EC2 runner | |
id: start-ec2-runner | |
uses: machulav/ec2-github-runner@v2 | |
with: | |
mode: start | |
github-token: ${{ secrets.BOT_ACCESS_TOKEN }} | |
ec2-image-id: ami-01bd9dc38789ab007 | |
ec2-instance-type: t4g.2xlarge | |
subnet-id: subnet-4aa53021 | |
security-group-id: sg-03165a21a3ba6e8b3 | |
start-runner-5: | |
name: Start EC2 Runner 5 | |
runs-on: ubuntu-latest | |
outputs: | |
label: ${{ steps.start-ec2-runner.outputs.label }} | |
ec2-instance-id: ${{ steps.start-ec2-runner.outputs.ec2-instance-id }} | |
steps: | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v1 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: ${{ secrets.AWS_REGION }} | |
- name: Start EC2 runner | |
id: start-ec2-runner | |
uses: machulav/ec2-github-runner@v2 | |
with: | |
mode: start | |
github-token: ${{ secrets.BOT_ACCESS_TOKEN }} | |
ec2-image-id: ami-01bd9dc38789ab007 | |
ec2-instance-type: t4g.2xlarge | |
subnet-id: subnet-4aa53021 | |
security-group-id: sg-03165a21a3ba6e8b3 | |
start-runner-6: | |
name: Start EC2 Runner 6 | |
runs-on: ubuntu-latest | |
outputs: | |
label: ${{ steps.start-ec2-runner.outputs.label }} | |
ec2-instance-id: ${{ steps.start-ec2-runner.outputs.ec2-instance-id }} | |
steps: | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v1 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: ${{ secrets.AWS_REGION }} | |
- name: Start EC2 runner | |
id: start-ec2-runner | |
uses: machulav/ec2-github-runner@v2 | |
with: | |
mode: start | |
github-token: ${{ secrets.BOT_ACCESS_TOKEN }} | |
ec2-image-id: ami-01bd9dc38789ab007 | |
ec2-instance-type: t4g.2xlarge | |
subnet-id: subnet-4aa53021 | |
security-group-id: sg-03165a21a3ba6e8b3 | |
start-runner-7: | |
name: Start EC2 Runner 7 | |
runs-on: ubuntu-latest | |
outputs: | |
label: ${{ steps.start-ec2-runner.outputs.label }} | |
ec2-instance-id: ${{ steps.start-ec2-runner.outputs.ec2-instance-id }} | |
steps: | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v1 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: ${{ secrets.AWS_REGION }} | |
- name: Start EC2 runner | |
id: start-ec2-runner | |
uses: machulav/ec2-github-runner@v2 | |
with: | |
mode: start | |
github-token: ${{ secrets.BOT_ACCESS_TOKEN }} | |
ec2-image-id: ami-01bd9dc38789ab007 | |
ec2-instance-type: t4g.2xlarge | |
subnet-id: subnet-4aa53021 | |
security-group-id: sg-03165a21a3ba6e8b3 | |
start-runner-8: | |
name: Start EC2 Runner 8 | |
runs-on: ubuntu-latest | |
outputs: | |
label: ${{ steps.start-ec2-runner.outputs.label }} | |
ec2-instance-id: ${{ steps.start-ec2-runner.outputs.ec2-instance-id }} | |
steps: | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v1 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: ${{ secrets.AWS_REGION }} | |
- name: Start EC2 runner | |
id: start-ec2-runner | |
uses: machulav/ec2-github-runner@v2 | |
with: | |
mode: start | |
github-token: ${{ secrets.BOT_ACCESS_TOKEN }} | |
ec2-image-id: ami-01bd9dc38789ab007 | |
ec2-instance-type: t4g.2xlarge | |
subnet-id: subnet-4aa53021 | |
security-group-id: sg-03165a21a3ba6e8b3 | |
start-runner-9: | |
name: Start EC2 Runner 9 | |
runs-on: ubuntu-latest | |
outputs: | |
label: ${{ steps.start-ec2-runner.outputs.label }} | |
ec2-instance-id: ${{ steps.start-ec2-runner.outputs.ec2-instance-id }} | |
steps: | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v1 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: ${{ secrets.AWS_REGION }} | |
- name: Start EC2 runner | |
id: start-ec2-runner | |
uses: machulav/ec2-github-runner@v2 | |
with: | |
mode: start | |
github-token: ${{ secrets.BOT_ACCESS_TOKEN }} | |
ec2-image-id: ami-01bd9dc38789ab007 | |
ec2-instance-type: t4g.2xlarge | |
subnet-id: subnet-4aa53021 | |
security-group-id: sg-03165a21a3ba6e8b3 | |
start-runner-10: | |
name: Start EC2 Runner 10 | |
runs-on: ubuntu-latest | |
outputs: | |
label: ${{ steps.start-ec2-runner.outputs.label }} | |
ec2-instance-id: ${{ steps.start-ec2-runner.outputs.ec2-instance-id }} | |
steps: | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v1 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: ${{ secrets.AWS_REGION }} | |
- name: Start EC2 runner | |
id: start-ec2-runner | |
uses: machulav/ec2-github-runner@v2 | |
with: | |
mode: start | |
github-token: ${{ secrets.BOT_ACCESS_TOKEN }} | |
ec2-image-id: ami-01bd9dc38789ab007 | |
ec2-instance-type: t4g.2xlarge | |
subnet-id: subnet-4aa53021 | |
security-group-id: sg-03165a21a3ba6e8b3 | |
l2geth: | |
name: Publish L2Geth | |
needs: start-runners | |
runs-on: ${{ matrix.runner }} | |
strategy: | |
matrix: | |
runner: [ubuntu-latest, ARM64] | |
outputs: | |
newVersion: ${{ steps.extractver.outputs.VERSION }} | |
gitSHA: ${{ steps.extractver.outputs.GITSHA }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Get version | |
id: extractver | |
run: | | |
echo ::set-output name=VERSION::$(jq -r .version ./l2geth/package.json) | |
echo ::set-output name=GITSHA::$(echo ${GITHUB_SHA} | cut -c1-8) | |
- name: Check Runner Architecture | |
id: runner_info | |
run: | | |
ARCHITECTURE=$(uname -m) | |
if [ "$ARCHITECTURE" = "x86_64" ]; then | |
ARCHITECTURE="amd64" | |
fi | |
if [ "$ARCHITECTURE" = "aarch64" ]; then | |
ARCHITECTURE="arm64" | |
fi | |
echo "::set-output name=architecture::$ARCHITECTURE" | |
- name: Login to Docker Hub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_SECRET }} | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Publish L2Geth | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./l2geth/Dockerfile | |
push: true | |
provenance: false | |
tags: | | |
tokamaknetwork/titan-l2geth:${{ steps.runner_info.outputs.architecture }} | |
gas-oracle: | |
name: Publish Gas Oracle | |
needs: start-runners | |
runs-on: ${{ matrix.runner }} | |
strategy: | |
matrix: | |
runner: [ubuntu-latest, ARM64] | |
outputs: | |
newVersion: ${{ steps.extractver.outputs.VERSION }} | |
gitSHA: ${{ steps.extractver.outputs.GITSHA }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Get version | |
id: extractver | |
run: | | |
echo ::set-output name=VERSION::$(jq -r .version ./gas-oracle/package.json) | |
echo ::set-output name=GITSHA::$(echo ${GITHUB_SHA} | cut -c1-8) | |
- name: Check Runner Architecture | |
id: runner_info | |
run: | | |
ARCHITECTURE=$(uname -m) | |
if [ "$ARCHITECTURE" = "x86_64" ]; then | |
ARCHITECTURE="amd64" | |
fi | |
if [ "$ARCHITECTURE" = "aarch64" ]; then | |
ARCHITECTURE="arm64" | |
fi | |
echo "::set-output name=architecture::$ARCHITECTURE" | |
- name: Login to Docker Hub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_SECRET }} | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Publish Gas Oracle | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./gas-oracle/Dockerfile | |
push: true | |
provenance: false | |
tags: | | |
tokamaknetwork/titan-gas-oracle:${{ steps.runner_info.outputs.architecture }} | |
hardhat-node: | |
name: Publish Hardhat Node | |
needs: start-runners | |
runs-on: ${{ matrix.runner }} | |
strategy: | |
matrix: | |
runner: [ubuntu-latest, ARM64] | |
outputs: | |
newVersion: ${{ steps.extractver.outputs.VERSION }} | |
gitSHA: ${{ steps.extractver.outputs.GITSHA }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Get version from package.json | |
id: extractver | |
run: | | |
echo ::set-output name=VERSION::$(jq -r .version ./ops/docker/hardhat/package.json) | |
echo ::set-output name=GITSHA::$(echo ${GITHUB_SHA} | cut -c1-8) | |
- name: Check Runner Architecture | |
id: runner_info | |
run: | | |
ARCHITECTURE=$(uname -m) | |
if [ "$ARCHITECTURE" = "x86_64" ]; then | |
ARCHITECTURE="amd64" | |
fi | |
if [ "$ARCHITECTURE" = "aarch64" ]; then | |
ARCHITECTURE="arm64" | |
fi | |
echo "::set-output name=architecture::$ARCHITECTURE" | |
- name: Login to Docker Hub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_SECRET }} | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Publish Hardhat Node | |
uses: docker/build-push-action@v5 | |
with: | |
context: ./ops/docker/hardhat | |
file: ./ops/docker/hardhat/Dockerfile | |
push: true | |
provenance: false | |
tags: | | |
tokamaknetwork/titan-hardhat:${{ steps.runner_info.outputs.architecture }} | |
message-relayer: | |
name: Publish Message Relayer | |
needs: start-runners | |
runs-on: ${{ matrix.runner }} | |
strategy: | |
matrix: | |
runner: [ubuntu-latest, ARM64] | |
outputs: | |
newVersion: ${{ steps.extractver.outputs.VERSION }} | |
gitSHA: ${{ steps.extractver.outputs.GITSHA }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Get version | |
id: extractver | |
run: | | |
echo ::set-output name=VERSION::$(jq -r .version ./packages/message-relayer/package.json) | |
echo ::set-output name=GITSHA::$(echo ${GITHUB_SHA} | cut -c1-8) | |
- name: Check Runner Architecture | |
id: runner_info | |
run: | | |
ARCHITECTURE=$(uname -m) | |
if [ "$ARCHITECTURE" = "x86_64" ]; then | |
ARCHITECTURE="amd64" | |
fi | |
if [ "$ARCHITECTURE" = "aarch64" ]; then | |
ARCHITECTURE="arm64" | |
fi | |
echo "::set-output name=architecture::$ARCHITECTURE" | |
- name: Login to Docker Hub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_SECRET }} | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./ops/docker/Dockerfile.packages | |
target: message-relayer | |
push: true | |
provenance: false | |
tags: | | |
tokamaknetwork/optimism.message-relayer:${{ steps.runner_info.outputs.architecture }} | |
titan-message-relayer: | |
name: Publish Titan Message Relayer | |
needs: start-runners | |
runs-on: ${{ matrix.runner }} | |
strategy: | |
matrix: | |
runner: [ubuntu-latest, ARM64] | |
outputs: | |
newVersion: ${{ steps.extractver.outputs.VERSION }} | |
gitSHA: ${{ steps.extractver.outputs.GITSHA }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Get version | |
id: extractver | |
run: | | |
echo ::set-output name=VERSION::$(jq -r .version ./packages/tokamak/message-relayer/package.json) | |
echo ::set-output name=GITSHA::$(echo ${GITHUB_SHA} | cut -c1-8) | |
- name: Check Runner Architecture | |
id: runner_info | |
run: | | |
ARCHITECTURE=$(uname -m) | |
if [ "$ARCHITECTURE" = "x86_64" ]; then | |
ARCHITECTURE="amd64" | |
fi | |
if [ "$ARCHITECTURE" = "aarch64" ]; then | |
ARCHITECTURE="arm64" | |
fi | |
echo "::set-output name=architecture::$ARCHITECTURE" | |
- name: Login to Docker Hub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_SECRET }} | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./ops/docker/Dockerfile.packages | |
target: titan-message-relayer | |
push: true | |
provenance: false | |
tags: | | |
tokamaknetwork/titan-message-relayer:${{ steps.runner_info.outputs.architecture }} | |
fault-detector: | |
name: Publish Fault Detector | |
needs: start-runners | |
runs-on: ${{ matrix.runner }} | |
strategy: | |
matrix: | |
runner: [ubuntu-latest, ARM64] | |
outputs: | |
newVersion: ${{ steps.extractver.outputs.VERSION }} | |
gitSHA: ${{ steps.extractver.outputs.GITSHA }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Get version | |
id: extractver | |
run: | | |
echo ::set-output name=VERSION::$(jq -r .version ./packages/fault-detector/package.json) | |
echo ::set-output name=GITSHA::$(echo ${GITHUB_SHA} | cut -c1-8) | |
- name: Check Runner Architecture | |
id: runner_info | |
run: | | |
ARCHITECTURE=$(uname -m) | |
if [ "$ARCHITECTURE" = "x86_64" ]; then | |
ARCHITECTURE="amd64" | |
fi | |
if [ "$ARCHITECTURE" = "aarch64" ]; then | |
ARCHITECTURE="arm64" | |
fi | |
echo "::set-output name=architecture::$ARCHITECTURE" | |
- name: Login to Docker Hub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_SECRET }} | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./ops/docker/Dockerfile.packages | |
target: fault-detector | |
push: true | |
provenance: false | |
tags: | | |
tokamaknetwork/optimism.fault-detector:${{ steps.runner_info.outputs.architecture }} | |
titan-fault-detector: | |
name: Publish Titan Fault Detector | |
needs: start-runners | |
runs-on: ${{ matrix.runner }} | |
strategy: | |
matrix: | |
runner: [ubuntu-latest, ARM64] | |
outputs: | |
newVersion: ${{ steps.extractver.outputs.VERSION }} | |
gitSHA: ${{ steps.extractver.outputs.GITSHA }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Get version | |
id: extractver | |
run: | | |
echo ::set-output name=VERSION::$(jq -r .version ./packages/tokamak/fault-detector/package.json) | |
echo ::set-output name=GITSHA::$(echo ${GITHUB_SHA} | cut -c1-8) | |
- name: Check Runner Architecture | |
id: runner_info | |
run: | | |
ARCHITECTURE=$(uname -m) | |
if [ "$ARCHITECTURE" = "x86_64" ]; then | |
ARCHITECTURE="amd64" | |
fi | |
if [ "$ARCHITECTURE" = "aarch64" ]; then | |
ARCHITECTURE="arm64" | |
fi | |
echo "::set-output name=architecture::$ARCHITECTURE" | |
- name: Login to Docker Hub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_SECRET }} | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./ops/docker/Dockerfile.packages | |
target: titan-fault-detector | |
push: true | |
provenance: false | |
tags: | | |
tokamaknetwork/titan-fault-detector:${{ steps.runner_info.outputs.architecture }} | |
drippie-mon: | |
name: Publish Drippie Monitor | |
needs: start-runners | |
runs-on: ${{ matrix.runner }} | |
strategy: | |
matrix: | |
runner: [ubuntu-latest, ARM64] | |
outputs: | |
newVersion: ${{ steps.extractver.outputs.VERSION }} | |
gitSHA: ${{ steps.extractver.outputs.GITSHA }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Get version | |
id: extractver | |
run: | | |
echo ::set-output name=VERSION::$(jq -r .version ./packages/drippie-mon/package.json) | |
echo ::set-output name=GITSHA::$(echo ${GITHUB_SHA} | cut -c1-8) | |
- name: Check Runner Architecture | |
id: runner_info | |
run: | | |
ARCHITECTURE=$(uname -m) | |
if [ "$ARCHITECTURE" = "x86_64" ]; then | |
ARCHITECTURE="amd64" | |
fi | |
if [ "$ARCHITECTURE" = "aarch64" ]; then | |
ARCHITECTURE="arm64" | |
fi | |
echo "::set-output name=architecture::$ARCHITECTURE" | |
- name: Login to Docker Hub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_SECRET }} | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./ops/docker/Dockerfile.packages | |
target: drippie-mon | |
push: true | |
provenance: false | |
tags: | | |
tokamaknetwork/titan-drippie-mon:${{ steps.runner_info.outputs.architecture }} | |
data-transport-layer: | |
name: Publish Data Transport Layer | |
needs: start-runners | |
runs-on: ${{ matrix.runner }} | |
strategy: | |
matrix: | |
runner: [ubuntu-latest, ARM64] | |
outputs: | |
newVersion: ${{ steps.extractver.outputs.VERSION }} | |
gitSHA: ${{ steps.extractver.outputs.GITSHA }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Get version | |
id: extractver | |
run: | | |
echo ::set-output name=VERSION::$(jq -r .version ./packages/data-transport-layer/package.json) | |
echo ::set-output name=GITSHA::$(echo ${GITHUB_SHA} | cut -c1-8) | |
- name: Check Runner Architecture | |
id: runner_info | |
run: | | |
ARCHITECTURE=$(uname -m) | |
if [ "$ARCHITECTURE" = "x86_64" ]; then | |
ARCHITECTURE="amd64" | |
fi | |
if [ "$ARCHITECTURE" = "aarch64" ]; then | |
ARCHITECTURE="arm64" | |
fi | |
echo "::set-output name=architecture::$ARCHITECTURE" | |
- name: Login to Docker Hub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_SECRET }} | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./ops/docker/Dockerfile.packages | |
target: data-transport-layer | |
push: true | |
provenance: false | |
tags: | | |
tokamaknetwork/titan-data-transport-layer:${{ steps.runner_info.outputs.architecture }} | |
contracts: | |
name: Publish Deployer | |
needs: start-runners | |
runs-on: ${{ matrix.runner }} | |
strategy: | |
matrix: | |
runner: [ubuntu-latest, ARM64] | |
outputs: | |
newVersion: ${{ steps.extractver.outputs.VERSION }} | |
gitSHA: ${{ steps.extractver.outputs.GITSHA }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Get version | |
id: extractver | |
run: | | |
echo ::set-output name=VERSION::$(jq -r .version ./packages/tokamak/contracts/package.json) | |
echo ::set-output name=GITSHA::$(echo ${GITHUB_SHA} | cut -c1-8) | |
- name: Check Runner Architecture | |
id: runner_info | |
run: | | |
ARCHITECTURE=$(uname -m) | |
if [ "$ARCHITECTURE" = "x86_64" ]; then | |
ARCHITECTURE="amd64" | |
fi | |
if [ "$ARCHITECTURE" = "aarch64" ]; then | |
ARCHITECTURE="arm64" | |
fi | |
echo "::set-output name=architecture::$ARCHITECTURE" | |
- name: Login to Docker Hub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_SECRET }} | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./ops/docker/Dockerfile.packages | |
target: titan-deployer | |
push: true | |
provenance: false | |
tags: | | |
tokamaknetwork/titan-deployer:${{ steps.runner_info.outputs.architecture }} | |
integration_tests: | |
name: Publish Integration tests | |
needs: start-runners | |
runs-on: ${{ matrix.runner }} | |
strategy: | |
matrix: | |
runner: [ubuntu-latest, ARM64] | |
outputs: | |
newVersion: ${{ steps.extractver.outputs.VERSION }} | |
gitSHA: ${{ steps.extractver.outputs.GITSHA }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Get version | |
id: extractver | |
run: | | |
echo ::set-output name=VERSION::$(jq -r .version ./integration-tests/package.json) | |
echo ::set-output name=GITSHA::$(echo ${GITHUB_SHA} | cut -c1-8) | |
- name: Check Runner Architecture | |
id: runner_info | |
run: | | |
ARCHITECTURE=$(uname -m) | |
if [ "$ARCHITECTURE" = "x86_64" ]; then | |
ARCHITECTURE="amd64" | |
fi | |
if [ "$ARCHITECTURE" = "aarch64" ]; then | |
ARCHITECTURE="arm64" | |
fi | |
echo "::set-output name=architecture::$ARCHITECTURE" | |
- name: Login to Docker Hub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_SECRET }} | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./ops/docker/Dockerfile.packages | |
target: integration-tests | |
push: true | |
provenance: false | |
tags: | | |
tokamaknetwork/titan-integration-tests:${{ steps.runner_info.outputs.architecture }} | |
replica-healthcheck: | |
name: Publish Replica Healthcheck | |
needs: start-runners | |
runs-on: ${{ matrix.runner }} | |
strategy: | |
matrix: | |
runner: [ubuntu-latest, ARM64] | |
outputs: | |
newVersion: ${{ steps.extractver.outputs.VERSION }} | |
gitSHA: ${{ steps.extractver.outputs.GITSHA }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Get version | |
id: extractver | |
run: | | |
echo ::set-output name=VERSION::$(jq -r .version ./packages/replica-healthcheck/package.json) | |
echo ::set-output name=GITSHA::$(echo ${GITHUB_SHA} | cut -c1-8) | |
- name: Check Runner Architecture | |
id: runner_info | |
run: | | |
ARCHITECTURE=$(uname -m) | |
if [ "$ARCHITECTURE" = "x86_64" ]; then | |
ARCHITECTURE="amd64" | |
fi | |
if [ "$ARCHITECTURE" = "aarch64" ]; then | |
ARCHITECTURE="arm64" | |
fi | |
echo "::set-output name=architecture::$ARCHITECTURE" | |
- name: Login to Docker Hub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_SECRET }} | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./ops/docker/Dockerfile.packages | |
target: replica-healthcheck | |
push: true | |
provenance: false | |
tags: | | |
tokamaknetwork/titan-replica-healthcheck:${{ steps.runner_info.outputs.architecture }} | |
proxyd: | |
name: Publish proxyd | |
needs: start-runners | |
runs-on: ${{ matrix.runner }} | |
strategy: | |
matrix: | |
runner: [ubuntu-latest, ARM64] | |
outputs: | |
newVersion: ${{ steps.extractver.outputs.VERSION }} | |
gitSHA: ${{ steps.extractver.outputs.GITSHA }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Get version | |
id: extractver | |
run: | | |
echo ::set-output name=VERSION::$(jq -r .version ./proxyd/package.json) | |
echo ::set-output name=GITDATE::"$(date +%d-%m-%Y)" | |
echo ::set-output name=GITSHA::$(echo ${GITHUB_SHA} | cut -c1-8) | |
- name: Check Runner Architecture | |
id: runner_info | |
run: | | |
ARCHITECTURE=$(uname -m) | |
if [ "$ARCHITECTURE" = "x86_64" ]; then | |
ARCHITECTURE="amd64" | |
fi | |
if [ "$ARCHITECTURE" = "aarch64" ]; then | |
ARCHITECTURE="arm64" | |
fi | |
echo "::set-output name=architecture::$ARCHITECTURE" | |
- name: Login to Docker Hub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_SECRET }} | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./proxyd/Dockerfile | |
push: true | |
provenance: false | |
tags: | | |
tokamaknetwork/titan-proxyd:${{ steps.runner_info.outputs.architecture }} | |
build-args: | | |
GITDATE=${{ steps.extractver.outputs.GITDATE }} | |
GITCOMMIT=${{ steps.extractver.outputs.GITSHA }} | |
GITVERSION=${{ steps.extractver.outputs.VERSION }} | |
op-exporter: | |
name: Publish op-exporter | |
needs: start-runners | |
runs-on: ${{ matrix.runner }} | |
strategy: | |
matrix: | |
runner: [ubuntu-latest, ARM64] | |
outputs: | |
newVersion: ${{ steps.extractver.outputs.VERSION }} | |
gitSHA: ${{ steps.extractver.outputs.GITSHA }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Get version | |
id: extractver | |
run: | | |
echo ::set-output name=VERSION::$(jq -r .version ./op-exporter/package.json) | |
echo ::set-output name=GITDATE::"$(date +%d-%m-%Y)" | |
echo ::set-output name=GITSHA::$(echo ${GITHUB_SHA} | cut -c1-8) | |
- name: Check Runner Architecture | |
id: runner_info | |
run: | | |
ARCHITECTURE=$(uname -m) | |
if [ "$ARCHITECTURE" = "x86_64" ]; then | |
ARCHITECTURE="amd64" | |
fi | |
if [ "$ARCHITECTURE" = "aarch64" ]; then | |
ARCHITECTURE="arm64" | |
fi | |
echo "::set-output name=architecture::$ARCHITECTURE" | |
- name: Login to Docker Hub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_SECRET }} | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./op-exporter/Dockerfile | |
push: true | |
provenance: false | |
tags: | | |
tokamaknetwork/titan-op-exporter:${{ steps.runner_info.outputs.architecture }} | |
build-args: | | |
GITDATE=${{ steps.extractver.outputs.GITDATE }} | |
GITCOMMIT=${{ steps.extractver.outputs.GITSHA }} | |
GITVERSION=${{ steps.extractver.outputs.VERSION }} | |
l2geth-exporter: | |
name: Publish l2geth-exporter | |
needs: start-runners | |
runs-on: ${{ matrix.runner }} | |
strategy: | |
matrix: | |
runner: [ubuntu-latest, ARM64] | |
outputs: | |
newVersion: ${{ steps.extractver.outputs.VERSION }} | |
gitSHA: ${{ steps.extractver.outputs.GITSHA }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Login to Docker Hub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_SECRET }} | |
- name: Get version | |
id: extractver | |
run: | | |
echo ::set-output name=VERSION::$(jq -r .version ./l2geth-exporter/package.json) | |
echo ::set-output name=GITDATE::"$(date +%d-%m-%Y)" | |
echo ::set-output name=GITSHA::$(echo ${GITHUB_SHA} | cut -c1-8) | |
- name: Check Runner Architecture | |
id: runner_info | |
run: | | |
ARCHITECTURE=$(uname -m) | |
if [ "$ARCHITECTURE" = "x86_64" ]; then | |
ARCHITECTURE="amd64" | |
fi | |
if [ "$ARCHITECTURE" = "aarch64" ]; then | |
ARCHITECTURE="arm64" | |
fi | |
echo "::set-output name=architecture::$ARCHITECTURE" | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./l2geth-exporter/Dockerfile | |
push: true | |
provenance: false | |
tags: | | |
tokamaknetwork/titan-l2geth-exporter:${{ steps.runner_info.outputs.architecture }} | |
build-args: | | |
GITDATE=${{ steps.extractver.outputs.GITDATE }} | |
GITCOMMIT=${{ steps.extractver.outputs.GITSHA }} | |
GITVERSION=${{ steps.extractver.outputs.VERSION }} | |
batch-submitter-service: | |
name: Publish batch-submitter-service | |
needs: start-runners | |
runs-on: ${{ matrix.runner }} | |
strategy: | |
matrix: | |
runner: [ubuntu-latest, ARM64] | |
outputs: | |
newVersion: ${{ steps.extractver.outputs.VERSION }} | |
gitSHA: ${{ steps.extractver.outputs.GITSHA }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Get version | |
id: extractver | |
run: | | |
echo ::set-output name=VERSION::$(jq -r .version ./batch-submitter/package.json) | |
echo ::set-output name=GITSHA::$(echo ${GITHUB_SHA} | cut -c1-8) | |
- name: Check Runner Architecture | |
id: runner_info | |
run: | | |
ARCHITECTURE=$(uname -m) | |
if [ "$ARCHITECTURE" = "x86_64" ]; then | |
ARCHITECTURE="amd64" | |
fi | |
if [ "$ARCHITECTURE" = "aarch64" ]; then | |
ARCHITECTURE="arm64" | |
fi | |
echo "::set-output name=architecture::$ARCHITECTURE" | |
- name: Login to Docker Hub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_SECRET }} | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./batch-submitter/Dockerfile | |
push: true | |
provenance: false | |
tags: | | |
tokamaknetwork/titan-batch-submitter-service:${{ steps.runner_info.outputs.architecture }} | |
indexer: | |
name: Publish indexer | |
needs: start-runners | |
runs-on: ${{ matrix.runner }} | |
strategy: | |
matrix: | |
runner: [ubuntu-latest, ARM64] | |
outputs: | |
newVersion: ${{ steps.extractver.outputs.VERSION }} | |
gitSHA: ${{ steps.extractver.outputs.GITSHA }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Login to Docker Hub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_SECRET }} | |
- name: Get version | |
id: extractver | |
run: | | |
echo ::set-output name=VERSION::$(jq -r .version ./indexer/package.json) | |
echo ::set-output name=GITDATE::"$(date +%d-%m-%Y)" | |
echo ::set-output name=GITSHA::$(echo ${GITHUB_SHA} | cut -c1-8) | |
- name: Check Runner Architecture | |
id: runner_info | |
run: | | |
ARCHITECTURE=$(uname -m) | |
if [ "$ARCHITECTURE" = "x86_64" ]; then | |
ARCHITECTURE="amd64" | |
fi | |
if [ "$ARCHITECTURE" = "aarch64" ]; then | |
ARCHITECTURE="arm64" | |
fi | |
echo "::set-output name=architecture::$ARCHITECTURE" | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./indexer/Dockerfile | |
push: true | |
provenance: false | |
tags: | | |
tokamaknetwork/titan-indexer:${{ steps.runner_info.outputs.architecture }} | |
build-args: | | |
GITDATE=${{ steps.extractver.outputs.GITDATE }} | |
GITCOMMIT=${{ steps.extractver.outputs.GITSHA }} | |
GITVERSION=${{ steps.extractver.outputs.VERSION }} | |
teleportr: | |
name: Publish Teleportr | |
needs: start-runners | |
runs-on: ${{ matrix.runner }} | |
strategy: | |
matrix: | |
runner: [ubuntu-latest, ARM64] | |
outputs: | |
newVersion: ${{ steps.extractver.outputs.VERSION }} | |
gitSHA: ${{ steps.extractver.outputs.GITSHA }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Login to Docker Hub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_SECRET }} | |
- name: Get version | |
id: extractver | |
run: | | |
echo ::set-output name=VERSION::$(jq -r .version ./teleportr/package.json) | |
echo ::set-output name=GITDATE::"$(date +%d-%m-%Y)" | |
echo ::set-output name=GITSHA::$(echo ${GITHUB_SHA} | cut -c1-8) | |
- name: Check Runner Architecture | |
id: runner_info | |
run: | | |
ARCHITECTURE=$(uname -m) | |
if [ "$ARCHITECTURE" = "x86_64" ]; then | |
ARCHITECTURE="amd64" | |
fi | |
if [ "$ARCHITECTURE" = "aarch64" ]; then | |
ARCHITECTURE="arm64" | |
fi | |
echo "::set-output name=architecture::$ARCHITECTURE" | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./teleportr/Dockerfile | |
push: true | |
provenance: false | |
tags: | | |
tokamaknetwork/titan-teleportr:${{ steps.runner_info.outputs.architecture }} | |
build-args: | | |
GITDATE=${{ steps.extractver.outputs.GITDATE }} | |
GITCOMMIT=${{ steps.extractver.outputs.GITSHA }} | |
GITVERSION=${{ steps.extractver.outputs.VERSION }} | |
multi-arch-image: | |
name: Build multi-arch images | |
needs: | |
- l2geth | |
- gas-oracle | |
- hardhat-node | |
- message-relayer | |
- titan-message-relayer | |
- fault-detector | |
- drippie-mon | |
- data-transport-layer | |
- contracts | |
- integration_tests | |
- replica-healthcheck | |
- proxyd | |
- op-exporter | |
- l2geth-exporter | |
- batch-submitter-service | |
- indexer | |
- teleportr | |
runs-on: ubuntu-latest | |
steps: | |
- name: Login to Docker Hub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_SECRET }} | |
- name: Create and push manifest tokamaknetwork/l2geth images | |
uses: Noelware/docker-manifest-action@master | |
with: | |
inputs: tokamaknetwork/titan-l2geth:nightly, tokamaknetwork/titan-l2geth:nightly-${{ needs.l2geth.outputs.newVersion}}, tokamaknetwork/titan-l2geth:nightly-${{ needs.l2geth.outputs.gitSHA}} | |
images: tokamaknetwork/titan-l2geth:amd64,tokamaknetwork/titan-l2geth:arm64 | |
push: true | |
- name: Create and push manifest tokamaknetwork/titan-gas-oracle images | |
uses: Noelware/docker-manifest-action@master | |
with: | |
inputs: tokamaknetwork/titan-gas-oracle:nightly, tokamaknetwork/titan-gas-oracle:nightly-${{ needs.gas-oracle.outputs.newVersion}}, tokamaknetwork/titan-gas-oracle:nightly-${{ needs.gas-oracle.outputs.gitSHA}} | |
images: tokamaknetwork/titan-gas-oracle:amd64,tokamaknetwork/titan-gas-oracle:arm64 | |
push: true | |
- name: Create and push manifest tokamaknetwork/titan-hardhat images | |
uses: Noelware/docker-manifest-action@master | |
with: | |
inputs: tokamaknetwork/titan-hardhat:nightly, tokamaknetwork/titan-hardhat:nightly-${{ needs.hardhat-node.outputs.newVersion}}, tokamaknetwork/titan-hardhat:nightly-${{ needs.hardhat-node.outputs.gitSHA}} | |
images: tokamaknetwork/titan-hardhat:amd64,tokamaknetwork/titan-hardhat:arm64 | |
push: true | |
- name: Create and push manifest tokamaknetwork/optimism.message-relayer images | |
uses: Noelware/docker-manifest-action@master | |
with: | |
inputs: tokamaknetwork/optimism.message-relayer:nightly, tokamaknetwork/optimism.message-relayer:nightly-${{ needs.message-relayer.outputs.newVersion}}, tokamaknetwork/optimism.message-relayer:nightly-${{ needs.message-relayer.outputs.gitSHA}} | |
images: tokamaknetwork/optimism.message-relayer:amd64, tokamaknetwork/optimism.message-relayer:arm64 | |
push: true | |
- name: Create and push manifest tokamaknetwork/titan-message-relayer images | |
uses: Noelware/docker-manifest-action@master | |
with: | |
inputs: tokamaknetwork/titan-message-relayer:nightly, tokamaknetwork/titan-message-relayer:nightly-${{ needs.titan-message-relayer.outputs.newVersion}}, tokamaknetwork/titan-message-relayer:nightly-${{ needs.titan-message-relayer.outputs.gitSHA}} | |
images: tokamaknetwork/titan-message-relayer:amd64, tokamaknetwork/titan-message-relayer:arm64 | |
push: true | |
- name: Create and push manifest tokamaknetwork/titan-fault-detector images | |
uses: Noelware/docker-manifest-action@master | |
with: | |
inputs: tokamaknetwork/titan-fault-detector:nightly, tokamaknetwork/titan-fault-detector:nightly-${{ needs.fault-detector.outputs.newVersion}}, tokamaknetwork/titan-fault-detector:nightly-${{ needs.fault-detector.outputs.gitSHA}} | |
images: tokamaknetwork/titan-fault-detector:amd64, tokamaknetwork/titan-fault-detector:arm64 | |
push: true | |
- name: Create and push manifest tokamaknetwork/titan-drippie-mon images | |
uses: Noelware/docker-manifest-action@master | |
with: | |
inputs: tokamaknetwork/titan-drippie-mon:nightly, tokamaknetwork/titan-drippie-mon:nightly-${{ needs.drippie-mon.outputs.newVersion}}, tokamaknetwork/titan-drippie-mon:nightly-${{ needs.drippie-mon.outputs.gitSHA}} | |
images: tokamaknetwork/titan-drippie-mon:amd64, tokamaknetwork/titan-drippie-mon:arm64 | |
push: true | |
- name: Create and push manifest tokamaknetwork/titan-data-transport-layer images | |
uses: Noelware/docker-manifest-action@master | |
with: | |
inputs: tokamaknetwork/titan-data-transport-layer:nightly, tokamaknetwork/titan-data-transport-layer:nightly-${{ needs.data-transport-layer.outputs.newVersion}}, tokamaknetwork/titan-data-transport-layer-${{ needs.data-transport-layer.outputs.gitSHA}} | |
images: tokamaknetwork/titan-data-transport-layer:amd64, tokamaknetwork/titan-data-transport-layer:arm64 | |
push: true | |
- name: Create and push manifest tokamaknetwork/titan-deployer images | |
uses: Noelware/docker-manifest-action@master | |
with: | |
inputs: tokamaknetwork/titan-deployer:nightly, tokamaknetwork/titan-deployer:nightly-${{ needs.contracts.outputs.newVersion}}, tokamaknetwork/titan-deployer:nightly-${{ needs.contracts.outputs.gitSHA}} | |
images: tokamaknetwork/titan-deployer:amd64, tokamaknetwork/titan-deployer:arm64 | |
push: true | |
- name: Create and push manifest tokamaknetwork/titan-integration-tests images | |
uses: Noelware/docker-manifest-action@master | |
with: | |
inputs: tokamaknetwork/titan-integration-tests:nightly, tokamaknetwork/titan-integration-tests:nightly-${{ needs.integration_tests.outputs.newVersion}}, tokamaknetwork/titan-integration-tests:nightly-${{ needs.integration_tests.outputs.gitSHA}} | |
images: tokamaknetwork/titan-integration-tests:amd64, tokamaknetwork/titan-integration-tests:arm64 | |
push: true | |
- name: Create and push manifest tokamaknetwork/titan-replica-healthcheck images | |
uses: Noelware/docker-manifest-action@master | |
with: | |
inputs: tokamaknetwork/titan-replica-healthcheck:nightly, tokamaknetwork/titan-replica-healthcheck:nightly-${{ needs.replica-healthcheck.outputs.newVersion}}, tokamaknetwork/titan-replica-healthcheck:nightly-${{ needs.replica-healthcheck.outputs.gitSHA}} | |
images: tokamaknetwork/titan-replica-healthcheck:amd64, tokamaknetwork/titan-replica-healthcheck:arm64 | |
push: true | |
- name: Create and push manifest tokamaknetwork/titan-proxyd images | |
uses: Noelware/docker-manifest-action@master | |
with: | |
inputs: tokamaknetwork/titan-proxyd:nightly, tokamaknetwork/titan-proxyd:nightly-${{ needs.proxyd.outputs.newVersion}}, tokamaknetwork/titan-proxyd:nightly-${{ needs.proxyd.outputs.gitSHA}} | |
images: tokamaknetwork/titan-proxyd:amd64, tokamaknetwork/titan-proxyd:arm64 | |
push: true | |
- name: Create and push manifest tokamaknetwork/titan-op-exporter images | |
uses: Noelware/docker-manifest-action@master | |
with: | |
inputs: tokamaknetwork/titan-op-exporter:nightly, tokamaknetwork/titan-op-exporter:nightly-${{ needs.op-exporter.outputs.newVersion}}, tokamaknetwork/titan-op-exporter:nightly-${{ needs.op-exporter.outputs.gitSHA}} | |
images: tokamaknetwork/titan-op-exporter:amd64, tokamaknetwork/titan-op-exporter:arm64 | |
push: true | |
- name: Create and push manifest tokamaknetwork/titan-l2geth-exporter images | |
uses: Noelware/docker-manifest-action@master | |
with: | |
inputs: tokamaknetwork/titan-l2geth-exporter:nightly, tokamaknetwork/titan-l2geth-exporter:nightly-${{ needs.l2geth-exporter.outputs.newVersion}}, tokamaknetwork/titan-l2geth-exporter:nightly-${{ needs.l2geth-exporter.outputs.gitSHA}} | |
images: tokamaknetwork/titan-l2geth-exporter:amd64, tokamaknetwork/titan-l2geth-exporter:arm64 | |
push: true | |
- name: Create and push manifest tokamaknetwork/titan-batch-submitter-service images | |
uses: Noelware/docker-manifest-action@master | |
with: | |
inputs: tokamaknetwork/titan-batch-submitter-service:nightly, tokamaknetwork/titan-batch-submitter-service:nightly-${{ needs.batch-submitter-service.outputs.newVersion}}, tokamaknetwork/titan-batch-submitter-service:nightly-${{ needs.batch-submitter-service.outputs.gitSHA}} | |
images: tokamaknetwork/titan-batch-submitter-service:amd64, tokamaknetwork/titan-batch-submitter-service:arm64 | |
push: true | |
- name: Create and push manifest tokamaknetwork/titan-indexer images | |
uses: Noelware/docker-manifest-action@master | |
with: | |
inputs: tokamaknetwork/titan-indexer:nightly, tokamaknetwork/titan-indexer:nightly-${{ needs.indexer.outputs.newVersion}}, tokamaknetwork/titan-indexer:nightly-${{ needs.indexer.outputs.gitSHA}} | |
images: tokamaknetwork/titan-indexer:amd64, tokamaknetwork/titan-indexer:arm64 | |
push: true | |
- name: Create and push manifest tokamaknetwork/titan-teleportr images | |
uses: Noelware/docker-manifest-action@master | |
with: | |
inputs: tokamaknetwork/titan-teleportr:nightly, tokamaknetwork/titan-teleportr:nightly-${{ needs.teleportr.outputs.newVersion}}, tokamaknetwork/titan-teleportr:nightly-${{ needs.teleportr.outputs.gitSHA}} | |
images: tokamaknetwork/titan-teleportr:amd64, tokamaknetwork/titan-teleportr:arm64 | |
push: true | |
stop-runner: | |
name: Stop self-hosted EC2 runners | |
needs: | |
- start-runners | |
- l2geth | |
- gas-oracle | |
- hardhat-node | |
- message-relayer | |
- titan-message-relayer | |
- fault-detector | |
- drippie-mon | |
- data-transport-layer | |
- contracts | |
- integration_tests | |
- replica-healthcheck | |
- proxyd | |
- op-exporter | |
- l2geth-exporter | |
- batch-submitter-service | |
- indexer | |
- teleportr | |
runs-on: ubuntu-latest | |
if: ${{ always() }} # required to stop the runner even if the error happened in the previous jobs | |
steps: | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v1 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: ${{ secrets.AWS_REGION }} | |
- name: Stop EC2 runner 0 | |
uses: machulav/ec2-github-runner@v2 | |
with: | |
mode: stop | |
github-token: ${{ secrets.BOT_ACCESS_TOKEN }} | |
label: ${{ needs.start-runners.outputs.label-0 }} | |
ec2-instance-id: ${{ needs.start-runners.outputs.ec2-instance-id-0 }} | |
- name: Stop EC2 runner 1 | |
uses: machulav/ec2-github-runner@v2 | |
with: | |
mode: stop | |
github-token: ${{ secrets.BOT_ACCESS_TOKEN }} | |
label: ${{ needs.start-runners.outputs.label-1 }} | |
ec2-instance-id: ${{ needs.start-runners.outputs.ec2-instance-id-1 }} | |
- name: Stop EC2 runner 2 | |
uses: machulav/ec2-github-runner@v2 | |
with: | |
mode: stop | |
github-token: ${{ secrets.BOT_ACCESS_TOKEN }} | |
label: ${{ needs.start-runners.outputs.label-2 }} | |
ec2-instance-id: ${{ needs.start-runners.outputs.ec2-instance-id-2 }} | |
- name: Stop EC2 runner 3 | |
uses: machulav/ec2-github-runner@v2 | |
with: | |
mode: stop | |
github-token: ${{ secrets.BOT_ACCESS_TOKEN }} | |
label: ${{ needs.start-runners.outputs.label-3 }} | |
ec2-instance-id: ${{ needs.start-runners.outputs.ec2-instance-id-3 }} | |
- name: Stop EC2 runner 4 | |
uses: machulav/ec2-github-runner@v2 | |
with: | |
mode: stop | |
github-token: ${{ secrets.BOT_ACCESS_TOKEN }} | |
label: ${{ needs.start-runners.outputs.label-4 }} | |
ec2-instance-id: ${{ needs.start-runners.outputs.ec2-instance-id-4 }} | |
- name: Stop EC2 runner 5 | |
uses: machulav/ec2-github-runner@v2 | |
with: | |
mode: stop | |
github-token: ${{ secrets.BOT_ACCESS_TOKEN }} | |
label: ${{ needs.start-runners.outputs.label-5 }} | |
ec2-instance-id: ${{ needs.start-runners.outputs.ec2-instance-id-5 }} | |
- name: Stop EC2 runner 6 | |
uses: machulav/ec2-github-runner@v2 | |
with: | |
mode: stop | |
github-token: ${{ secrets.BOT_ACCESS_TOKEN }} | |
label: ${{ needs.start-runners.outputs.label-6 }} | |
ec2-instance-id: ${{ needs.start-runners.outputs.ec2-instance-id-6 }} | |
- name: Stop EC2 runner 7 | |
uses: machulav/ec2-github-runner@v2 | |
with: | |
mode: stop | |
github-token: ${{ secrets.BOT_ACCESS_TOKEN }} | |
label: ${{ needs.start-runners.outputs.label-7 }} | |
ec2-instance-id: ${{ needs.start-runners.outputs.ec2-instance-id-7 }} | |
- name: Stop EC2 runner 8 | |
uses: machulav/ec2-github-runner@v2 | |
with: | |
mode: stop | |
github-token: ${{ secrets.BOT_ACCESS_TOKEN }} | |
label: ${{ needs.start-runners.outputs.label-8 }} | |
ec2-instance-id: ${{ needs.start-runners.outputs.ec2-instance-id-8 }} | |
- name: Stop EC2 runner 9 | |
uses: machulav/ec2-github-runner@v2 | |
with: | |
mode: stop | |
github-token: ${{ secrets.BOT_ACCESS_TOKEN }} | |
label: ${{ needs.start-runners.outputs.label-9 }} | |
ec2-instance-id: ${{ needs.start-runners.outputs.ec2-instance-id-9 }} | |
- name: Stop EC2 runner 10 | |
uses: machulav/ec2-github-runner@v2 | |
with: | |
mode: stop | |
github-token: ${{ secrets.BOT_ACCESS_TOKEN }} | |
label: ${{ needs.start-runners.outputs.label-10 }} | |
ec2-instance-id: ${{ needs.start-runners.outputs.ec2-instance-id-10 }} |