Skip to content

Merge pull request #372 from kroma-network/perf/avoid-in-place-operat… #1

Merge pull request #372 from kroma-network/perf/avoid-in-place-operat…

Merge pull request #372 from kroma-network/perf/avoid-in-place-operat… #1

Workflow file for this run

name: CI
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
jobs:
test:
strategy:
matrix:
include:
- os: ubuntu-latest
bazel_config: linux
- os: macos-latest-xlarge
bazel_config: macos_arm64
runs-on: ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Bazel
uses: bazelbuild/setup-bazelisk@v3
- name: Setup Python on MacOS
if: matrix.os == 'macos-latest-xlarge'
run: brew install [email protected]
- name: Setup Python on Ubuntu
if: matrix.os == 'ubuntu-latest'
uses: actions/setup-python@v4
with:
python-version: "3.10.12"
- name: Install numpy
run: python3 -m pip install numpy
- name: Install OpenMP
if: matrix.os == 'ubuntu-latest'
run: sudo apt-get install -y libomp-dev
- name: Build
run: bazel build -c fastbuild --config ${{ matrix.bazel_config }} //...
- name: Test Tachyon
run: bazel test -c fastbuild --config ${{ matrix.bazel_config }} --test_output=errors --test_tag_filters -benchmark,-manual,-cuda //...
- name: Test OpenMP
if: matrix.os == 'ubuntu-latest'
# NOTE(TomTaehoonKim): Test timeouts are overridden 1.5x of the default timeout due to timeout failure on GitHub Actions by change in
# https://github.com/kroma-network/tachyon/pull/309. See https://github.com/kroma-network/tachyon/actions/runs/7984233709/job/21800735269.
run: bazel test -c fastbuild --config linux --//:has_openmp --test_output=errors --test_tag_filters -benchmark,-manual,-cuda //... --test_timeout=90,450,1350,5400
- name: Test Node Binding
run: |
cd tachyon/node/test
bazel test --config ${{ matrix.bazel_config }} --test_output=errors //...
- name: Test Py Binding
# TODO(chokobole): Remove this condition once we fix https://github.com/kroma-network/tachyon/issues/197.
if: matrix.os == 'ubuntu-latest'
run: |
cd tachyon/py/test
bazel test --config ${{ matrix.bazel_config }} --test_output=errors //...
- name: Test Circom
run: |
cd vendors/circom
CARGO_BAZEL_REPIN=true bazel test --config ${{ matrix.bazel_config }} --test_output=errors //...
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up Git
run: |
git config --global user.name 'github-actions'
git config --global user.email '[email protected]'
git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}
git fetch --all
- name: Setup Python for cpplint
uses: actions/setup-python@v4
with:
python-version: "3.10.12"
- name: Install cpplint
run: pip install cpplint
- name: Run cpplint
if: github.event_name == 'pull_request'
run: git diff --name-only HEAD origin/${{ github.base_ref }} | xargs cpplint --filter=-legal/copyright,-whitespace/line_length,-build/namespaces,-runtime/references
- name: Run clang-format lint
uses: jidicula/[email protected]
with:
clang-format-version: "17"
check-path: "."
- name: Install Buildifier
run: |
wget https://github.com/bazelbuild/buildtools/releases/download/v6.4.0/buildifier-linux-amd64
chmod +x buildifier-linux-amd64
sudo mv buildifier-linux-amd64 /usr/local/bin/buildifier
- name: Run Buildifier
run: |
find tachyon/ -iname "*.bazel" -o -iname "*.bzl" | xargs buildifier --lint=fix
find tachyon/ -iname "*.bazel" -o -iname "*.bzl" | xargs buildifier --mode=check
git diff --exit-code