Skip to content
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

GH-45388: [CI][MATLAB] Can we use Ubuntu 22.04 or 24.04 for Ubuntu CI #45395

Merged
merged 3 commits into from
Jan 30, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 3 additions & 19 deletions .github/workflows/matlab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,24 +46,8 @@ permissions:
jobs:

ubuntu:
name: AMD64 Ubuntu 20.04 MATLAB
# Explicitly pin the Ubuntu version to 20.04 for the time being because:
#
# 1. The version of GLIBCXX shipped with Ubuntu 22.04 is not binary compatible
# with the GLIBCXX bundled with MATLAB R2023a. This is a relatively common
# issue.
#
# For example, see:
#
# https://www.mathworks.com/matlabcentral/answers/1907290-how-to-manually-select-the-libstdc-library-to-use-to-resolve-a-version-glibcxx_-not-found
#
# 2. The version of GLIBCXX shipped with Ubuntu 22.04 is not binary compatible with
# the version of GLIBCXX shipped with Debian 11. Several of the Arrow community
# members who work on the MATLAB bindings use Debian 11 locally for qualification.
# Using Ubuntu 20.04 eases development workflows for these community members.
#
# In the future, we can investigate adding support for building against more Linux (e.g. `ubuntu-22.04`) and MATLAB versions (e.g. R2023b).
runs-on: ubuntu-20.04
name: AMD64 Ubuntu 22.04 MATLAB
runs-on: ubuntu-22.04
if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
steps:
- name: Check out repository
Expand Down Expand Up @@ -155,7 +139,7 @@ jobs:
runs-on: windows-2022
if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
steps:
- name: Check out repository
- name: Check out repository
uses: actions/checkout@v4
with:
fetch-depth: 0
Expand Down
12 changes: 6 additions & 6 deletions dev/tasks/matlab/github.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@
jobs:

ubuntu:
name: AMD64 Ubuntu 20.04 MATLAB
runs-on: ubuntu-20.04
name: AMD64 Ubuntu 22.04 MATLAB
runs-on: ubuntu-22.04
steps:
{{ macros.github_checkout_arrow()|indent }}
- name: Install ninja-build
Expand All @@ -37,13 +37,13 @@ jobs:
{{ macros.github_set_sccache_envvars()|indent(8) }}
run: arrow/ci/scripts/matlab_build.sh $(pwd)/arrow
- name: Change shared library dependency name
# MATLAB's programmatic packaging interface does not properly
# MATLAB's programmatic packaging interface does not properly
# include symbolic link files in the package MLTBX - this is a
# bug. As a temporary workaround, change the expected name of the
# bug. As a temporary workaround, change the expected name of the
# Arrow C++ library which libarrowproxy.so depends on. For example,
# change libarrow.so.1500 to libarrow.so.1500.0.0.
run: |
pushd arrow/matlab/install/arrow_matlab/+libmexclass/+proxy/
pushd arrow/matlab/install/arrow_matlab/+libmexclass/+proxy/
SYMLINK_ARROW_LIB="$(find . -name 'libarrow.so.*' -type l | xargs basename)"
REGULAR_ARROW_LIB="$(echo libarrow.so.*.*)"
echo "SYMLINK_ARROW_LIB = ${SYMLINK_ARROW_LIB}"
Expand Down Expand Up @@ -139,7 +139,7 @@ jobs:
tar -xzvf matlab-arrow-macos-x64.tar.gz
tar -xzvf matlab-arrow-macos-arm64.tar.gz
tar -xzvf matlab-arrow-windows.tar.gz
- name: Copy LICENSE.txt and NOTICE.txt for packaging
- name: Copy LICENSE.txt and NOTICE.txt for packaging
run: |
cp arrow/LICENSE.txt arrow/matlab/install/arrow_matlab/LICENSE.txt
cp arrow/NOTICE.txt arrow/matlab/install/arrow_matlab/NOTICE.txt
Expand Down