diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index dc357101e79fd..0000000000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,21 +0,0 @@ -version: 2.1 - -jobs: - test-arm: - machine: - image: ubuntu-2004:202101-01 - resource_class: arm.medium - environment: - ENV_FILE: ci/deps/circle-38-arm64.yaml - PYTEST_WORKERS: auto - PATTERN: "not slow and not network and not clipboard and not arm_slow" - PYTEST_TARGET: "pandas" - steps: - - checkout - - run: ci/setup_env.sh - - run: PATH=$HOME/miniconda3/envs/pandas-dev/bin:$HOME/miniconda3/condabin:$PATH ci/run_tests.sh - -workflows: - test: - jobs: - - test-arm diff --git a/.github/actions/build_pandas/action.yml b/.github/actions/build_pandas/action.yml index 2e4bfea165316..330f93c36dfe7 100644 --- a/.github/actions/build_pandas/action.yml +++ b/.github/actions/build_pandas/action.yml @@ -10,8 +10,19 @@ runs: conda list shell: bash -l {0} + - name: Get Date + id: get-date + run: echo "::set-output name=today::$(/bin/date -u '+%Y%m%d')" + shell: bash + + - name: ccache + uses: hendrikmuhs/ccache-action@940a79df1711f4d50b87e19ddf3b0a3c182abe68 + with: + key: ${{ runner.os }}--${{ runner.arch }}--${{ steps.get-date.outputs.today }} + - name: Build Pandas run: | + export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" python setup.py build_ext -j 2 python -m pip install -e . --no-build-isolation --no-use-pep517 --no-index shell: bash -l {0} diff --git a/.github/workflows/assign.yml b/.github/workflows/assign.yml deleted file mode 100644 index a1812843b1a8f..0000000000000 --- a/.github/workflows/assign.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: Assign -on: - issue_comment: - types: created - -jobs: - issue_assign: - runs-on: ubuntu-latest - steps: - - if: github.event.comment.body == 'take' - run: | - echo "Assigning issue ${{ github.event.issue.number }} to ${{ github.event.comment.user.login }}" - curl -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" -d '{"assignees": ["${{ github.event.comment.user.login }}"]}' https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.issue.number }}/assignees diff --git a/.github/workflows/asv-bot.yml b/.github/workflows/asv-bot.yml deleted file mode 100644 index f3946aeb84a63..0000000000000 --- a/.github/workflows/asv-bot.yml +++ /dev/null @@ -1,81 +0,0 @@ -name: "ASV Bot" - -on: - issue_comment: # Pull requests are issues - types: - - created - -env: - ENV_FILE: environment.yml - COMMENT: ${{github.event.comment.body}} - -jobs: - autotune: - name: "Run benchmarks" - # TODO: Support more benchmarking options later, against different branches, against self, etc - if: startsWith(github.event.comment.body, '@github-actions benchmark') - runs-on: ubuntu-latest - defaults: - run: - shell: bash -l {0} - - concurrency: - # Set concurrency to prevent abuse(full runs are ~5.5 hours !!!) - # each user can only run one concurrent benchmark bot at a time - # We don't cancel in progress jobs, but if you want to benchmark multiple PRs, you're gonna have - # to wait - group: ${{ github.actor }}-asv - cancel-in-progress: false - - steps: - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Cache conda - uses: actions/cache@v2 - with: - path: ~/conda_pkgs_dir - key: ${{ runner.os }}-conda-${{ hashFiles('${{ env.ENV_FILE }}') }} - - # Although asv sets up its own env, deps are still needed - # during discovery process - - uses: conda-incubator/setup-miniconda@v2 - with: - activate-environment: pandas-dev - channel-priority: strict - environment-file: ${{ env.ENV_FILE }} - use-only-tar-bz2: true - - - name: Run benchmarks - id: bench - continue-on-error: true # This is a fake failure, asv will exit code 1 for regressions - run: | - # extracting the regex, see https://stackoverflow.com/a/36798723 - REGEX=$(echo "$COMMENT" | sed -n "s/^.*-b\s*\(\S*\).*$/\1/p") - cd asv_bench - asv check -E existing - git remote add upstream https://github.com/pandas-dev/pandas.git - git fetch upstream - asv machine --yes - asv continuous -f 1.1 -b $REGEX upstream/main HEAD - echo 'BENCH_OUTPUT<> $GITHUB_ENV - asv compare -f 1.1 upstream/main HEAD >> $GITHUB_ENV - echo 'EOF' >> $GITHUB_ENV - echo "REGEX=$REGEX" >> $GITHUB_ENV - - - uses: actions/github-script@v5 - env: - BENCH_OUTPUT: ${{env.BENCH_OUTPUT}} - REGEX: ${{env.REGEX}} - with: - script: | - const ENV_VARS = process.env - const run_url = `https://github.com/${context.repo.owner}/${context.repo.repo}/actions/runs/${context.runId}` - github.rest.issues.createComment({ - issue_number: context.issue.number, - owner: context.repo.owner, - repo: context.repo.repo, - body: '\nBenchmarks completed. View runner logs here.' + run_url + '\nRegex used: '+ 'regex ' + ENV_VARS["REGEX"] + '\n' + ENV_VARS["BENCH_OUTPUT"] - }) diff --git a/.github/workflows/autoupdate-pre-commit-config.yml b/.github/workflows/autoupdate-pre-commit-config.yml deleted file mode 100644 index 3696cba8cf2e6..0000000000000 --- a/.github/workflows/autoupdate-pre-commit-config.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: "Update pre-commit config" - -on: - schedule: - - cron: "0 7 1 * *" # At 07:00 on 1st of every month. - workflow_dispatch: - -jobs: - update-pre-commit: - if: github.repository_owner == 'pandas-dev' - name: Autoupdate pre-commit config - runs-on: ubuntu-latest - steps: - - name: Set up Python - uses: actions/setup-python@v2 - - name: Cache multiple paths - uses: actions/cache@v2 - with: - path: | - ~/.cache/pre-commit - ~/.cache/pip - key: pre-commit-autoupdate-${{ runner.os }}-build - - name: Update pre-commit config packages - uses: technote-space/create-pr-action@v2 - with: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - EXECUTE_COMMANDS: | - pip install pre-commit - pre-commit autoupdate || (exit 0); - pre-commit run -a || (exit 0); - COMMIT_MESSAGE: "⬆️ UPGRADE: Autoupdate pre-commit config" - PR_BRANCH_NAME: "pre-commit-config-update-${PR_ID}" - PR_TITLE: "⬆️ UPGRADE: Autoupdate pre-commit config" diff --git a/.github/workflows/code-checks.yml b/.github/workflows/code-checks.yml deleted file mode 100644 index 8a74ae14404b3..0000000000000 --- a/.github/workflows/code-checks.yml +++ /dev/null @@ -1,158 +0,0 @@ -name: Code Checks - -on: - push: - branches: - - main - - 1.4.x - pull_request: - branches: - - main - - 1.4.x - -env: - ENV_FILE: environment.yml - PANDAS_CI: 1 - -jobs: - pre_commit: - name: pre-commit - runs-on: ubuntu-latest - concurrency: - # https://github.community/t/concurrecy-not-work-for-push/183068/7 - group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-pre-commit - cancel-in-progress: true - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Install Python - uses: actions/setup-python@v2 - with: - python-version: '3.9.7' - - - name: Run pre-commit - uses: pre-commit/action@v2.0.3 - - typing_and_docstring_validation: - name: Docstring and typing validation - runs-on: ubuntu-latest - defaults: - run: - shell: bash -l {0} - - concurrency: - # https://github.community/t/concurrecy-not-work-for-push/183068/7 - group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-code-checks - cancel-in-progress: true - - steps: - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Cache conda - uses: actions/cache@v2 - with: - path: ~/conda_pkgs_dir - key: ${{ runner.os }}-conda-${{ hashFiles('${{ env.ENV_FILE }}') }} - - - uses: conda-incubator/setup-miniconda@v2 - with: - mamba-version: "*" - channels: conda-forge - activate-environment: pandas-dev - channel-priority: strict - environment-file: ${{ env.ENV_FILE }} - use-only-tar-bz2: true - - - name: Install node.js (for pyright) - uses: actions/setup-node@v2 - with: - node-version: "16" - - - name: Install pyright - # note: keep version in sync with .pre-commit-config.yaml - run: npm install -g pyright@1.1.212 - - - name: Build Pandas - id: build - uses: ./.github/actions/build_pandas - - - name: Run checks on imported code - run: ci/code_checks.sh code - if: ${{ steps.build.outcome == 'success' }} - - - name: Run doctests - run: ci/code_checks.sh doctests - if: ${{ steps.build.outcome == 'success' }} - - - name: Run docstring validation - run: ci/code_checks.sh docstrings - if: ${{ steps.build.outcome == 'success' }} - - - name: Run typing validation - run: ci/code_checks.sh typing - if: ${{ steps.build.outcome == 'success' }} - - - name: Run docstring validation script tests - run: pytest scripts - if: ${{ steps.build.outcome == 'success' }} - - asv-benchmarks: - name: ASV Benchmarks - runs-on: ubuntu-latest - defaults: - run: - shell: bash -l {0} - - concurrency: - # https://github.community/t/concurrecy-not-work-for-push/183068/7 - group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-asv-benchmarks - cancel-in-progress: true - - steps: - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Cache conda - uses: actions/cache@v2 - with: - path: ~/conda_pkgs_dir - key: ${{ runner.os }}-conda-${{ hashFiles('${{ env.ENV_FILE }}') }} - - - uses: conda-incubator/setup-miniconda@v2 - with: - mamba-version: "*" - channels: conda-forge - activate-environment: pandas-dev - channel-priority: strict - environment-file: ${{ env.ENV_FILE }} - use-only-tar-bz2: true - - - name: Build Pandas - id: build - uses: ./.github/actions/build_pandas - - - name: Run ASV benchmarks - run: | - cd asv_bench - asv check -E existing - git remote add upstream https://github.com/pandas-dev/pandas.git - git fetch upstream - asv machine --yes - asv dev | sed "/failed$/ s/^/##[error]/" | tee benchmarks.log - if grep "failed" benchmarks.log > /dev/null ; then - exit 1 - fi - if: ${{ steps.build.outcome == 'success' }} - - - name: Publish benchmarks artifact - uses: actions/upload-artifact@v2 - with: - name: Benchmarks log - path: asv_bench/benchmarks.log - if: failure() diff --git a/.github/workflows/comment_bot.yml b/.github/workflows/comment_bot.yml deleted file mode 100644 index 8f610fd5781ef..0000000000000 --- a/.github/workflows/comment_bot.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Comment-bot - -on: - issue_comment: - types: - - created - - edited - -jobs: - autotune: - name: "Fixup pre-commit formatting" - if: startsWith(github.event.comment.body, '@github-actions pre-commit') - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: r-lib/actions/pr-fetch@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - - name: Cache multiple paths - uses: actions/cache@v2 - with: - path: | - ~/.cache/pre-commit - ~/.cache/pip - key: pre-commit-dispatched-${{ runner.os }}-build - - uses: actions/setup-python@v2 - with: - python-version: 3.8 - - name: Install-pre-commit - run: python -m pip install --upgrade pre-commit - - name: Run pre-commit - run: pre-commit run --from-ref=origin/main --to-ref=HEAD --all-files || (exit 0) - - name: Commit results - run: | - git config user.name "$(git log -1 --pretty=format:%an)" - git config user.email "$(git log -1 --pretty=format:%ae)" - git commit -a -m 'Fixes from pre-commit [automated commit]' || echo "No changes to commit" - - uses: r-lib/actions/pr-push@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/datamanger.yml b/.github/workflows/datamanger.yml deleted file mode 100644 index 368c770ad5f14..0000000000000 --- a/.github/workflows/datamanger.yml +++ /dev/null @@ -1,53 +0,0 @@ -name: Data Manager - -on: - push: - branches: - - main - - 1.4.x - pull_request: - branches: - - main - - 1.4.x - paths-ignore: - - "doc/**" - -env: - ENV_FILE: environment.yml - PANDAS_CI: 1 - -jobs: - data_manager: - name: Test experimental data manager - runs-on: ubuntu-latest - services: - moto: - image: motoserver/moto - env: - AWS_ACCESS_KEY_ID: foobar_key - AWS_SECRET_ACCESS_KEY: foobar_secret - ports: - - 5000:5000 - concurrency: - # https://github.community/t/concurrecy-not-work-for-push/183068/7 - group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-data_manager - cancel-in-progress: true - - steps: - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Set up pandas - uses: ./.github/actions/setup - - - name: Run tests - env: - PANDAS_DATA_MANAGER: array - PATTERN: "not network and not clipboard" - PYTEST_WORKERS: "auto" - PYTEST_TARGET: pandas - run: | - source activate pandas-dev - ci/run_tests.sh diff --git a/.github/workflows/docbuild-and-upload.yml b/.github/workflows/docbuild-and-upload.yml deleted file mode 100644 index 4cce75779d750..0000000000000 --- a/.github/workflows/docbuild-and-upload.yml +++ /dev/null @@ -1,72 +0,0 @@ -name: Doc Build and Upload - -on: - push: - branches: - - main - - 1.4.x - pull_request: - branches: - - main - - 1.4.x - -env: - ENV_FILE: environment.yml - PANDAS_CI: 1 - -jobs: - web_and_docs: - name: Doc Build and Upload - runs-on: ubuntu-latest - - concurrency: - # https://github.community/t/concurrecy-not-work-for-push/183068/7 - group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-web-docs - cancel-in-progress: true - - steps: - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Set up pandas - uses: ./.github/actions/setup - - - name: Build website - run: | - source activate pandas-dev - python web/pandas_web.py web/pandas --target-path=web/build - - name: Build documentation - run: | - source activate pandas-dev - doc/make.py --warnings-are-errors - - - name: Install ssh key - run: | - mkdir -m 700 -p ~/.ssh - echo "${{ secrets.server_ssh_key }}" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - echo "${{ secrets.server_ip }} ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBE1Kkopomm7FHG5enATf7SgnpICZ4W2bw+Ho+afqin+w7sMcrsa0je7sbztFAV8YchDkiBKnWTG4cRT+KZgZCaY=" > ~/.ssh/known_hosts - if: ${{github.event_name == 'push' && github.ref == 'refs/heads/main'}} - - - name: Copy cheatsheets into site directory - run: cp doc/cheatsheet/Pandas_Cheat_Sheet* web/build/ - - - name: Upload web - run: rsync -az --delete --exclude='pandas-docs' --exclude='docs' web/build/ docs@${{ secrets.server_ip }}:/usr/share/nginx/pandas - if: ${{github.event_name == 'push' && github.ref == 'refs/heads/main'}} - - - name: Upload dev docs - run: rsync -az --delete doc/build/html/ docs@${{ secrets.server_ip }}:/usr/share/nginx/pandas/pandas-docs/dev - if: ${{github.event_name == 'push' && github.ref == 'refs/heads/main'}} - - - name: Move docs into site directory - run: mv doc/build/html web/build/docs - - - name: Save website as an artifact - uses: actions/upload-artifact@v2 - with: - name: website - path: web/build - retention-days: 14 diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index 8080a81519d8f..2c0d11f3d75d9 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -44,7 +44,7 @@ jobs: LC_ALL: ${{ matrix.settings[4] }} PANDAS_TESTING_MODE: ${{ matrix.settings[5] }} TEST_ARGS: ${{ matrix.settings[6] }} - PYTEST_TARGET: pandas + PYTEST_TARGET: pandas IS_PYPY: ${{ contains(matrix.settings[0], 'pypy') }} # TODO: re-enable coverage on pypy, its slow COVERAGE: ${{ !contains(matrix.settings[0], 'pypy') }} @@ -61,9 +61,9 @@ jobs: MYSQL_DATABASE: pandas options: >- --health-cmd "mysqladmin ping" - --health-interval 10s + --health-interval 5s --health-timeout 5s - --health-retries 5 + --health-retries 10 ports: - 3306:3306 @@ -75,9 +75,9 @@ jobs: POSTGRES_DB: pandas options: >- --health-cmd pg_isready - --health-interval 10s + --health-interval 5s --health-timeout 5s - --health-retries 5 + --health-retries 10 ports: - 5432:5432 @@ -95,41 +95,49 @@ jobs: with: fetch-depth: 0 - - name: Cache conda - uses: actions/cache@v2 - env: - CACHE_NUMBER: 0 + - name: Setup Mambaforge + uses: conda-incubator/setup-miniconda@v2 with: - path: ~/conda_pkgs_dir - key: ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-${{ - hashFiles('${{ env.ENV_FILE }}') }} + miniforge-variant: Mambaforge + miniforge-version: latest + activate-environment: pandas-dev + channels: conda-forge + use-mamba: true + if: ${{ env.IS_PYPY == 'false' }} # No pypy3.8 support - - name: Extra installs - run: sudo apt-get update && sudo apt-get install -y libc6-dev-i386 ${{ env.EXTRA_APT }} + - name: Get Date + id: get-date + run: echo "::set-output name=today::$(/bin/date -u '+%Y%m%d')" + shell: bash - - uses: conda-incubator/setup-miniconda@v2 + - name: Cache Conda + id: cache_conda + uses: actions/cache@v2 with: - mamba-version: "*" - channels: conda-forge - activate-environment: pandas-dev - channel-priority: flexible - environment-file: ${{ env.ENV_FILE }} - use-only-tar-bz2: true + path: ${{ env.CONDA }}/envs + key: conda--${{ runner.os }}--${{ runner.arch }}--${{ steps.get-date.outputs.today }}--${{ env.ENV_FILE }} if: ${{ env.IS_PYPY == 'false' }} # No pypy3.8 support - - name: Setup PyPy - uses: actions/setup-python@v2 - with: - python-version: "pypy-3.8" - if: ${{ env.IS_PYPY == 'true' }} + - name: Update Conda environment + run: mamba env update -n pandas-dev -f ${{ env.ENV_FILE }} + if: steps.cache_conda.outputs.cache-hit != 'true' && ${{ env.IS_PYPY == 'false' }} # No pypy3.8 support - - name: Setup PyPy dependencies - shell: bash - run: | - # TODO: re-enable cov, its slowing the tests down though - # TODO: Unpin Cython, the new Cython 0.29.26 is causing compilation errors - pip install Cython==0.29.25 numpy python-dateutil pytz pytest>=6.0 pytest-xdist>=1.31.0 hypothesis>=5.5.3 - if: ${{ env.IS_PYPY == 'true' }} + - name: Extra installs + run: sudo apt-get update && sudo apt-get install -y libc6-dev-i386 ${{ env.EXTRA_APT }} + + # - name: Setup PyPy + # uses: actions/setup-python@v2 + # with: + # python-version: "pypy-3.8" + # if: ${{ env.IS_PYPY == 'true' }} + + # - name: Setup PyPy dependencies + # shell: bash + # run: | + # # TODO: re-enable cov, its slowing the tests down though + # # TODO: Unpin Cython, the new Cython 0.29.26 is causing compilation errors + # pip install Cython==0.29.25 numpy python-dateutil pytz pytest>=6.0 pytest-xdist>=1.31.0 hypothesis>=5.5.3 + # if: ${{ env.IS_PYPY == 'true' }} - name: Build Pandas uses: ./.github/actions/build_pandas diff --git a/.github/workflows/python-dev.yml b/.github/workflows/python-dev.yml deleted file mode 100644 index 988859ca4ac93..0000000000000 --- a/.github/workflows/python-dev.yml +++ /dev/null @@ -1,97 +0,0 @@ -# This file is purposely frozen(does not run). DO NOT DELETE IT -# Unfreeze(by commentingthe if: false() condition) once the -# next Python Dev version has released beta 1 and both Cython and numpy support it -# After that Python has released, migrate the workflows to the -# posix GHA workflows/Azure pipelines and "freeze" this file by -# uncommenting the if: false() condition -# Feel free to modify this comment as necessary. - -name: Python Dev - -on: - push: - branches: - - main - - 1.4.x - pull_request: - branches: - - main - - 1.4.x - paths-ignore: - - "doc/**" - -env: - PYTEST_WORKERS: "auto" - PANDAS_CI: 1 - PATTERN: "not slow and not network and not clipboard" - COVERAGE: true - PYTEST_TARGET: pandas - -jobs: - build: - if: false # Comment this line out to "unfreeze" - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, macOS-latest, windows-latest] - - name: actions-311-dev - timeout-minutes: 80 - - concurrency: - #https://github.community/t/concurrecy-not-work-for-push/183068/7 - group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.os }}-${{ matrix.pytest_target }}-dev - cancel-in-progress: true - - steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Set up Python Dev Version - uses: actions/setup-python@v2 - with: - python-version: '3.11-dev' - - # TODO: GH#44980 https://github.com/pypa/setuptools/issues/2941 - - name: Install dependencies - shell: bash - run: | - python -m pip install --upgrade pip "setuptools<60.0.0" wheel - pip install -i https://pypi.anaconda.org/scipy-wheels-nightly/simple numpy - pip install git+https://github.com/nedbat/coveragepy.git - pip install cython python-dateutil pytz hypothesis pytest>=6.2.5 pytest-xdist pytest-cov - pip list - - - name: Build Pandas - run: | - python setup.py build_ext -q -j2 - python -m pip install -e . --no-build-isolation --no-use-pep517 - - - name: Build Version - run: | - python -c "import pandas; pandas.show_versions();" - - - name: Test with pytest - shell: bash - run: | - ci/run_tests.sh - - - name: Publish test results - uses: actions/upload-artifact@v2 - with: - name: Test results - path: test-data.xml - if: failure() - - - name: Report Coverage - run: | - coverage report -m - - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v2 - with: - flags: unittests - name: codecov-pandas - fail_ci_if_error: true diff --git a/.github/workflows/sdist.yml b/.github/workflows/sdist.yml deleted file mode 100644 index dd030f1aacc44..0000000000000 --- a/.github/workflows/sdist.yml +++ /dev/null @@ -1,83 +0,0 @@ -name: sdist - -on: - push: - branches: - - main - - 1.4.x - pull_request: - branches: - - main - - 1.4.x - paths-ignore: - - "doc/**" - -jobs: - build: - runs-on: ubuntu-latest - timeout-minutes: 60 - defaults: - run: - shell: bash -l {0} - - strategy: - fail-fast: false - matrix: - python-version: ["3.8", "3.9", "3.10"] - concurrency: - # https://github.community/t/concurrecy-not-work-for-push/183068/7 - group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{matrix.python-version}}-sdist - cancel-in-progress: true - - steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: ${{ matrix.python-version }} - - # TODO: GH#44980 https://github.com/pypa/setuptools/issues/2941 - - name: Install dependencies - run: | - python -m pip install --upgrade pip "setuptools<60.0.0" wheel - - # GH 39416 - pip install numpy - - - name: Build pandas sdist - run: | - pip list - python setup.py sdist --formats=gztar - - - uses: conda-incubator/setup-miniconda@v2 - with: - activate-environment: pandas-sdist - channels: conda-forge - python-version: '${{ matrix.python-version }}' - - # TODO: GH#44980 https://github.com/pypa/setuptools/issues/2941 - - name: Install pandas from sdist - run: | - python -m pip install --upgrade "setuptools<60.0.0" - pip list - python -m pip install dist/*.gz - - - name: Force oldest supported NumPy - run: | - case "${{matrix.python-version}}" in - 3.8) - pip install numpy==1.18.5 ;; - 3.9) - pip install numpy==1.19.3 ;; - 3.10) - pip install numpy==1.21.2 ;; - esac - - - name: Import pandas - run: | - cd .. - conda list - python -c "import pandas; pandas.show_versions();" diff --git a/.github/workflows/stale-pr.yml b/.github/workflows/stale-pr.yml deleted file mode 100644 index b97b60717a2b8..0000000000000 --- a/.github/workflows/stale-pr.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: "Stale PRs" -on: - schedule: - # * is a special character in YAML so you have to quote this string - - cron: "0 0 * * *" - -jobs: - stale: - runs-on: ubuntu-latest - steps: - - uses: actions/stale@v4 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - stale-pr-message: "This pull request is stale because it has been open for thirty days with no activity. Please [update](https://pandas.pydata.org/pandas-docs/stable/development/contributing.html#updating-your-pull-request) and respond to this comment if you're still interested in working on this." - stale-pr-label: "Stale" - exempt-pr-labels: "Needs Review,Blocked,Needs Discussion" - days-before-issue-stale: -1 - days-before-pr-stale: 30 - days-before-close: -1 - remove-stale-when-updated: false - debug-only: false diff --git a/azure-pipelines.yml b/azure-pipelines.yml deleted file mode 100644 index 1e2556f521225..0000000000000 --- a/azure-pipelines.yml +++ /dev/null @@ -1,58 +0,0 @@ -# Adapted from https://github.com/numba/numba/blob/master/azure-pipelines.yml -trigger: - branches: - include: - - main - - 1.4.x - paths: - exclude: - - 'doc/**' - -pr: - autoCancel: true - branches: - include: - - main - - 1.4.x - -variables: - PYTEST_WORKERS: auto - PYTEST_TARGET: pandas - -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'