Skip to content
This repository has been archived by the owner on May 11, 2024. It is now read-only.

chore(ci): add docker build cache (#805) #3705

chore(ci): add docker build cache (#805)

chore(ci): add docker build cache (#805) #3705

Workflow file for this run

name: "CI"
on:
push:
branches: [main]
pull_request:
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
repository: taikoxyz/taiko-client
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: 1.21
cache: true
- name: Lint
run: make lint
integration_tests:
name: Integration tests
runs-on: ubuntu-latest
env:
CLIENT_DIR: taiko-client
TAIKO_MONO_DIR: taiko-mono
steps:
- name: Cancel Previous Runs
uses: styfle/[email protected]
with:
access_token: ${{ github.token }}
- uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_KEY }}
name: id_rsa
known_hosts: ${{ secrets.KNOWN_HOSTS }}
- uses: actions/checkout@v3
with:
repository: taikoxyz/taiko-client
path: ${{ env.CLIENT_DIR }}
- uses: actions/checkout@v3
with:
repository: taikoxyz/taiko-mono
path: ${{ env.TAIKO_MONO_DIR }}
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: 1.21
cache: true
cache-dependency-path: ${{ env.CLIENT_DIR }}/go.sum
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: 20
- uses: pnpm/action-setup@v2
name: Install pnpm
id: pnpm-install
with:
version: 8.4.0
run_install: false
- name: Get pnpm store directory
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
- uses: actions/cache@v3
name: Setup pnpm cache
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install protocol dependencies
working-directory: ${{ env.TAIKO_MONO_DIR }}
run: cd ./packages/protocol && pnpm install
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Test
working-directory: ${{ env.CLIENT_DIR }}
run: |
TAIKO_MONO_DIR=${GITHUB_WORKSPACE}/${TAIKO_MONO_DIR} make test
- name: Codecov.io
uses: codecov/codecov-action@v3
with:
files: ${{ env.CLIENT_DIR }}/coverage.out