From 9d3c31a0a479414d049c22ed02fa929eb76531a6 Mon Sep 17 00:00:00 2001 From: Lucy Ge Date: Fri, 26 Apr 2024 14:10:30 -0700 Subject: [PATCH] try adding a ci yaml file with alluxiocommon enabled as dependency --- .github/workflows/ci-withalluxiocommon.yml | 116 +++++++++++++++++++++ alluxiofs/client/core.py | 5 +- 2 files changed, 120 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/ci-withalluxiocommon.yml diff --git a/.github/workflows/ci-withalluxiocommon.yml b/.github/workflows/ci-withalluxiocommon.yml new file mode 100644 index 0000000..9cf717a --- /dev/null +++ b/.github/workflows/ci-withalluxiocommon.yml @@ -0,0 +1,116 @@ +name: CI + +on: [pull_request, workflow_dispatch] + +defaults: + run: + shell: bash -l -eo pipefail {0} + +jobs: + alluxiocommon: + runs-on: ubuntu-latest + strategy: + fail-fase: false +# matrix: +# platform: +# - runner: ubuntu-latest +# target: x86_64 +# - runner: ubuntu-latest +# target: x86 +# - runner: ubuntu-latest +# target: aarch64 +# - runner: ubuntu-latest +# target: armv7 +# - runner: ubuntu-latest +# target: s390x +# - runner: ubuntu-latest +# target: ppc64le + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: '3.10' + - name: Build wheels + uses: PyO3/maturin-action@v1 + with: + target: ${{ matrix.platform.target }} + args: --release --out dist --find-interpreter --manifest-path rust/alluxiocommon/Cargo.toml + sccache: 'true' + manylinux: auto +# - name: Upload wheels +# uses: actions/upload-artifact@v4 +# with: +# name: wheels-linux-${{ matrix.platform.target }} +# path: dist +# - name: pytest +# if: ${{ startsWith(matrix.platform.target, 'x86_64') }} +# shell: bash +# run: | +# set -e +# pip install alluxiocommon --find-links dist --force-reinstall +# pip install pytest +# cd /root/github/alluxiofs/rust/alluxiocommon && pytest +# - name: pytest +# if: ${{ !startsWith(matrix.platform.target, 'x86') && matrix.platform.target != 'ppc64' }} +# uses: uraimo/run-on-arch-action@v2.5.0 +# with: +# arch: ${{ matrix.platform.target }} +# distro: ubuntu22.04 +# githubToken: ${{ github.token }} +# install: | +# apt-get update +# apt-get install -y --no-install-recommends python3 python3-pip +# pip3 install -U pip pytest +# run: | +# set -e +# pip3 install alluxiocommon --find-links dist --force-reinstall +# cd /root/github/alluxiofs/rust/alluxiocommon && pytest + + test: + needs: alluxiocommon + name: Test + runs-on: ubuntu-latest + timeout-minutes: 10 + strategy: + fail-fast: false + matrix: + python-version: ["3.8","3.9"] + + steps: + - name: Checkout source + uses: actions/checkout@v4 + + - name: Setup Conda Environment + uses: mamba-org/setup-micromamba@v1 + with: + cache-downloads: true + environment-file: environment_conda.yaml + environment-name: alluxio_test + create-args: >- + python=${{ matrix.python-version }} + + - name: Conda info + run: | + conda list + conda --version + + - name: Install dependencies + run: | + pip install .[tests] + + - name: Run Alluxio FileSystem tests + run: | + pytest -vv \ + --log-format="%(asctime)s %(levelname)s %(message)s" \ + --log-date-format="%H:%M:%S" \ + tests/ + + lint: + name: lint + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v4 + with: + python-version: "3.8" + - uses: pre-commit/action@v3.0.0 diff --git a/alluxiofs/client/core.py b/alluxiofs/client/core.py index 275f0fe..fbf7c4b 100644 --- a/alluxiofs/client/core.py +++ b/alluxiofs/client/core.py @@ -14,7 +14,10 @@ import humanfriendly import requests from requests.adapters import HTTPAdapter -from alluxiocommon import _DataManager +try: + from alluxiocommon import _DataManager +except ModuleNotFoundError: + print("[WARNING]pkg 'alluxiocommon' not installed, relative modules unable to invoke.") from .const import ALLUXIO_HASH_NODE_PER_WORKER_DEFAULT_VALUE from .const import ALLUXIO_COMMON_ONDEMANDPOOL_DISABLE