diff --git a/.github/workflows/matlab.yml b/.github/workflows/matlab.yml index 17362206a81a7..2bdfd0743a547 100644 --- a/.github/workflows/matlab.yml +++ b/.github/workflows/matlab.yml @@ -75,7 +75,7 @@ jobs: - name: Install MATLAB uses: matlab-actions/setup-matlab@v2 with: - release: R2024a + release: R2024b - name: Install ccache run: sudo apt-get install ccache - name: Setup ccache @@ -123,7 +123,7 @@ jobs: - name: Install MATLAB uses: matlab-actions/setup-matlab@v2 with: - release: R2024a + release: R2024b - name: Install ccache run: brew install ccache - name: Setup ccache @@ -162,7 +162,7 @@ jobs: - name: Install MATLAB uses: matlab-actions/setup-matlab@v2 with: - release: R2024a + release: R2024b - name: Download Timezone Database shell: bash run: ci/scripts/download_tz_database.sh diff --git a/dev/archery/archery/crossbow/core.py b/dev/archery/archery/crossbow/core.py index 12571c0ff678c..d4ca6cbc5b5f0 100644 --- a/dev/archery/archery/crossbow/core.py +++ b/dev/archery/archery/crossbow/core.py @@ -803,6 +803,19 @@ def __init__(self, head, branch, remote, version, r_version, email=None): self.r_version = r_version self.no_rc_version = re.sub(r'-rc\d+\Z', '', version) self.no_rc_r_version = re.sub(r'-rc\d+\Z', '', r_version) + # MAJOR.MINOR.PATCH Versioning + # + # Excludes: + # + # 1. Release Candidate (RC) string components (e.g. -rc123) + # 2. Dev string components (e.g. .dev123) + # + # Example: + # + # '19.0.0.dev66' -> + # '19.0.0' + self.no_rc_no_dev_version = \ + re.sub(r'\.dev\d+\Z', '', self.no_rc_version) # Semantic Versioning 1.0.0: https://semver.org/spec/v1.0.0.html # # > A pre-release version number MAY be denoted by appending an @@ -1195,6 +1208,7 @@ def from_config(cls, config, target, tasks=None, groups=None, params=None): versions = { 'version': target.version, 'no_rc_version': target.no_rc_version, + 'no_rc_no_dev_version': target.no_rc_no_dev_version, 'no_rc_semver_version': target.no_rc_semver_version, 'no_rc_snapshot_version': target.no_rc_snapshot_version, 'r_version': target.r_version, diff --git a/dev/tasks/matlab/github.yml b/dev/tasks/matlab/github.yml index 73dd9b6d1a7a8..5de60c709ef30 100644 --- a/dev/tasks/matlab/github.yml +++ b/dev/tasks/matlab/github.yml @@ -31,7 +31,7 @@ jobs: - name: Install MATLAB uses: matlab-actions/setup-matlab@v2 with: - release: R2024a + release: R2024b - name: Build MATLAB Interface env: {{ macros.github_set_sccache_envvars()|indent(8) }} @@ -73,7 +73,7 @@ jobs: - name: Install MATLAB uses: matlab-actions/setup-matlab@v2 with: - release: R2024a + release: R2024b - name: Build MATLAB Interface env: {{ macros.github_set_sccache_envvars()|indent(8) }} @@ -99,7 +99,7 @@ jobs: - name: Install MATLAB uses: matlab-actions/setup-matlab@v2 with: - release: R2024a + release: R2024b - name: Install sccache shell: bash run: arrow/ci/scripts/install_sccache.sh pc-windows-msvc $(pwd)/sccache @@ -146,13 +146,13 @@ jobs: - name: Install MATLAB uses: matlab-actions/setup-matlab@v2 with: - release: R2024a + release: R2024b - name: Run commands env: MATLABPATH: arrow/matlab/tools ARROW_MATLAB_TOOLBOX_FOLDER: arrow/matlab/install/arrow_matlab ARROW_MATLAB_TOOLBOX_OUTPUT_FOLDER: artifacts/matlab-dist - ARROW_MATLAB_TOOLBOX_VERSION: {{ arrow.no_rc_version }} + ARROW_MATLAB_TOOLBOX_VERSION: {{ arrow.no_rc_no_dev_version }} uses: matlab-actions/run-command@v2 with: command: packageMatlabInterface diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index 31d260bbfd5d8..12dcfc1eddbd4 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -693,7 +693,7 @@ tasks: ci: github template: matlab/github.yml artifacts: - - matlab-arrow-{no_rc_version}.mltbx + - matlab-arrow-{no_rc_no_dev_version}.mltbx ############################## Arrow JAR's ################################## diff --git a/matlab/tools/cmake/BuildMatlabArrowInterface.cmake b/matlab/tools/cmake/BuildMatlabArrowInterface.cmake index 5ed68ec246ee5..8016cbf261b7c 100644 --- a/matlab/tools/cmake/BuildMatlabArrowInterface.cmake +++ b/matlab/tools/cmake/BuildMatlabArrowInterface.cmake @@ -24,7 +24,7 @@ set(MATLAB_ARROW_LIBMEXCLASS_CLIENT_FETCH_CONTENT_NAME libmexclass) # libmexclass is accessible for CI without permission issues. set(MATLAB_ARROW_LIBMEXCLASS_CLIENT_FETCH_CONTENT_GIT_REPOSITORY "https://github.com/mathworks/libmexclass.git") # Use a specific Git commit hash to avoid libmexclass version changing unexpectedly. -set(MATLAB_ARROW_LIBMEXCLASS_CLIENT_FETCH_CONTENT_GIT_TAG "ca3cea6") +set(MATLAB_ARROW_LIBMEXCLASS_CLIENT_FETCH_CONTENT_GIT_TAG "cac7c3630a086bd5ba41413af44c833cef189c09") set(MATLAB_ARROW_LIBMEXCLASS_CLIENT_FETCH_CONTENT_SOURCE_SUBDIR "libmexclass/cpp") # ------------------------------------------ diff --git a/matlab/tools/packageMatlabInterface.m b/matlab/tools/packageMatlabInterface.m index 5c82763b25f8a..a90b84186d558 100644 --- a/matlab/tools/packageMatlabInterface.m +++ b/matlab/tools/packageMatlabInterface.m @@ -17,7 +17,11 @@ toolboxFolder = string(getenv("ARROW_MATLAB_TOOLBOX_FOLDER")); outputFolder = string(getenv("ARROW_MATLAB_TOOLBOX_OUTPUT_FOLDER")); -toolboxVersionRaw = string(getenv("ARROW_MATLAB_TOOLBOX_VERSION")); +toolboxVersion = string(getenv("ARROW_MATLAB_TOOLBOX_VERSION")); +if isempty(toolboxVersion) + error("ARROW_MATLAB_TOOLBOX_VERSION environment variable value is empty." + ... + "ARROW_MATLAB_TOOLBOX_VERSION should follow the general form: ${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}."; +end appendLicenseText(fullfile(toolboxFolder, "LICENSE.txt")); appendNoticeText(fullfile(toolboxFolder, "NOTICE.txt")); @@ -27,13 +31,7 @@ disp("Toolbox Folder: " + toolboxFolder); disp("Output Folder: " + outputFolder); -disp("Toolbox Version Raw: " + toolboxVersionRaw); - -versionPattern = regexpPattern("^[0-9]+\.[0-9]+\.[0-9]+"); -toolboxVersion = extract(toolboxVersionRaw, versionPattern); -if isempty(toolboxVersion) - error("Unable to extract MAJOR.MINOR.PATCH version string from " + toolboxVersionRaw); -end +disp("Toolbox Version: " + toolboxVersion); disp("Toolbox Version:" + toolboxVersion); @@ -85,4 +83,4 @@ function appendNoticeText(filename) "This product includes software from The MathWorks, Inc. (Apache 2.0)" " * Copyright (C) 2024 The MathWorks, Inc."]; writelines(noticeText, filename, WriteMode="append"); -end \ No newline at end of file +end