diff --git a/.github/workflows/downstream_builds.yml b/.github/workflows/downstream_builds.yml new file mode 100644 index 000000000..aac0a7b9e --- /dev/null +++ b/.github/workflows/downstream_builds.yml @@ -0,0 +1,158 @@ +name: Downstream Builds + +on: + issue_comment: + types: [created] + +jobs: + + test-action: + runs-on: ubuntu-latest + steps: + - name: simple print statement + run: | + echo "success" + + # python-nightly-build: + # runs-on: ubuntu-latest + # if: startsWith(github.event.comment.body, '/run python-nightly') + # steps: + # - uses: actions/checkout@v1 + # - name: Set up Python Nightly + # run: | + # sudo apt-get install sqlite3 libsqlite3-dev + # pushd .. + # export VENV_DIR=$PWD/python38 + # git clone https://github.com/python/cpython.git + # pushd cpython + # ./configure + # make + # ./python -m venv "$VENV_DIR" + # popd + # popd + # echo ::add-path::$VENV_DIR/bin/ + # - name: Install project and dependencies + # run: | + # python -c 'import sys; print(sys.version)' + # python -m pip install --upgrade pip + # python -m pip install -e . + # python -m pip install -r dev-requirements.txt + # python ci/install_coverage_subprocess_pth.py + # - name: Display Python version + # run: python -c "import sys; print(sys.version)" + # - name: Test with pytest + # run: | + # COVERAGE_PROCESS_START=$GITHUB_WORKSPACE/.coveragerc \ + # PYTHONPATH='.:tests' python -m pytest -r s + # coverage combine --append + # coverage xml -i + # - name: Publish coverage results + # uses: codecov/codecov-action@v1 + # with: + # token: ${{ secrets.CODECOV_TOKEN }} + # file: ./coverage.xml + + # distributed-downstream-build: + # runs-on: ubuntu-latest + # if: "startsWith(github.event.comment.body, '/run distributed') || startsWith(github.event.comment.body, '/run downstream')" + # env: + # PROJECT: distributed + # TEST_REQUIREMENTS: pytest pytest-timeout numpy pandas mock bokeh fsspec>=0.3.3 + # PROJECT_URL: https://github.com/dask/distributed.git + # PYTEST_ADDOPTS: "--timeout-method=thread --timeout=300 -m \"not avoid_travis\" -k \"not test_dask_scheduler and not test_workspace_concurrency and not test_defaults and not test_service_hosts and not test_logging_file_config and not test_hostport and not test_workdir_simple and not test_two_workspaces_in_same_directory and not test_recompute_released_results and not test_connection_args and not test_listen_args and not test_remote_access\"" + # strategy: + # matrix: + # python_version: [3.7] + # steps: + # - uses: actions/checkout@v1 + # - name: Set up Python 3.7 + # uses: actions/setup-python@v1 + # with: + # python-version: ${{ matrix.python_version }} + # - name: Install project and dependencies + # run: | + # bash ./.github/scripts/install_downstream_project.sh + # - name: Test the downstream project + # run: | + # bash ./.github/scripts/test_downstream_project.sh + + # joblib-downstream-build: + # runs-on: ubuntu-latest + # if: "startsWith(github.event.comment.body, '/run joblib') || startsWith(github.event.comment.body, '/run downstream')" + # env: + # PROJECT: joblib + # TEST_REQUIREMENTS: "threadpoolctl pytest numpy distributed" + # PROJECT_URL: https://github.com/joblib/joblib.git + # strategy: + # matrix: + # python_version: [3.7] + # steps: + # - uses: actions/checkout@v1 + # - name: Set up Python 3.7 + # uses: actions/setup-python@v1 + # with: + # python-version: ${{ matrix.python_version }} + # - name: Install project and dependencies + # run: | + # bash ./.github/scripts/install_downstream_project.sh + # - name: Vendor current cloudpickle inside joblib + # run: | + # pushd ../joblib/joblib/externals + # source vendor_cloudpickle.sh ../../../cloudpickle + # popd + # - name: Test the downstream project + # run: | + # bash ./.github/scripts/test_downstream_project.sh + + # loky-downstream-build: + # runs-on: ubuntu-latest + # if: "startsWith(github.event.comment.body, '/run loky') || startsWith(github.event.comment.body, '/run downstream')" + # env: + # PROJECT: loky + # TEST_REQUIREMENTS: "pytest psutil" + # PROJECT_URL: https://github.com/tomMoral/loky.git + # strategy: + # matrix: + # python_version: [3.7] + # steps: + # - uses: actions/checkout@v1 + # - name: Set up Python 3.7 + # uses: actions/setup-python@v1 + # with: + # python-version: ${{ matrix.python_version }} + # - name: Install project and dependencies + # run: | + # bash ./.github/scripts/install_downstream_project.sh + # - name: Test the downstream project + # run: | + # bash ./.github/scripts/test_downstream_project.sh + + # ray-downstream-build: + # runs-on: ubuntu-latest + # env: + # PROJECT: ray + # strategy: + # matrix: + # python_version: [3.7] + # steps: + # - uses: actions/checkout@v1 + # - name: Set up Python 3.7 + # uses: actions/setup-python@v1 + # with: + # python-version: ${{ matrix.python_version }} + # - name: Install project and dependencies + # run: | + # python -m pip install --upgrade -r dev-requirements.txt + # python -m pip install setproctitle psutil ray==0.6.4 + # PROJECT_DIR=$(python -c "import os, ray; print(os.path.dirname(ray.__file__), flush=True)") + # rm $PROJECT_DIR/cloudpickle/cloudpickle.py + # cp cloudpickle/cloudpickle.py $PROJECT_DIR/cloudpickle/cloudpickle.py + # - name: Test the downstream project + # run: | + # PROJECT_DIR="$(python -c "import os, ray; print(os.path.dirname(ray.__file__), flush=True)")" + # COVERAGE_PROCESS_START="$TRAVIS_BUILD_DIR/.coveragerc" PYTHONPATH='.:tests' pytest -r s + # pytest -vl $PROJECT_DIR/tests/test_basic.py::test_simple_serialization + # pytest -vl $PROJECT_DIR/tests/test_basic.py::test_complex_serialization + # pytest -vl $PROJECT_DIR/tests/test_basic.py::test_ray_recursive_objects + # pytest -vl $PROJECT_DIR/tests/test_basic.py::test_serialization_final_fallback + # pytest -vl $PROJECT_DIR/tests/test_recursion.py diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index 400be8094..0ee0bcc3f 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -81,148 +81,3 @@ jobs: with: token: ${{ secrets.CODECOV_TOKEN }} file: ./coverage.xml - - python-nightly-build: - runs-on: ubuntu-latest - if: "contains(github.event.head_commit.message, '[ci python-nightly]')" - steps: - - uses: actions/checkout@v1 - - name: Set up Python Nightly - run: | - sudo apt-get install sqlite3 libsqlite3-dev - pushd .. - export VENV_DIR=$PWD/python38 - git clone https://github.com/python/cpython.git - pushd cpython - ./configure - make - ./python -m venv "$VENV_DIR" - popd - popd - echo ::add-path::$VENV_DIR/bin/ - - name: Install project and dependencies - run: | - python -c 'import sys; print(sys.version)' - python -m pip install --upgrade pip - python -m pip install -e . - python -m pip install -r dev-requirements.txt - python ci/install_coverage_subprocess_pth.py - - name: Display Python version - run: python -c "import sys; print(sys.version)" - - name: Test with pytest - run: | - COVERAGE_PROCESS_START=$GITHUB_WORKSPACE/.coveragerc \ - PYTHONPATH='.:tests' python -m pytest -r s - coverage combine --append - coverage xml -i - - name: Publish coverage results - uses: codecov/codecov-action@v1 - with: - token: ${{ secrets.CODECOV_TOKEN }} - file: ./coverage.xml - - distributed-downstream-build: - runs-on: ubuntu-latest - if: "contains(github.event.head_commit.message, '[ci distributed]') || contains(github.event.head_commit.message, '[ci downstream]')" - env: - PROJECT: distributed - TEST_REQUIREMENTS: pytest pytest-timeout numpy pandas mock bokeh fsspec>=0.3.3 - PROJECT_URL: https://github.com/dask/distributed.git - PYTEST_ADDOPTS: "--timeout-method=thread --timeout=300 -m \"not avoid_travis\" -k \"not test_dask_scheduler and not test_workspace_concurrency and not test_defaults and not test_service_hosts and not test_logging_file_config and not test_hostport and not test_workdir_simple and not test_two_workspaces_in_same_directory and not test_recompute_released_results and not test_connection_args and not test_listen_args and not test_remote_access\"" - strategy: - matrix: - python_version: [3.7] - steps: - - uses: actions/checkout@v1 - - name: Set up Python 3.7 - uses: actions/setup-python@v1 - with: - python-version: ${{ matrix.python_version }} - - name: Install project and dependencies - run: | - bash ./.github/scripts/install_downstream_project.sh - - name: Test the downstream project - run: | - bash ./.github/scripts/test_downstream_project.sh - - joblib-downstream-build: - runs-on: ubuntu-latest - if: "contains(github.event.head_commit.message, '[ci joblib]') || contains(github.event.head_commit.message, '[ci downstream]')" - env: - PROJECT: joblib - TEST_REQUIREMENTS: "threadpoolctl pytest numpy distributed" - PROJECT_URL: https://github.com/joblib/joblib.git - strategy: - matrix: - python_version: [3.7] - steps: - - uses: actions/checkout@v1 - - name: Set up Python 3.7 - uses: actions/setup-python@v1 - with: - python-version: ${{ matrix.python_version }} - - name: Install project and dependencies - run: | - bash ./.github/scripts/install_downstream_project.sh - - name: Vendor current cloudpickle inside joblib - run: | - pushd ../joblib/joblib/externals - source vendor_cloudpickle.sh ../../../cloudpickle - popd - - name: Test the downstream project - run: | - bash ./.github/scripts/test_downstream_project.sh - - loky-downstream-build: - runs-on: ubuntu-latest - if: "contains(github.event.head_commit.message, '[ci loky]') || contains(github.event.head_commit.message, '[ci downstream]')" - env: - PROJECT: loky - TEST_REQUIREMENTS: "pytest psutil" - PROJECT_URL: https://github.com/tomMoral/loky.git - strategy: - matrix: - python_version: [3.7] - steps: - - uses: actions/checkout@v1 - - name: Set up Python 3.7 - uses: actions/setup-python@v1 - with: - python-version: ${{ matrix.python_version }} - - name: Install project and dependencies - run: | - bash ./.github/scripts/install_downstream_project.sh - - name: Test the downstream project - run: | - bash ./.github/scripts/test_downstream_project.sh - - ray-downstream-build: - runs-on: ubuntu-latest - if: "contains(github.event.head_commit.message, '[ci ray]') || contains(github.event.head_commit.message, '[ci downstream]')" - env: - PROJECT: ray - strategy: - matrix: - python_version: [3.7] - steps: - - uses: actions/checkout@v1 - - name: Set up Python 3.7 - uses: actions/setup-python@v1 - with: - python-version: ${{ matrix.python_version }} - - name: Install project and dependencies - run: | - python -m pip install --upgrade -r dev-requirements.txt - python -m pip install setproctitle psutil ray==0.6.4 - PROJECT_DIR=$(python -c "import os, ray; print(os.path.dirname(ray.__file__), flush=True)") - rm $PROJECT_DIR/cloudpickle/cloudpickle.py - cp cloudpickle/cloudpickle.py $PROJECT_DIR/cloudpickle/cloudpickle.py - - name: Test the downstream project - run: | - PROJECT_DIR="$(python -c "import os, ray; print(os.path.dirname(ray.__file__), flush=True)")" - COVERAGE_PROCESS_START="$TRAVIS_BUILD_DIR/.coveragerc" PYTHONPATH='.:tests' pytest -r s - pytest -vl $PROJECT_DIR/tests/test_basic.py::test_simple_serialization - pytest -vl $PROJECT_DIR/tests/test_basic.py::test_complex_serialization - pytest -vl $PROJECT_DIR/tests/test_basic.py::test_ray_recursive_objects - pytest -vl $PROJECT_DIR/tests/test_basic.py::test_serialization_final_fallback - pytest -vl $PROJECT_DIR/tests/test_recursion.py