Skip to content

Conversation

kou
Copy link
Member

@kou kou commented Jul 4, 2025

Rationale for this change

OpenSUSE 15.5 ships old GCC (7.5) that doesn't have enough C++17 support.

What changes are included in this PR?

Use Ubuntu 20.04 that ships GCC 9.3 instead of OpenSUSE 15.5.

Ubuntu 20.04 reached EOL but we can use it for now.

We discussed why we need OpenSUSE 15.5 based job at #45718 (comment) . We have the job because https://arrow.apache.org/docs/developers/cpp/building.html said "gcc 7.1 and higher should be sufficient".

We need require GCC 9 or later with #46813.

Are these changes tested?

Yes.

Are there any user-facing changes?

No.

@kou
Copy link
Member Author

kou commented Jul 4, 2025

@github-actions crossbow submit test-r-rstudio-r-base-*

Copy link

github-actions bot commented Jul 4, 2025

⚠️ GitHub issue #46989 has been automatically assigned in GitHub to PR creator.

@github-actions github-actions bot added the awaiting committer review Awaiting committer review label Jul 4, 2025
Copy link

github-actions bot commented Jul 4, 2025

Revision: c2d4d46

Submitted crossbow builds: ursacomputing/crossbow @ actions-e1fe36eccc

Task Status
test-r-rstudio-r-base-4.1-noble Azure
test-r-rstudio-r-base-4.2-noble Azure

@kou
Copy link
Member Author

kou commented Jul 4, 2025

Hmm... They don't work...

https://dev.azure.com/ursacomputing/crossbow/_build/results?buildId=70218&view=logs&j=0da5d1d9-276d-5173-c4c4-9d4d4ed14fdb&t=6c939d89-0d1a-51f2-8b30-091a7a82e98c&l=24235

══ Failed tests ════════════════════════════════════════════════════════════════
── Error ('test-dplyr-filter.R:295:5'): Filtering on a column that doesn't exist errors correctly ──
<validation_error/rlang_error/error/condition>
Error in `not_a_col == 42`: object 'not_a_col' not found
  9. ├─testthat::expect_error(...)
 10. │ └─testthat:::expect_condition_matching(...)
 11. │   └─testthat:::quasi_capture(...)
 12. │     ├─testthat (local) .capture(...)
 13. │     │ └─base::withCallingHandlers(...)
 14. │     └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
 15. ├─Table$create(tbl) %>% mutate(newvar = NOTAVAR + 2)
 16. ├─dplyr::mutate(., newvar = NOTAVAR + 2)
 17. └─arrow:::mutate.ArrowTabular(., newvar = NOTAVAR + 2)
 18.   ├─arrow:::try_arrow_dplyr(...)
 19.   │ ├─base::tryCatch(...)
 20.   │ │ └─base (local) tryCatchList(expr, classes, parentenv, handlers)
 21.   │ │   └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
 22.   │ │     └─base (local) doTryCatch(return(expr), name, parentenv, handler)
 23.   │ └─base::eval(expr, parent)
 24.   └─arrow:::arrow_eval(exprs[[i]], mask)
 25.     └─base::tryCatch(...)
 26.       └─base (local) tryCatchList(expr, classes, parentenv, handlers)
 27.         └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
 28.           └─value[[3L]](cond)
 29.             └─arrow:::validation_error(msg, call = expr)
 30.               └─rlang::abort(...)

[ FAIL 2 | WARN 2 | SKIP 30 | PASS 8283 ]

@kou
Copy link
Member Author

kou commented Jul 4, 2025

@github-actions crossbow submit test-r-rstudio-r-base-*

Copy link

github-actions bot commented Jul 4, 2025

Revision: 7d9bf79

Submitted crossbow builds: ursacomputing/crossbow @ actions-c0bd9ba83d

Task Status
test-r-rstudio-r-base-4.1-focal Azure
test-r-rstudio-r-base-4.2-focal Azure

@kou kou changed the title GH-46989: [CI][R] Use Ubuntu 22.04 for old R GH-46989: [CI][R] Use Ubuntu 20.04 instead of OpenSUSE for R 4.1 Jul 5, 2025
@kou
Copy link
Member Author

kou commented Jul 5, 2025

@Ziy1-Tan @pitrou Do you think that we can use GCC 7 compatible implementation for #46813? Or should we require GCC 9 (8?) or later like this PR?

@pitrou
Copy link
Member

pitrou commented Jul 6, 2025

I'm strongly in favor of requiring GCC 9. We recently reached consensus in favor of switching to C++20, so we will need at least that version anyway.

Copy link
Member

@amoeba amoeba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

This should be fine as far as CRAN goes. Left one comment about splitting this into two PRs for better visibility about the gcc 7.1 -> 9 change.

@kou
Copy link
Member Author

kou commented Jul 10, 2025

I'll merge this for 21.0.0 release.

@kou kou merged commit 27cca0f into apache:main Jul 10, 2025
9 checks passed
@kou kou removed the awaiting changes Awaiting changes label Jul 10, 2025
@kou kou deleted the ci-r-4.1 branch July 10, 2025 01:07
Copy link

After merging your PR, Conbench analyzed the 4 benchmarking runs that have been run so far on merge-commit 27cca0f.

There were no benchmark performance regressions. 🎉

The full Conbench report has more details. It also includes information about 30 possible false positives for unstable benchmarks that are known to sometimes produce them.

amoeba pushed a commit that referenced this pull request Jul 10, 2025
)

### Rationale for this change

OpenSUSE 15.5 ships old GCC (7.5) that doesn't have enough C++17 support.

### What changes are included in this PR?

Use Ubuntu 20.04 that ships GCC 9.3  instead of OpenSUSE 15.5.

Ubuntu 20.04 reached EOL but we can use it for now.

We discussed why we need OpenSUSE 15.5 based job at #45718 (comment) . We have the job because https://arrow.apache.org/docs/developers/cpp/building.html said "gcc 7.1 and higher should be sufficient".

We need require GCC 9 or later with #46813.

### Are these changes tested?

Yes.

### Are there any user-facing changes?

No.
* GitHub Issue: #46989

Lead-authored-by: Sutou Kouhei <[email protected]>
Co-authored-by: Sutou Kouhei <[email protected]>
Signed-off-by: Sutou Kouhei <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants