diff --git a/.github/actions/build_pandas/action.yml b/.github/actions/build_pandas/action.yml index 2e4bfea165316..e916d5bfde5fb 100644 --- a/.github/actions/build_pandas/action.yml +++ b/.github/actions/build_pandas/action.yml @@ -8,10 +8,10 @@ runs: run: | conda info conda list - shell: bash -l {0} + shell: bash -el {0} - name: Build Pandas run: | python setup.py build_ext -j 2 python -m pip install -e . --no-build-isolation --no-use-pep517 --no-index - shell: bash -l {0} + shell: bash -el {0} diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index 9ef00e7a85a6f..c357f149f2c7f 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -5,8 +5,8 @@ runs: steps: - name: Setting conda path run: echo "${HOME}/miniconda3/bin" >> $GITHUB_PATH - shell: bash -l {0} + shell: bash -el {0} - name: Setup environment and build pandas run: ci/setup_env.sh - shell: bash -l {0} + shell: bash -el {0} diff --git a/.github/workflows/asv-bot.yml b/.github/workflows/asv-bot.yml index f3946aeb84a63..78c224b84d5d9 100644 --- a/.github/workflows/asv-bot.yml +++ b/.github/workflows/asv-bot.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest defaults: run: - shell: bash -l {0} + shell: bash -el {0} concurrency: # Set concurrency to prevent abuse(full runs are ~5.5 hours !!!) @@ -29,19 +29,19 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Cache conda - uses: actions/cache@v2 + uses: actions/cache@v3 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 + - uses: conda-incubator/setup-miniconda@v2.1.1 with: activate-environment: pandas-dev channel-priority: strict @@ -65,7 +65,7 @@ jobs: echo 'EOF' >> $GITHUB_ENV echo "REGEX=$REGEX" >> $GITHUB_ENV - - uses: actions/github-script@v5 + - uses: actions/github-script@v6 env: BENCH_OUTPUT: ${{env.BENCH_OUTPUT}} REGEX: ${{env.REGEX}} diff --git a/.github/workflows/autoupdate-pre-commit-config.yml b/.github/workflows/autoupdate-pre-commit-config.yml index 3696cba8cf2e6..d2eac234ca361 100644 --- a/.github/workflows/autoupdate-pre-commit-config.yml +++ b/.github/workflows/autoupdate-pre-commit-config.yml @@ -12,9 +12,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Set up Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v3 - name: Cache multiple paths - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: | ~/.cache/pre-commit diff --git a/.github/workflows/code-checks.yml b/.github/workflows/code-checks.yml index 7141b02cac376..59fb81b167bd4 100644 --- a/.github/workflows/code-checks.yml +++ b/.github/workflows/code-checks.yml @@ -24,10 +24,10 @@ jobs: cancel-in-progress: true steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Install Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v3 with: python-version: '3.9.7' @@ -39,7 +39,7 @@ jobs: runs-on: ubuntu-latest defaults: run: - shell: bash -l {0} + shell: bash -el {0} concurrency: # https://github.community/t/concurrecy-not-work-for-push/183068/7 @@ -48,17 +48,17 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Cache conda - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ~/conda_pkgs_dir key: ${{ runner.os }}-conda-${{ hashFiles('${{ env.ENV_FILE }}') }} - - uses: conda-incubator/setup-miniconda@v2 + - uses: conda-incubator/setup-miniconda@v2.1.1 with: mamba-version: "*" channels: conda-forge @@ -68,7 +68,7 @@ jobs: use-only-tar-bz2: true - name: Install node.js (for pyright) - uses: actions/setup-node@v2 + uses: actions/setup-node@v3 with: node-version: "16" @@ -105,7 +105,7 @@ jobs: runs-on: ubuntu-latest defaults: run: - shell: bash -l {0} + shell: bash -el {0} concurrency: # https://github.community/t/concurrecy-not-work-for-push/183068/7 @@ -114,17 +114,17 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Cache conda - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ~/conda_pkgs_dir key: ${{ runner.os }}-conda-${{ hashFiles('${{ env.ENV_FILE }}') }} - - uses: conda-incubator/setup-miniconda@v2 + - uses: conda-incubator/setup-miniconda@v2.1.1 with: mamba-version: "*" channels: conda-forge @@ -151,8 +151,32 @@ jobs: if: ${{ steps.build.outcome == 'success' }} - name: Publish benchmarks artifact - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: Benchmarks log path: asv_bench/benchmarks.log if: failure() + + build_docker_dev_environment: + name: Build Docker Dev Environment + runs-on: ubuntu-latest + defaults: + run: + shell: bash -el {0} + + concurrency: + # https://github.community/t/concurrecy-not-work-for-push/183068/7 + group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-build_docker_dev_environment + cancel-in-progress: true + + steps: + - name: Clean up dangling images + run: docker image prune -f + + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Build image + run: docker build --pull --no-cache --tag pandas-dev-env . diff --git a/.github/workflows/comment_bot.yml b/.github/workflows/comment_bot.yml index 8f610fd5781ef..3824e015e8336 100644 --- a/.github/workflows/comment_bot.yml +++ b/.github/workflows/comment_bot.yml @@ -12,18 +12,18 @@ jobs: if: startsWith(github.event.comment.body, '@github-actions pre-commit') runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: r-lib/actions/pr-fetch@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Cache multiple paths - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: | ~/.cache/pre-commit ~/.cache/pip key: pre-commit-dispatched-${{ runner.os }}-build - - uses: actions/setup-python@v2 + - uses: actions/setup-python@v3 with: python-version: 3.8 - name: Install-pre-commit diff --git a/.github/workflows/docbuild-and-upload.yml b/.github/workflows/docbuild-and-upload.yml index 4cce75779d750..bba9f62a0eca6 100644 --- a/.github/workflows/docbuild-and-upload.yml +++ b/.github/workflows/docbuild-and-upload.yml @@ -26,7 +26,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 @@ -65,7 +65,7 @@ jobs: run: mv doc/build/html web/build/docs - name: Save website as an artifact - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: website path: web/build diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index 0d5ef807a3392..ea9df610c1dff 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -20,7 +20,7 @@ jobs: runs-on: ubuntu-latest defaults: run: - shell: bash -l {0} + shell: bash -el {0} timeout-minutes: 120 strategy: matrix: @@ -121,12 +121,12 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Cache conda - uses: actions/cache@v2 + uses: actions/cache@v3 env: CACHE_NUMBER: 0 with: @@ -138,7 +138,7 @@ jobs: # xsel for clipboard tests run: sudo apt-get update && sudo apt-get install -y libc6-dev-i386 xsel ${{ env.EXTRA_APT }} - - uses: conda-incubator/setup-miniconda@v2 + - uses: conda-incubator/setup-miniconda@v2.1.1 with: mamba-version: "*" channels: conda-forge @@ -153,13 +153,12 @@ jobs: if: ${{ matrix.pyarrow_version }} - name: Setup PyPy - uses: actions/setup-python@v2 + uses: actions/setup-python@v3 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 pip install Cython numpy python-dateutil pytz pytest>=6.0 pytest-xdist>=1.31.0 pytest-asyncio>=0.17 hypothesis>=5.5.3 @@ -178,7 +177,7 @@ jobs: run: pushd /tmp && python -c "import pandas; pandas.show_versions();" && popd - name: Publish test results - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: Test results path: test-data.xml diff --git a/.github/workflows/python-dev.yml b/.github/workflows/python-dev.yml index c287827206336..8ca4cce155e96 100644 --- a/.github/workflows/python-dev.yml +++ b/.github/workflows/python-dev.yml @@ -45,18 +45,18 @@ jobs: cancel-in-progress: true steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up Python Dev Version - uses: actions/setup-python@v2 + uses: actions/setup-python@v3 with: python-version: '3.11-dev' # TODO: GH#44980 https://github.com/pypa/setuptools/issues/2941 - name: Install dependencies - shell: bash + shell: bash -el {0} run: | python -m pip install --upgrade pip "setuptools<60.0.0" wheel pip install -i https://pypi.anaconda.org/scipy-wheels-nightly/simple numpy @@ -74,12 +74,12 @@ jobs: python -c "import pandas; pandas.show_versions();" - name: Test with pytest - shell: bash + shell: bash -el {0} run: | ci/run_tests.sh - name: Publish test results - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: Test results path: test-data.xml diff --git a/.github/workflows/sdist.yml b/.github/workflows/sdist.yml index dd030f1aacc44..8406743889f71 100644 --- a/.github/workflows/sdist.yml +++ b/.github/workflows/sdist.yml @@ -18,7 +18,7 @@ jobs: timeout-minutes: 60 defaults: run: - shell: bash -l {0} + shell: bash -el {0} strategy: fail-fast: false @@ -30,12 +30,12 @@ jobs: cancel-in-progress: true steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v3 with: python-version: ${{ matrix.python-version }} @@ -52,7 +52,13 @@ jobs: pip list python setup.py sdist --formats=gztar - - uses: conda-incubator/setup-miniconda@v2 + - name: Upload sdist artifact + uses: actions/upload-artifact@v3 + with: + name: ${{matrix.python-version}}-sdist.gz + path: dist/*.gz + + - uses: conda-incubator/setup-miniconda@v2.1.1 with: activate-environment: pandas-sdist channels: conda-forge diff --git a/Dockerfile b/Dockerfile index 8887e80566772..2923cd60cc53b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM quay.io/condaforge/miniforge3 +FROM quay.io/condaforge/miniforge3:4.11.0-0 # if you forked pandas, you can pass in your own GitHub username to use your fork # i.e. gh_username=myname @@ -45,4 +45,4 @@ RUN . /opt/conda/etc/profile.d/conda.sh \ && cd "$pandas_home" \ && export \ && python setup.py build_ext -j 4 \ - && python -m pip install -e . + && python -m pip install --no-build-isolation -e .