-
-
Notifications
You must be signed in to change notification settings - Fork 18.5k
CI run coverage on multiple builds #40394
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
ec0479b
339ffe4
e1e973e
3669e85
630722b
8df6f80
95623e4
7ea05a0
cc1f37f
753c3ac
25629d6
21b0682
36f96e9
213a06f
d0f4569
fff0217
d6eefae
e9ba4be
e5e0087
231def7
7c5d5d4
318e206
ff9a9b7
c938acf
0ba4e76
ff4a09f
9338780
3e0321b
815fd04
97d0dc0
ba9f12d
7f5052e
d804bcd
dbfb5b5
66f46df
a56b0a8
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
name: Posix | ||
|
||
on: | ||
push: | ||
branches: [master] | ||
pull_request: | ||
branches: | ||
- master | ||
- 1.2.x | ||
|
||
env: | ||
PYTEST_WORKERS: "auto" | ||
PANDAS_CI: 1 | ||
|
||
jobs: | ||
pytest: | ||
runs-on: ubuntu-latest | ||
defaults: | ||
run: | ||
shell: bash -l {0} | ||
strategy: | ||
matrix: | ||
settings: [ | ||
[actions-37-minimum_versions.yaml, "not slow and not network and not clipboard", "", "", "", "", ""], | ||
[actions-37.yaml, "not slow and not network and not clipboard", "", "", "", "", ""], | ||
[actions-37-locale_slow.yaml, "slow", "language-pack-it xsel", "it_IT.utf8", "it_IT.utf8", "", ""], | ||
[actions-37-slow.yaml, "slow", "", "", "", "", ""], | ||
[actions-38.yaml, "not slow and not network and not clipboard", "", "", "", "", ""], | ||
[actions-38-slow.yaml, "slow", "", "", "", "", ""], | ||
[actions-38-locale.yaml, "not slow and not network", "language-pack-zh-hans xsel", "zh_CN.utf8", "zh_CN.utf8", "", ""], | ||
[actions-38-numpydev.yaml, "not slow and not network", "xsel", "", "", "deprecate", "-W error"], | ||
[actions-39.yaml, "not slow and not network and not clipboard", "", "", "", "", ""] | ||
] | ||
fail-fast: false | ||
env: | ||
COVERAGE: true | ||
ENV_FILE: ci/deps/${{ matrix.settings[0] }} | ||
PATTERN: ${{ matrix.settings[1] }} | ||
EXTRA_APT: ${{ matrix.settings[2] }} | ||
LANG: ${{ matrix.settings[3] }} | ||
LC_ALL: ${{ matrix.settings[4] }} | ||
PANDAS_TESTING_MODE: ${{ matrix.settings[5] }} | ||
TEST_ARGS: ${{ matrix.settings[6] }} | ||
|
||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v1 | ||
|
||
- name: Cache conda | ||
uses: actions/cache@v1 | ||
env: | ||
CACHE_NUMBER: 0 | ||
with: | ||
path: ~/conda_pkgs_dir | ||
key: ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-${{ | ||
hashFiles('${{ env.ENV_FILE }}') }} | ||
|
||
- name: Extra installs | ||
run: sudo apt-get update && sudo apt-get install -y libc6-dev-i386 ${{ env.EXTRA_APT }} | ||
|
||
- uses: conda-incubator/setup-miniconda@v2 | ||
with: | ||
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: pushd /tmp && python -c "import pandas; pandas.show_versions();" && popd | ||
|
||
- name: Publish test results | ||
uses: actions/upload-artifact@master | ||
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@v1 | ||
with: | ||
flags: unittests | ||
name: codecov-pandas | ||
fail_ci_if_error: false |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -17,11 +17,6 @@ jobs: | |
name: macOS | ||
vmImage: macOS-10.14 | ||
|
||
- template: ci/azure/posix.yml | ||
parameters: | ||
name: Linux | ||
vmImage: ubuntu-16.04 | ||
Comment on lines
-20
to
-23
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. moved to |
||
|
||
- template: ci/azure/windows.yml | ||
parameters: | ||
name: Windows | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -14,71 +14,7 @@ jobs: | |
CONDA_PY: "37" | ||
PATTERN: "not slow and not network" | ||
|
||
${{ if eq(parameters.name, 'Linux') }}: | ||
py37_minimum_versions: | ||
ENV_FILE: ci/deps/azure-37-minimum_versions.yaml | ||
CONDA_PY: "37" | ||
PATTERN: "not slow and not network and not clipboard" | ||
|
||
py37: | ||
ENV_FILE: ci/deps/azure-37.yaml | ||
CONDA_PY: "37" | ||
PATTERN: "not slow and not network and not clipboard" | ||
|
||
py37_locale_slow: | ||
ENV_FILE: ci/deps/azure-37-locale_slow.yaml | ||
CONDA_PY: "37" | ||
PATTERN: "slow" | ||
LANG: "it_IT.utf8" | ||
LC_ALL: "it_IT.utf8" | ||
EXTRA_APT: "language-pack-it xsel" | ||
|
||
py37_slow: | ||
ENV_FILE: ci/deps/azure-37-slow.yaml | ||
CONDA_PY: "37" | ||
PATTERN: "slow" | ||
|
||
py38: | ||
ENV_FILE: ci/deps/azure-38.yaml | ||
CONDA_PY: "38" | ||
PATTERN: "not slow and not network and not clipboard" | ||
|
||
py38_slow: | ||
ENV_FILE: ci/deps/azure-38-slow.yaml | ||
CONDA_PY: "38" | ||
PATTERN: "slow" | ||
|
||
py38_locale: | ||
ENV_FILE: ci/deps/azure-38-locale.yaml | ||
CONDA_PY: "38" | ||
PATTERN: "not slow and not network" | ||
# pandas does not use the language (zh_CN), but should support different encodings (utf8) | ||
# we should test with encodings different than utf8, but doesn't seem like Ubuntu supports any | ||
LANG: "zh_CN.utf8" | ||
LC_ALL: "zh_CN.utf8" | ||
EXTRA_APT: "language-pack-zh-hans xsel" | ||
|
||
py38_np_dev: | ||
ENV_FILE: ci/deps/azure-38-numpydev.yaml | ||
CONDA_PY: "38" | ||
PATTERN: "not slow and not network" | ||
TEST_ARGS: "-W error" | ||
PANDAS_TESTING_MODE: "deprecate" | ||
EXTRA_APT: "xsel" | ||
|
||
py39: | ||
ENV_FILE: ci/deps/azure-39.yaml | ||
CONDA_PY: "39" | ||
PATTERN: "not slow and not network and not clipboard" | ||
|
||
steps: | ||
- script: | | ||
if [ "$(uname)" == "Linux" ]; then | ||
sudo apt-get update | ||
sudo apt-get install -y libc6-dev-i386 $EXTRA_APT | ||
fi | ||
displayName: 'Install extra packages' | ||
|
||
Comment on lines
-75
to
-81
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. these linux ones are all moved to |
||
- script: echo '##vso[task.prependpath]$(HOME)/miniconda3/bin' | ||
displayName: 'Set conda path' | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,7 @@ | ||
codecov: | ||
branch: master | ||
|
||
notify: | ||
after_n_builds: 10 | ||
Comment on lines
+3
to
+4
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this is so that codecov doesn't report on insufficient coverage prematurely There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. is this related to why codecov often gives an Access Denied? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Without this, then Codecov will report coverage as soon as one job finishes. But if that job isn't comprehensive, then it'll show e.g. "coverage 30% less than target of 80%, failed". Like this, it'll wait for multiple jobs to be done and will merge their reports |
||
comment: false | ||
|
||
coverage: | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -246,7 +246,7 @@ def f(t): | |
# appropriately. Take a copy of amplitudes as otherwise numpy | ||
# deletes the element from amplitudes itself. | ||
coeffs = np.delete(np.copy(amplitudes), 0) | ||
coeffs.resize(int((coeffs.size + 1) / 2), 2) | ||
coeffs = np.resize(coeffs, (int((coeffs.size + 1) / 2), 2)) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This was throwing an error during CI:
|
||
|
||
# Generate the harmonics and arguments for the sin and cos | ||
# functions. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I couldn't get the environment to resolve with
strict