From f8aba70f984f40d142180a2925289162a89c0e94 Mon Sep 17 00:00:00 2001 From: Matthew Roeschke Date: Wed, 19 Jan 2022 23:20:48 -0800 Subject: [PATCH 1/3] Add GHA windows file --- .github/workflows/windows.yml | 92 +++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 .github/workflows/windows.yml diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml new file mode 100644 index 0000000000000..a3807f1b0ca1d --- /dev/null +++ b/.github/workflows/windows.yml @@ -0,0 +1,92 @@ +name: Windows + +on: + push: + branches: + - main + - 1.4.x + pull_request: + branches: + - main + - 1.4.x + paths-ignore: + - "doc/**" + +env: + PYTEST_WORKERS: "auto" + PANDAS_CI: 1 + +jobs: + pytest: + runs-on: windows-latest + defaults: + run: + shell: bash -l {0} + strategy: + matrix: + settings: [ + [actions-38.yaml, "not slow and not high_memory"], + [actions-39.yaml, "not slow and not high_memory"], + [actions-310.yaml, "not slow and not high_memory"], + ] + fail-fast: false + env: + ENV_FILE: ci/deps/${{ matrix.settings[0] }} + PATTERN: ${{ matrix.settings[1] }} + PYTEST_TARGET: pandas + COVERAGE: true + concurrency: + # https://github.community/t/concurrecy-not-work-for-push/183068/7 + group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.settings[0] }}-${{ matrix.settings[1] }}-windows + cancel-in-progress: true + + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Cache conda + uses: actions/cache@v2 + env: + CACHE_NUMBER: 0 + with: + path: ~/conda_pkgs_dir + key: ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-${{ + hashFiles('${{ env.ENV_FILE }}') }} + + - uses: conda-incubator/setup-miniconda@v2 + with: + mamba-version: "*" + channels: conda-forge + activate-environment: pandas-dev + channel-priority: flexible + environment-file: ${{ env.ENV_FILE }} + use-only-tar-bz2: true + + - name: Build Pandas + uses: ./.github/actions/build_pandas + + - name: Test + run: ci/run_tests.sh + if: always() + + - name: Build Version + run: python -c "import pandas; pandas.show_versions();" + + - name: Publish test results + uses: actions/upload-artifact@v2 + with: + name: Test results + path: test-data.xml + if: failure() + + - name: Print skipped tests + run: python ci/print_skipped.py + + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v2 + with: + flags: unittests + name: codecov-pandas + fail_ci_if_error: false From ea51fc95f5de56c09cb2d8203f8881057730bc9b Mon Sep 17 00:00:00 2001 From: Matthew Roeschke Date: Wed, 19 Jan 2022 23:27:32 -0800 Subject: [PATCH 2/3] Disable other GHA and Azure --- .github/workflows/code-checks.yml | 3 + .github/workflows/datamanger.yml | 1 + .github/workflows/docbuild-and-upload.yml | 1 + .github/workflows/posix.yml | 1 + .github/workflows/sdist.yml | 1 + azure-pipelines.yml | 70 +++++++++++------------ 6 files changed, 42 insertions(+), 35 deletions(-) diff --git a/.github/workflows/code-checks.yml b/.github/workflows/code-checks.yml index 7141b02cac376..a54e841535b78 100644 --- a/.github/workflows/code-checks.yml +++ b/.github/workflows/code-checks.yml @@ -16,6 +16,7 @@ env: jobs: pre_commit: + if: false name: pre-commit runs-on: ubuntu-latest concurrency: @@ -35,6 +36,7 @@ jobs: uses: pre-commit/action@v2.0.3 typing_and_docstring_validation: + if: false name: Docstring and typing validation runs-on: ubuntu-latest defaults: @@ -101,6 +103,7 @@ jobs: if: ${{ steps.build.outcome == 'success' }} asv-benchmarks: + if: false name: ASV Benchmarks runs-on: ubuntu-latest defaults: diff --git a/.github/workflows/datamanger.yml b/.github/workflows/datamanger.yml index 3fc515883a225..fa66e516723f1 100644 --- a/.github/workflows/datamanger.yml +++ b/.github/workflows/datamanger.yml @@ -16,6 +16,7 @@ env: jobs: data_manager: + if: false name: Test experimental data manager runs-on: ubuntu-latest services: diff --git a/.github/workflows/docbuild-and-upload.yml b/.github/workflows/docbuild-and-upload.yml index e8ed6d4545194..5b167c290a9fb 100644 --- a/.github/workflows/docbuild-and-upload.yml +++ b/.github/workflows/docbuild-and-upload.yml @@ -16,6 +16,7 @@ env: jobs: web_and_docs: + if: false name: Doc Build and Upload runs-on: ubuntu-latest diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index 135ca0703de8b..01e255f1f7293 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -18,6 +18,7 @@ env: jobs: pytest: + if: false runs-on: ubuntu-latest defaults: run: diff --git a/.github/workflows/sdist.yml b/.github/workflows/sdist.yml index dd030f1aacc44..ca2e329436ae4 100644 --- a/.github/workflows/sdist.yml +++ b/.github/workflows/sdist.yml @@ -14,6 +14,7 @@ on: jobs: build: + if: false runs-on: ubuntu-latest timeout-minutes: 60 defaults: diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 9c04d10707a64..32ec603b3db64 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -21,38 +21,38 @@ variables: jobs: # Mac and Linux use the same template -- template: ci/azure/posix.yml - parameters: - name: macOS - vmImage: macOS-10.15 - -- template: ci/azure/windows.yml - parameters: - name: Windows - vmImage: windows-2019 - -- job: py38_32bit - pool: - vmImage: ubuntu-18.04 - - steps: - # TODO: GH#44980 https://github.com/pypa/setuptools/issues/2941 - - script: | - docker pull quay.io/pypa/manylinux2014_i686 - docker run -v $(pwd):/pandas quay.io/pypa/manylinux2014_i686 \ - /bin/bash -xc "cd pandas && \ - /opt/python/cp38-cp38/bin/python -m venv ~/virtualenvs/pandas-dev && \ - . ~/virtualenvs/pandas-dev/bin/activate && \ - python -m pip install --no-deps -U pip wheel 'setuptools<60.0.0' && \ - pip install cython numpy python-dateutil pytz pytest pytest-xdist hypothesis pytest-azurepipelines && \ - python setup.py build_ext -q -j2 && \ - python -m pip install --no-build-isolation -e . && \ - pytest -m 'not slow and not network and not clipboard' pandas --junitxml=test-data.xml" - displayName: 'Run 32-bit manylinux2014 Docker Build / Tests' - - - task: PublishTestResults@2 - condition: succeededOrFailed() - inputs: - testResultsFiles: '**/test-*.xml' - failTaskOnFailedTests: true - testRunTitle: 'Publish test results for Python 3.8-32 bit full Linux' +#- template: ci/azure/posix.yml +# parameters: +# name: macOS +# vmImage: macOS-10.15 +# +#- template: ci/azure/windows.yml +# parameters: +# name: Windows +# vmImage: windows-2019 +# +#- job: py38_32bit +# pool: +# vmImage: ubuntu-18.04 +# +# steps: +# # TODO: GH#44980 https://github.com/pypa/setuptools/issues/2941 +# - script: | +# docker pull quay.io/pypa/manylinux2014_i686 +# docker run -v $(pwd):/pandas quay.io/pypa/manylinux2014_i686 \ +# /bin/bash -xc "cd pandas && \ +# /opt/python/cp38-cp38/bin/python -m venv ~/virtualenvs/pandas-dev && \ +# . ~/virtualenvs/pandas-dev/bin/activate && \ +# python -m pip install --no-deps -U pip wheel 'setuptools<60.0.0' && \ +# pip install cython numpy python-dateutil pytz pytest pytest-xdist hypothesis pytest-azurepipelines && \ +# python setup.py build_ext -q -j2 && \ +# python -m pip install --no-build-isolation -e . && \ +# pytest -m 'not slow and not network and not clipboard' pandas --junitxml=test-data.xml" +# displayName: 'Run 32-bit manylinux2014 Docker Build / Tests' +# +# - task: PublishTestResults@2 +# condition: succeededOrFailed() +# inputs: +# testResultsFiles: '**/test-*.xml' +# failTaskOnFailedTests: true +# testRunTitle: 'Publish test results for Python 3.8-32 bit full Linux' From 190d2d65a480c052a47261535c816bbf72c08f6e Mon Sep 17 00:00:00 2001 From: Matthew Roeschke Date: Thu, 20 Jan 2022 09:25:37 -0800 Subject: [PATCH 3/3] Verbose mode --- ci/run_tests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/run_tests.sh b/ci/run_tests.sh index 203f8fe293a06..114a21a5f3f6c 100755 --- a/ci/run_tests.sh +++ b/ci/run_tests.sh @@ -24,7 +24,7 @@ if [[ $(uname) == "Linux" && -z $DISPLAY ]]; then XVFB="xvfb-run " fi -PYTEST_CMD="${XVFB}pytest -m \"$PATTERN\" -n $PYTEST_WORKERS --dist=loadfile $TEST_ARGS $COVERAGE $PYTEST_TARGET" +PYTEST_CMD="${XVFB}pytest -v -m \"$PATTERN\" -n $PYTEST_WORKERS --dist=loadfile $TEST_ARGS $COVERAGE $PYTEST_TARGET" if [[ $(uname) != "Linux" && $(uname) != "Darwin" ]]; then PYTEST_CMD="$PYTEST_CMD --ignore=pandas/tests/plotting/"