build(local): improve local build process and update README (#201) #196
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: Run ci e2e test | |
on: | |
push: | |
branches: | |
- v9.1.0-zama | |
pull_request: | |
types: | |
- opened | |
- reopened | |
- synchronize | |
- ready_for_review | |
jobs: | |
docker: | |
runs-on: ubuntu-latest | |
if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} | |
env: | |
ORACLE_DB_SERVICE_TAG: latest | |
steps: | |
- name: Install Node.js and npm | |
run: | | |
sudo apt update | |
sudo apt install nodejs | |
sudo apt install npm | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
path: evmos | |
- name: Get version for all needed repositories | |
working-directory: ./evmos | |
run: | | |
echo "TFHE_RS_VERSION=$(./scripts/get_version_from_makefile.sh TFHE_RS_VERSION)" >> $GITHUB_ENV | |
echo "FHEVM_TFHE_CLI_VERSION=$(./scripts/get_version_from_makefile.sh FHEVM_TFHE_CLI_VERSION)" >> $GITHUB_ENV | |
echo "FHEVM_SOLIDITY_VERSION=$(./scripts/get_version_from_makefile.sh FHEVM_SOLIDITY_VERSION)" >> $GITHUB_ENV | |
echo "ETHERMINT_VERSION=$(./scripts/get_module_version.sh go.mod zama.ai/ethermint)" >> $GITHUB_ENV | |
echo "GO_ETHEREUM_VERSION=$(./scripts/get_module_version.sh go.mod zama.ai/go-ethereum)" >> $GITHUB_ENV | |
- name: Echo versions parsed from Makefile and go.mod | |
run: | | |
echo "TFHE_RS_VERSION: $TFHE_RS_VERSION" | |
echo "FHEVM_TFHE_CLI_VERSION: $FHEVM_TFHE_CLI_VERSION" | |
echo "FHEVM_SOLIDITY_VERSION: $FHEVM_SOLIDITY_VERSION" | |
echo "ETHERMINT_VERSION: $ETHERMINT_VERSION" | |
echo "GO_ETHEREUM_VERSION: $GO_ETHEREUM_VERSION" | |
- name: Checkout fhevm-solidity | |
uses: actions/checkout@v3 | |
with: | |
repository: zama-ai/fhevm-solidity | |
token: ${{ secrets.CONCRETE_ACTIONS_TOKEN }} | |
path: ./evmos/work_dir/fhevm-solidity | |
ref: ${{ env.FHEVM_SOLIDITY_VERSION }} | |
- name: Checkout tfhe-rs | |
uses: actions/checkout@v3 | |
with: | |
repository: zama-ai/tfhe-rs | |
token: ${{ secrets.CONCRETE_ACTIONS_TOKEN }} | |
path: ./evmos/work_dir/tfhe-rs | |
ref: ${{ env.TFHE_RS_VERSION }} | |
- name: Checkout fhevm-tfhe-cli | |
uses: actions/checkout@v3 | |
with: | |
repository: zama-ai/fhevm-tfhe-cli | |
token: ${{ secrets.CONCRETE_ACTIONS_TOKEN }} | |
path: ./evmos/work_dir/fhevm-tfhe-cli | |
ref: ${{ env.FHEVM_TFHE_CLI_VERSION }} | |
- name: Checkout go-ethereum | |
uses: actions/checkout@v3 | |
with: | |
repository: zama-ai/go-ethereum | |
token: ${{ secrets.CONCRETE_ACTIONS_TOKEN }} | |
path: ./evmos/work_dir/go-ethereum | |
ref: ${{ env.GO_ETHEREUM_VERSION }} | |
- name: Checkout ethermint | |
uses: actions/checkout@v3 | |
with: | |
repository: zama-ai/ethermint | |
token: ${{ secrets.CONCRETE_ACTIONS_TOKEN }} | |
path: ./evmos/work_dir/ethermint | |
ref: ${{ env.ETHERMINT_VERSION }} | |
- name: List files in the repository | |
run: | | |
ls ${{ github.workspace }} | |
- name: List files in work_dir | |
working-directory: evmos/work_dir | |
run: | | |
ls | |
- name: Prepare files for node setup | |
working-directory: evmos | |
run: | | |
mkdir -p node/evmos | |
cp private.ed25519 node/evmos | |
cp public.ed25519 node/evmos | |
touch vm.log | |
ls node/evmos | |
- name: Login to GitHub Container Registry | |
uses: docker/login-action@49ed152c8eca782a232dede0303416e8f356c37b | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build local docker | |
working-directory: ./evmos | |
run: | | |
make build-docker | |
- name: Check docker images | |
working-directory: ./evmos | |
run: | | |
docker images | |
- name: Install @openzeppelin/contracts | |
working-directory: evmos/work_dir/fhevm-solidity | |
run: | | |
npm install @openzeppelin/contracts | |
- name: Run e2e test | |
working-directory: ./evmos | |
run: | | |
ls ${{ github.workspace }} | |
ls work_dir | |
ls work_dir/fhevm-tfhe-cli | |
make e2e-test |