Skip to content

update license and headers (#4) #9

update license and headers (#4)

update license and headers (#4) #9

# Copyright 2025 Circle Internet Group, Inc. All rights reserved.
#
# SPDX-License-Identifier: Apache-2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: Recibo Project Python CI
on:
push:
branches:
- master
pull_request:
workflow_dispatch:
permissions: read-all
env:
FOUNDRY_PROFILE: ci
jobs:
run_recibo_tests:
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v4
- name: Update submodules
run: git submodule update --init --recursive
shell: bash
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly
- name: Run Forge build
run: |
forge --version
forge build --sizes
id: build
- name: Install python requirements
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
working-directory: client
- name: Wait for Anvil to be ready
run: |
anvil &
echo "Waiting for Anvil to be ready..."
timeout=180 # 3 minutes
elapsed=0
while ! curl -s http://localhost:8545 > /dev/null; do
sleep 1
elapsed=$((elapsed + 1))
if [ $elapsed -ge $timeout ]; then
echo "Timeout waiting for Anvil to be ready."
exit 1
fi
done
echo "Anvil is ready."
- name: Run Python unit tests
run: |
python3 test.py
working-directory: client