You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by "2010YOUY01 (via GitHub)" <gi...@apache.org> on 2023/04/20 04:49:57 UTC

[GitHub] [arrow-datafusion] 2010YOUY01 opened a new pull request, #6067: Enable codecov

2010YOUY01 opened a new pull request, #6067:
URL: https://github.com/apache/arrow-datafusion/pull/6067

   # Which issue does this PR close?
   
   <!--
   We generally require a GitHub issue to be filed for all bug fixes and enhancements and this helps us generate change logs for our releases. You can link an issue to this PR using the GitHub syntax. For example `Closes #123` indicates that this PR will close issue #123.
   -->
   
   Issue https://github.com/apache/arrow-datafusion/issues/3678
   Prev PR that disabled codecov: https://github.com/apache/arrow-datafusion/pull/3679
   
   # Rationale for this change
   
   <!--
    Why are you proposing this change? If this is already explained clearly in the issue then this section is not needed.
    Explaining clearly why changes are proposed helps reviewers understand your changes and offer better suggestions for fixes.  
   -->
   `cargo tarpaulin` will consume lots of disk space, previously it failed due to this reason. I tried removing several large files on GitHub Action virtual machines, then It can run again.
   Problem: after that, two dataframe tests failed, they're disabled temporarily.
   https://github.com/apache/arrow-datafusion/blob/10b0eff7dfbe195a724285bc166b20240e8ebccb/datafusion/core/src/dataframe.rs#L1978
   https://github.com/apache/arrow-datafusion/blob/10b0eff7dfbe195a724285bc166b20240e8ebccb/datafusion/core/src/dataframe.rs#L2070
   These two test cases are added after last time codecov CI is disabled, I don't know why they might fail under `cargo tarpaulin`
   Failure messages:
   ```
     failures:
   
   ---- dataframe::tests::partition_aware_union stdout ----
   thread 'dataframe::tests::partition_aware_union' panicked at 'assertion failed: `(left == right)`
     left: `2`,
    right: `1`', datafusion/core/src/dataframe.rs:2008:9
   note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
   
   ---- dataframe::tests::verify_join_output_partitioning stdout ----
   thread 'dataframe::tests::verify_join_output_partitioning' panicked at 'assertion failed: `(left == right)`
     left: `UnknownPartitioning(1)`,
    right: `Hash([Column { name: "c1", index: 0 }, Column { name: "c2", index: 1 }], 1)`', datafusion/core/src/dataframe.rs:2112:21
   
   
   failures:
       dataframe::tests::partition_aware_union
       dataframe::tests::verify_join_output_partitioning
   
   test result: FAILED. 1475 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 139.30s
   
   Apr 19 21:59:34.770  INFO cargo_tarpaulin::process_handling::linux: Launching test
   Apr 19 21:59:34.776  INFO cargo_tarpaulin::process_handling: running /home/runner/work/arrow-datafusion/arrow-datafusion/target/debug/deps/simplification-ba4cc1d732bcee01
   ```
   Failing CI run : https://github.com/2010YOUY01/arrow-datafusion/actions/runs/4750006102
   Can be reproduced with CI config in this commit https://github.com/apache/arrow-datafusion/commit/75c7fb77094d7e4ce907db343b77f268f075356f
   
   # What changes are included in this PR?
   
   <!--
   There is no need to duplicate the description in the issue here but it is sometimes worth providing a summary of the individual changes in this PR.
   -->
   
   # Are these changes tested?
   
   <!--
   We typically require tests for all PRs in order to:
   1. Prevent the code from being accidentally broken by subsequent changes
   2. Serve as another way to document the expected behavior of the code
   
   If tests are not included in your PR, please explain why (for example, are they covered by existing tests)?
   -->
   
   # Are there any user-facing changes?
   
   <!--
   If there are user-facing changes then we may require documentation to be updated before approving the PR.
   -->
   
   <!--
   If there are any breaking changes to public APIs, please add the `api change` label.
   -->


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow-datafusion] 2010YOUY01 commented on a diff in pull request #6067: Enable codecov

Posted by "2010YOUY01 (via GitHub)" <gi...@apache.org>.
2010YOUY01 commented on code in PR #6067:
URL: https://github.com/apache/arrow-datafusion/pull/6067#discussion_r1172078233


##########
.github/workflows/rust.yml:
##########
@@ -356,44 +356,53 @@ jobs:
   # Coverage job disabled due to
   # https://github.com/apache/arrow-datafusion/issues/3678
 
-  # coverage:
-  #   name: coverage
-  #   runs-on: ubuntu-latest
-  #   steps:
-  #     - uses: actions/checkout@v3
-  #       with:
-  #         submodules: true
-  #     - name: Install protobuf compiler
-  #       shell: bash
-  #       run: |
-  #         mkdir -p $HOME/d/protoc
-  #         cd $HOME/d/protoc
-  #         export PROTO_ZIP="protoc-21.4-linux-x86_64.zip"
-  #         curl -LO https://github.com/protocolbuffers/protobuf/releases/download/v21.4/$PROTO_ZIP
-  #         unzip $PROTO_ZIP
-  #         export PATH=$PATH:$HOME/d/protoc/bin
-  #         protoc --version
-  #     - name: Setup Rust toolchain
-  #       run: |
-  #         rustup toolchain install stable
-  #         rustup default stable
-  #         rustup component add rustfmt clippy
-  #     - name: Cache Cargo
-  #       uses: actions/cache@v3
-  #       with:
-  #         path: /home/runner/.cargo
-  #         # this key is not equal because the user is different than on a container (runner vs github)
-  #         key: cargo-coverage-cache3-
-  #     - name: Run coverage
-  #       run: |
-  #         export PATH=$PATH:$HOME/d/protoc/bin
-  #         rustup toolchain install stable
-  #         rustup default stable
-  #         cargo install --version 0.20.1 cargo-tarpaulin
-  #         cargo tarpaulin --all --out Xml
-  #     - name: Report coverage
-  #       continue-on-error: true
-  #       run: bash <(curl -s https://codecov.io/bash)
+  coverage:
+    name: coverage
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v3
+        with:
+          submodules: true
+      # `cargo tarpaulin` requires lots of disk space

Review Comment:
   Change1: rm large unnecessary files



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow-datafusion] 2010YOUY01 commented on a diff in pull request #6067: Enable codecov

Posted by "2010YOUY01 (via GitHub)" <gi...@apache.org>.
2010YOUY01 commented on code in PR #6067:
URL: https://github.com/apache/arrow-datafusion/pull/6067#discussion_r1172078476


##########
.github/workflows/rust.yml:
##########
@@ -356,44 +356,53 @@ jobs:
   # Coverage job disabled due to
   # https://github.com/apache/arrow-datafusion/issues/3678
 
-  # coverage:
-  #   name: coverage
-  #   runs-on: ubuntu-latest
-  #   steps:
-  #     - uses: actions/checkout@v3
-  #       with:
-  #         submodules: true
-  #     - name: Install protobuf compiler
-  #       shell: bash
-  #       run: |
-  #         mkdir -p $HOME/d/protoc
-  #         cd $HOME/d/protoc
-  #         export PROTO_ZIP="protoc-21.4-linux-x86_64.zip"
-  #         curl -LO https://github.com/protocolbuffers/protobuf/releases/download/v21.4/$PROTO_ZIP
-  #         unzip $PROTO_ZIP
-  #         export PATH=$PATH:$HOME/d/protoc/bin
-  #         protoc --version
-  #     - name: Setup Rust toolchain
-  #       run: |
-  #         rustup toolchain install stable
-  #         rustup default stable
-  #         rustup component add rustfmt clippy
-  #     - name: Cache Cargo
-  #       uses: actions/cache@v3
-  #       with:
-  #         path: /home/runner/.cargo
-  #         # this key is not equal because the user is different than on a container (runner vs github)
-  #         key: cargo-coverage-cache3-
-  #     - name: Run coverage
-  #       run: |
-  #         export PATH=$PATH:$HOME/d/protoc/bin
-  #         rustup toolchain install stable
-  #         rustup default stable
-  #         cargo install --version 0.20.1 cargo-tarpaulin
-  #         cargo tarpaulin --all --out Xml
-  #     - name: Report coverage
-  #       continue-on-error: true
-  #       run: bash <(curl -s https://codecov.io/bash)
+  coverage:
+    name: coverage
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v3
+        with:
+          submodules: true
+      # `cargo tarpaulin` requires lots of disk space
+      - name: Delete unnecessary large files
+        run: |
+          rm -rf /opt/hostedtoolcache
+          rm -rf /usr/share/dotnet
+          rm -rf /opt/ghc
+          rm -rf "/usr/local/share/boost"
+          rm -rf "$AGENT_TOOLSDIRECTORY"
+      - name: Install protobuf compiler
+        shell: bash
+        run: |
+          mkdir -p $HOME/d/protoc
+          cd $HOME/d/protoc
+          export PROTO_ZIP="protoc-21.4-linux-x86_64.zip"
+          curl -LO https://github.com/protocolbuffers/protobuf/releases/download/v21.4/$PROTO_ZIP
+          unzip $PROTO_ZIP
+          export PATH=$PATH:$HOME/d/protoc/bin
+          protoc --version
+      - name: Setup Rust toolchain
+        run: |
+          rustup toolchain install stable
+          rustup default stable
+          rustup component add rustfmt clippy
+      - name: Cache Cargo
+        uses: actions/cache@v3
+        with:
+          path: /home/runner/.cargo
+          # this key is not equal because the user is different than on a container (runner vs github)
+          key: cargo-coverage-cache3-
+      - name: Run coverage
+        run: |
+          export PATH=$PATH:$HOME/d/protoc/bin
+          rustup toolchain install stable
+          rustup default stable
+          cargo install --version 0.20.1 cargo-tarpaulin
+          # Disable failing tests temporarily

Review Comment:
   Change2: skipped failing test cases temporarily



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow-datafusion] alamb commented on pull request #6067: Enable codecov

Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on PR #6067:
URL: https://github.com/apache/arrow-datafusion/pull/6067#issuecomment-1520450214

   The coverage report from this PR is here https://app.codecov.io/gh/apache/arrow-datafusion/pull/6067 but contains no information on what was not covered (so like what do we get from this site other than a webpage with a number). 
   
   When I look at the coverage report from arrow2, it seems to be quite useful (and have sources, etc): 
   https://app.codecov.io/gh/jorgecarleitao/arrow2?search=&displayType=tree
   
   Maybe we can follow the model there https://github.com/jorgecarleitao/arrow2/blob/main/.github/workflows/coverage.yml 🤔 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow-datafusion] 2010YOUY01 commented on pull request #6067: Enable codecov

Posted by "2010YOUY01 (via GitHub)" <gi...@apache.org>.
2010YOUY01 commented on PR #6067:
URL: https://github.com/apache/arrow-datafusion/pull/6067#issuecomment-1520513700

   Detailed information is normally displayed when switching to commit instead of pull requests.
   https://app.codecov.io/gh/apache/arrow-datafusion/tree/enable-codecov
   I guess for PRs' reports, Codecov requires the latest commit of the main branch to already have a code coverage report in order to use it as a base for comparison. That might be the reason for not showing a detailed report in the first PR.🤔
   And thank you for the pointer! I will check if the tool they used to generate Codecov reports is more stable than the current one.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow-datafusion] jackwener commented on pull request #6067: Enable codecov

Posted by "jackwener (via GitHub)" <gi...@apache.org>.
jackwener commented on PR #6067:
URL: https://github.com/apache/arrow-datafusion/pull/6067#issuecomment-1518950537

   Just in my opinion, I don't feel the need to add codedev for Datafusion for now.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow-datafusion] 2010YOUY01 commented on pull request #6067: Enable codecov

Posted by "2010YOUY01 (via GitHub)" <gi...@apache.org>.
2010YOUY01 commented on PR #6067:
URL: https://github.com/apache/arrow-datafusion/pull/6067#issuecomment-1519138991

   > Just in my opinion, I don't feel the need to add codedev for Datafusion for now.
   
   I followed `tarpaulin` repo's issues to get this fixed. This tool seems not very stable, people encounter different problems, and even the author can't tell why exactly. 
   So another issue is if it is got fixed now and it's still likely to break in the future and cause CI problems again :(
   Maybe we should leave it commented and If people want to see coverage they can run it themself. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow-datafusion] codecov-commenter commented on pull request #6067: Enable codecov

Posted by "codecov-commenter (via GitHub)" <gi...@apache.org>.
codecov-commenter commented on PR #6067:
URL: https://github.com/apache/arrow-datafusion/pull/6067#issuecomment-1515761938

   ## [Codecov](https://codecov.io/gh/apache/arrow-datafusion/pull/6067?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
   > :exclamation: No coverage uploaded for pull request base (`main@10b0eff`). [Click here to learn what that means](https://docs.codecov.io/docs/error-reference?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#section-missing-base-commit).
   > The diff coverage is `n/a`.
   
   > :exclamation: Current head cdd5f24 differs from pull request most recent head ae31a7b. Consider uploading reports for the commit ae31a7b to get more accurate results
   
   ```diff
   @@           Coverage Diff           @@
   ##             main    #6067   +/-   ##
   =======================================
     Coverage        ?   77.56%           
   =======================================
     Files           ?      419           
     Lines           ?    96984           
     Branches        ?        0           
   =======================================
     Hits            ?    75228           
     Misses          ?    21756           
     Partials        ?        0           
   ```
   
   
   
   :mega: We’re building smart automated test selection to slash your CI/CD build times. [Learn more](https://about.codecov.io/iterative-testing/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow-datafusion] alamb commented on pull request #6067: Enable codecov

Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on PR #6067:
URL: https://github.com/apache/arrow-datafusion/pull/6067#issuecomment-1520549041

   >  That might be the reason for not showing a detailed report in the first PR.🤔
   
   It is possible.
   
   However, if you look at codecov reports from sqlparser (which I think is configured the same as this), such  as the one on https://github.com/sqlparser-rs/sqlparser-rs/pull/817 https://coveralls.io/builds/57556726
   
   it has the same lack of source issue


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org