PERF: Optimize month_position_check in infer_freq (#64463) #58073
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Code Checks | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - 3.0.x | |
| pull_request: | |
| branches: | |
| - main | |
| - 3.0.x | |
| env: | |
| ENV_FILE: environment.yml | |
| PANDAS_CI: 1 | |
| permissions: {} | |
| # pre-commit run by https://pre-commit.ci/ | |
| jobs: | |
| docstring_typing_manual_hooks: | |
| name: Docstring validation, typing, and other manual pre-commit hooks | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| contents: read | |
| 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 }}-code-checks | |
| cancel-in-progress: true | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Set up Conda | |
| uses: ./.github/actions/setup-conda | |
| - name: Build Pandas | |
| id: build | |
| uses: ./.github/actions/build_pandas | |
| # The following checks are independent of each other and should still be run if one fails | |
| - name: Extra installs | |
| # https://pytest-qt.readthedocs.io/en/latest/troubleshooting.html#github-actions-azure-pipelines-travis-ci-and-gitlab-ci-cd | |
| run: sudo apt-get update && sudo apt-get install -y libegl1 libopengl0 | |
| - name: Run doctests | |
| run: cd ci && ./code_checks.sh doctests | |
| if: ${{ steps.build.outcome == 'success' && always() }} | |
| - name: Check for no warnings when building single-page docs | |
| run: ci/code_checks.sh single-docs | |
| if: ${{ steps.build.outcome == 'success' && always() }} | |
| - name: Run checks on imported code | |
| run: ci/code_checks.sh code | |
| if: ${{ steps.build.outcome == 'success' && always() }} | |
| - name: Run docstring validation | |
| run: ci/code_checks.sh docstrings | |
| if: ${{ steps.build.outcome == 'success' && always() }} | |
| - name: Run check of documentation notebooks | |
| run: ci/code_checks.sh notebooks | |
| if: ${{ steps.build.outcome == 'success' && always() }} | |
| - name: Use existing environment for type checking | |
| run: | | |
| echo $PATH >> $GITHUB_PATH | |
| echo "PYTHONHOME=$PYTHONHOME" >> $GITHUB_ENV | |
| echo "PYTHONPATH=$PYTHONPATH" >> $GITHUB_ENV | |
| if: ${{ steps.build.outcome == 'success' && always() }} | |
| - name: Typing | |
| uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1 | |
| with: | |
| extra_args: --verbose --hook-stage manual --all-files | |
| if: ${{ steps.build.outcome == 'success' && always() }} | |
| - name: Run docstring validation script tests | |
| run: pytest scripts | |
| if: ${{ steps.build.outcome == 'success' && always() }} | |
| asv-benchmarks: | |
| name: ASV Benchmarks | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| contents: read | |
| 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 }}-asv-benchmarks | |
| cancel-in-progress: true | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Set up Conda | |
| uses: ./.github/actions/setup-conda | |
| - name: Build Pandas | |
| id: build | |
| uses: ./.github/actions/build_pandas | |
| - name: Run ASV benchmarks | |
| run: | | |
| cd asv_bench | |
| asv machine --yes | |
| asv run --quick --dry-run --durations=30 --python=same --show-stderr | |
| requirements-dev-text-installable: | |
| name: Test install requirements-dev.txt | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| contents: read | |
| concurrency: | |
| # https://github.community/t/concurrecy-not-work-for-push/183068/7 | |
| group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-requirements-dev-text-installable | |
| cancel-in-progress: true | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup Python | |
| id: setup_python | |
| uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6 | |
| with: | |
| python-version: '3.11' | |
| cache: 'pip' | |
| cache-dependency-path: 'requirements-dev.txt' | |
| - name: Install requirements-dev.txt | |
| run: pip install -r requirements-dev.txt | |
| - name: Check Pip Cache Hit | |
| run: echo ${{ steps.setup_python.outputs.cache-hit }} |