From 4e2be3d53ae8fd7b4b418b3e6745b365fa812b43 Mon Sep 17 00:00:00 2001 From: pshnghng0318 Date: Wed, 6 May 2026 12:27:58 +0800 Subject: [PATCH 01/13] run icd on macos-26 --- .github/workflows/all_stages_icd_tests.yml | 102 +++++++++---------- .github/workflows/icd_tests.yml | 102 +++++++++---------- .github/workflows/single_stage_icd_tests.yml | 102 +++++++++---------- 3 files changed, 153 insertions(+), 153 deletions(-) diff --git a/.github/workflows/all_stages_icd_tests.yml b/.github/workflows/all_stages_icd_tests.yml index a1bc1d0..d03b6d4 100644 --- a/.github/workflows/all_stages_icd_tests.yml +++ b/.github/workflows/all_stages_icd_tests.yml @@ -19,15 +19,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -63,8 +63,8 @@ jobs: uname -a sw_vers - - name: Build carta-backend (macOS-14) - if: matrix.os_version == 'macOS-14' + - name: Build carta-backend (macOS-15) + if: matrix.os_version == 'macOS-15' shell: bash run: | export CC=/usr/local/Cellar/llvm/20.1.3/bin/clang @@ -88,7 +88,7 @@ jobs: make -j 16 - name: Build carta-backend (macOS) - if: matrix.os == 'macos' && matrix.os_version != 'macOS-14' + if: matrix.os == 'macos' && matrix.os_version != 'macOS-15' shell: bash run: | SRC_DIR=$GITHUB_WORKSPACE/source @@ -155,15 +155,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -235,15 +235,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -290,15 +290,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -345,15 +345,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -400,15 +400,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -455,15 +455,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -510,15 +510,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -565,15 +565,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -620,15 +620,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -675,15 +675,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -730,15 +730,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -785,15 +785,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -840,15 +840,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -895,15 +895,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -950,15 +950,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] diff --git a/.github/workflows/icd_tests.yml b/.github/workflows/icd_tests.yml index f701c23..af74071 100644 --- a/.github/workflows/icd_tests.yml +++ b/.github/workflows/icd_tests.yml @@ -48,15 +48,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -92,8 +92,8 @@ jobs: uname -a sw_vers - - name: Build carta-backend (macOS-14) - if: matrix.os_version == 'macOS-14' + - name: Build carta-backend (macOS-15) + if: matrix.os_version == 'macOS-15' shell: bash run: | export CC=/usr/local/Cellar/llvm/20.1.3/bin/clang @@ -117,7 +117,7 @@ jobs: make -j 16 - name: Build carta-backend (macOS) - if: matrix.os == 'macos' && matrix.os_version != 'macOS-14' + if: matrix.os == 'macos' && matrix.os_version != 'macOS-15' shell: bash run: | SRC_DIR=$GITHUB_WORKSPACE/source @@ -184,15 +184,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -264,15 +264,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -320,15 +320,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -376,15 +376,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -432,15 +432,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -488,15 +488,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -544,15 +544,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -600,15 +600,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -656,15 +656,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -712,15 +712,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -768,15 +768,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -824,15 +824,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -880,15 +880,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -936,15 +936,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -992,15 +992,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] diff --git a/.github/workflows/single_stage_icd_tests.yml b/.github/workflows/single_stage_icd_tests.yml index 3f72033..d9f828b 100644 --- a/.github/workflows/single_stage_icd_tests.yml +++ b/.github/workflows/single_stage_icd_tests.yml @@ -38,15 +38,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -82,8 +82,8 @@ jobs: uname -a sw_vers - - name: Build carta-backend (macOS-14) - if: matrix.os_version == 'macOS-14' + - name: Build carta-backend (macOS-15) + if: matrix.os_version == 'macOS-15' shell: bash run: | export CC=/usr/local/Cellar/llvm/20.1.3/bin/clang @@ -107,7 +107,7 @@ jobs: make -j 16 - name: Build carta-backend (macOS) - if: matrix.os == 'macos' && matrix.os_version != 'macOS-14' + if: matrix.os == 'macos' && matrix.os_version != 'macOS-15' shell: bash run: | SRC_DIR=$GITHUB_WORKSPACE/source @@ -174,15 +174,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -254,15 +254,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -310,15 +310,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -366,15 +366,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -422,15 +422,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -478,15 +478,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -534,15 +534,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -590,15 +590,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -646,15 +646,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -702,15 +702,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -758,15 +758,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -814,15 +814,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -870,15 +870,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -926,15 +926,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] @@ -982,15 +982,15 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-13 - os: macos - runner: [macOS-13, ICD] - os_version: macOS-14 os: macos runner: [macOS-14, ICD] - os_version: macOS-15 os: macos runner: [macOS-15, ICD] + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] - os_version: ubuntu-22.04 os: linux runner: [self-hosted, Linux, Apptainer, ICD2] From 7fa7d125ade97c3ca9036b051fbdf57179b84cc4 Mon Sep 17 00:00:00 2001 From: pshnghng0318 Date: Wed, 6 May 2026 13:15:53 +0800 Subject: [PATCH 02/13] run icd on macos-26 --- .github/workflows/icd_tests_onMacOS26.yml | 684 ++++++++++++++++++++++ 1 file changed, 684 insertions(+) create mode 100644 .github/workflows/icd_tests_onMacOS26.yml diff --git a/.github/workflows/icd_tests_onMacOS26.yml b/.github/workflows/icd_tests_onMacOS26.yml new file mode 100644 index 0000000..e83408d --- /dev/null +++ b/.github/workflows/icd_tests_onMacOS26.yml @@ -0,0 +1,684 @@ +name: ICD tests on ICD-RxJS repo +on: + workflow_dispatch: + inputs: + # Can only define up to 10 inputs in a workflow_dispatch event + carta_backend_branch: + description: 'carta-backend branch to use' + required: true + default: 'dev' + file_browser_animator_icd_tests: + description: 'File-Browser and Animator' + required: false + type: boolean + region_statistics_manipulation_icd_tests: + description: 'Region-Statistics and Region-Manipulation' + required: false + type: boolean + cube_histogram_pv_generator_icd_tests: + description: 'Cube-Histogram and PV-Generator' + required: false + type: boolean + raster_tiles_catalog_icd_tests: + description: 'Raster-Tiles and Catalog' + required: false + type: boolean + moment_match_icd_tests: + description: 'Moment and Match' + required: false + type: boolean + close_files_image_fitting_icd_tests: + description: 'Close-File and Image-Fitting' + required: false + type: boolean + vector_overlay_resume_icd_tests: + description: 'Vector-Overlay and Resume' + required: false + type: boolean + +env: + CARTA_BACKEND_BRANCH_NAME: ${{ inputs.carta_backend_branch }} + +jobs: + Build: + name: Build ${{ matrix.os_version }} + runs-on: ${{ matrix.runner }} + timeout-minutes: 10 + strategy: + fail-fast: false + matrix: + include: + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + repository: CARTAvis/carta-backend + ref: ${{ env.CARTA_BACKEND_BRANCH_NAME }} + path: source + + - name: System information (macOS) + if: matrix.os == 'macos' + shell: bash + run: | + uname -a + sw_vers + + - name: Build carta-backend (macOS-15) + if: matrix.os_version == 'macOS-15' + shell: bash + run: | + export CC=/usr/local/Cellar/llvm/20.1.3/bin/clang + export CXX=/usr/local/Cellar/llvm/20.1.3/bin/clang++ + export PROTOBUF_ROOT=$(brew --prefix protobuf@21) + export PATH="$PROTOBUF_ROOT/bin:$PATH" + export LIBRARY_PATH="$PROTOBUF_ROOT/lib:$LIBRARY_PATH" + export CMAKE_PREFIX_PATH="$PROTOBUF_ROOT:$CMAKE_PREFIX_PATH" + export PKG_CONFIG_PATH="$PROTOBUF_ROOT/lib/pkgconfig:$PKG_CONFIG_PATH" + SRC_DIR=$GITHUB_WORKSPACE/source + BUILD_DIR=$GITHUB_WORKSPACE/build + cd $SRC_DIR && git submodule update --init + rm -rf $BUILD_DIR && mkdir -p $BUILD_DIR + cd $BUILD_DIR + cmake $SRC_DIR \ + -Dtest=on \ + -DCMAKE_BUILD_TYPE=Debug \ + -DDevSuppressExternalWarnings=ON \ + -DCMAKE_CXX_FLAGS="-O0 -g -fsanitize=address -fno-omit-frame-pointer" \ + -DCMAKE_EXE_LINKER_FLAGS="-fsanitize=address" + make -j 16 + + - name: Build carta-backend (macOS) + if: matrix.os == 'macos' && matrix.os_version != 'macOS-15' + shell: bash + run: | + SRC_DIR=$GITHUB_WORKSPACE/source + BUILD_DIR=$GITHUB_WORKSPACE/build + cd $SRC_DIR && git submodule update --init + rm -rf $BUILD_DIR && mkdir -p $BUILD_DIR + cd $BUILD_DIR + cmake $SRC_DIR \ + -Dtest=on \ + -DCMAKE_BUILD_TYPE=Debug \ + -DDevSuppressExternalWarnings=ON \ + -DCMAKE_CXX_FLAGS="-O0 -g -fsanitize=address -fno-omit-frame-pointer" \ + -DCMAKE_EXE_LINKER_FLAGS="-fsanitize=address" + make -j 16 + + - name: Build carta-backend (Linux) + if: matrix.os == 'linux' + shell: bash + run: | + SRC_DIR=$GITHUB_WORKSPACE/source + BUILD_DIR=$GITHUB_WORKSPACE/build-${{ matrix.os_version }} + rm -rf $BUILD_DIR && mkdir -p $BUILD_DIR + cd source ; git submodule update --init + apptainer exec --bind $GITHUB_WORKSPACE:$GITHUB_WORKSPACE --pwd $SRC_DIR ${{ matrix.image }} /bin/bash -c "\ + cd $BUILD_DIR && \ + if [ -f /opt/carta-cfitsio-v450-curl/lib64/pkgconfig/cfitsio.pc ]; then \ + CFITSIO_ROOT=/opt/carta-cfitsio-v450-curl; \ + BUILD_PATH=\$CFITSIO_ROOT/lib64; \ + export PKG_CONFIG_PATH=\$CFITSIO_ROOT/lib64/pkgconfig; \ + export LD_LIBRARY_PATH=\$CFITSIO_ROOT/lib64:\$LD_LIBRARY_PATH; \ + export LIBRARY_PATH=\$CFITSIO_ROOT/lib64:\$LIBRARY_PATH; \ + else \ + CFITSIO_ROOT=''; \ + BUILD_PATH=''; \ + fi && \ + cmake $SRC_DIR \ + -Dtest=on \ + -DCMAKE_BUILD_TYPE=Debug \ + -DDevSuppressExternalWarnings=ON \ + \${BUILD_PATH:+-DCMAKE_BUILD_RPATH=\$BUILD_PATH} \ + \${CFITSIO_ROOT:+-DCFITSIO_ROOT=\$CFITSIO_ROOT} \ + -DCMAKE_CXX_FLAGS='-O0 -g -fsanitize=address -fno-omit-frame-pointer' \ + -DCMAKE_EXE_LINKER_FLAGS='-fsanitize=address' && \ + make -j 16" + + - name: Check backend runs (macOS) + if: matrix.os == 'macos' + shell: bash + run: | + ./build/carta_backend --version + + - name: Check backend runs (Linux) + if: matrix.os == 'linux' + shell: bash + run: | + BUILD_DIR=$GITHUB_WORKSPACE/build-${{ matrix.os_version }} + apptainer exec --bind $GITHUB_WORKSPACE:$GITHUB_WORKSPACE --pwd $BUILD_DIR ${{ matrix.image }} /bin/bash -c "./carta_backend --version" + + Prepare-ICD-RxJS: + name: Prepare-ICD-RxJS ${{ matrix.os_version }} + runs-on: ${{ matrix.runner }} + timeout-minutes: 5 + strategy: + fail-fast: false + matrix: + include: + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] + needs: Build + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + path: ICD-RxJS + + - name: System information (macOS) + if: matrix.os == 'macos' + shell: bash + run: | + uname -a + sw_vers + + - name: Prepare ICD-RxJS (macOS) + if: matrix.os == 'macos' + shell: bash + run: | + ICD_DIR=$GITHUB_WORKSPACE/ICD-RxJS + cd $ICD_DIR + git submodule init && git submodule update && npm install + cd protobuf + ./build_proto.sh + cd ../src/test + perl -p -i -e 's/3002/5555/' config.json + + - name: Prepare ICD-RxJS (Linux) + if: matrix.os == 'linux' + shell: bash + run: | + BUILD_DIR=$GITHUB_WORKSPACE/build-${{ matrix.os_version }} + ICD_DIR=$GITHUB_WORKSPACE/ICD-RxJS + cp -r $ICD_DIR $BUILD_DIR + cd $BUILD_DIR/ICD-RxJS + git submodule update --init --recursive + apptainer exec --bind $GITHUB_WORKSPACE:$GITHUB_WORKSPACE --pwd $BUILD_DIR ${{ matrix.image }} /bin/bash -c "\ + cd ICD-RxJS && \ + npm install && \ + cd protobuf && \ + ./build_proto.sh && \ + cd ../src/test && \ + perl -p -i -e 's/3002/${{ matrix.port }}/' config.json" + + File-Browser-ICD-Tests: + name: File-Browser ${{ matrix.os_version }} + runs-on: ${{ matrix.runner }} + timeout-minutes: 5 + strategy: + fail-fast: false + matrix: + include: + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] + needs: [Build, Prepare-ICD-RxJS] + if: ${{ github.event.inputs.file_browser_animator_icd_tests == 'true' }} + steps: + # macOS steps + - name: File Browser ICD tests + if: matrix.os == 'macos' + uses: ./source/.github/actions/run-macos + with: + test_stage_name: 'file_browser' + # Linux steps + - name: File Browser ICD tests + if: matrix.os == 'linux' + uses: ./source/.github/actions/run-apptainer + with: + os_version: ${{ matrix.os_version }} + image: ${{ matrix.image }} + port: ${{ matrix.port }} + test_stage_name: 'file_browser' + + Animator-ICD-Tests: + name: Animator ${{ matrix.os_version }} + runs-on: ${{ matrix.runner }} + timeout-minutes: 5 + strategy: + fail-fast: false + matrix: + include: + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] + needs: [Build, Prepare-ICD-RxJS] + if: ${{ github.event.inputs.file_browser_animator_icd_tests == 'true' }} + steps: + # macOS steps + - name: Animator ICD tests + if: matrix.os == 'macos' + uses: ./source/.github/actions/run-macos + with: + test_stage_name: 'animator' + # Linux steps + - name: Animator ICD tests + if: matrix.os == 'linux' + uses: ./source/.github/actions/run-apptainer + with: + os_version: ${{ matrix.os_version }} + image: ${{ matrix.image }} + port: ${{ matrix.port }} + test_stage_name: 'animator' + + Region-Statistics-ICD-Tests: + name: Region Statistics ${{ matrix.os_version }} + runs-on: ${{ matrix.runner }} + timeout-minutes: 5 + strategy: + fail-fast: false + matrix: + include: + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] + needs: [Build, Prepare-ICD-RxJS] + if: ${{ github.event.inputs.region_statistics_manipulation_icd_tests == 'true' }} + steps: + # macOS steps + - name: Region-Statistics ICD tests + if: matrix.os == 'macos' + uses: ./source/.github/actions/run-macos + with: + test_stage_name: 'region_statistics' + # Linux steps + - name: Region-Statistics ICD tests + if: matrix.os == 'linux' + uses: ./source/.github/actions/run-apptainer + with: + os_version: ${{ matrix.os_version }} + image: ${{ matrix.image }} + port: ${{ matrix.port }} + test_stage_name: 'region_statistics' + + Region-Manipulation-ICD-Tests: + name: Region Manipulation ${{ matrix.os_version }} + runs-on: ${{ matrix.runner }} + timeout-minutes: 5 + strategy: + fail-fast: false + matrix: + include: + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] + needs: [Build, Prepare-ICD-RxJS] + if: ${{ github.event.inputs.region_statistics_manipulation_icd_tests == 'true' }} + steps: + # macOS steps + - name: Region Manipulation ICD tests + if: matrix.os == 'macos' + uses: ./source/.github/actions/run-macos + with: + test_stage_name: 'region_manipulation' + # Linux steps + - name: Region Manipulation ICD tests + if: matrix.os == 'linux' + uses: ./source/.github/actions/run-apptainer + with: + os_version: ${{ matrix.os_version }} + image: ${{ matrix.image }} + port: ${{ matrix.port }} + test_stage_name: 'region_manipulation' + + Cube-Histogram-ICD-Tests: + name: Cube Histogram ${{ matrix.os_version }} + runs-on: ${{ matrix.runner }} + timeout-minutes: 10 + strategy: + fail-fast: false + matrix: + include: + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] + needs: [Build, Prepare-ICD-RxJS] + if: ${{ github.event.inputs.cube_histogram_pv_generator_icd_tests == 'true' }} + steps: + # macOS steps + - name: Cube Histogram ICD tests + if: matrix.os == 'macos' + uses: ./source/.github/actions/run-macos + with: + test_stage_name: 'cube_histogram' + # Linux steps + - name: Cube Histogram ICD tests + if: matrix.os == 'linux' + uses: ./source/.github/actions/run-apptainer + with: + os_version: ${{ matrix.os_version }} + image: ${{ matrix.image }} + port: ${{ matrix.port }} + test_stage_name: 'cube_histogram' + + PV-Generator-ICD-Tests: + name: PV Generator ${{ matrix.os_version }} + runs-on: ${{ matrix.runner }} + timeout-minutes: 10 + strategy: + fail-fast: false + matrix: + include: + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] + needs: [Build, Prepare-ICD-RxJS] + if: ${{ github.event.inputs.cube_histogram_pv_generator_icd_tests == 'true' }} + steps: + # macOS steps + - name: PV Generator ICD tests + if: matrix.os == 'macos' + uses: ./source/.github/actions/run-macos + with: + test_stage_name: 'pv_generator' + # Linux steps + - name: PV Generator ICD tests + if: matrix.os == 'linux' + uses: ./source/.github/actions/run-apptainer + with: + os_version: ${{ matrix.os_version }} + image: ${{ matrix.image }} + port: ${{ matrix.port }} + test_stage_name: 'pv_generator' + + Raster-Tiles-ICD-Tests: + name: Raster Tiles ${{ matrix.os_version }} + runs-on: ${{ matrix.runner }} + timeout-minutes: 5 + strategy: + fail-fast: false + matrix: + include: + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] + needs: [Build, Prepare-ICD-RxJS] + if: ${{ github.event.inputs.raster_tiles_catalog_icd_tests == 'true' }} + steps: + # macOS steps + - name: Raster Tiles ICD tests + if: matrix.os == 'macos' + uses: ./source/.github/actions/run-macos + with: + test_stage_name: 'raster_tiles' + # Linux steps + - name: Raster Tiles ICD tests + if: matrix.os == 'linux' + uses: ./source/.github/actions/run-apptainer + with: + os_version: ${{ matrix.os_version }} + image: ${{ matrix.image }} + port: ${{ matrix.port }} + test_stage_name: 'raster_tiles' + + Catalog-ICD-Tests: + name: Catalog ${{ matrix.os_version }} + runs-on: ${{ matrix.runner }} + timeout-minutes: 5 + strategy: + fail-fast: false + matrix: + include: + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] + needs: [Build, Prepare-ICD-RxJS] + if: ${{ github.event.inputs.raster_tiles_catalog_icd_tests == 'true' }} + steps: + # macOS steps + - name: Catalog ICD tests + if: matrix.os == 'macos' + uses: ./source/.github/actions/run-macos + with: + test_stage_name: 'catalog' + # Linux steps + - name: Catalog ICD tests + if: matrix.os == 'linux' + uses: ./source/.github/actions/run-apptainer + with: + os_version: ${{ matrix.os_version }} + image: ${{ matrix.image }} + port: ${{ matrix.port }} + test_stage_name: 'catalog' + + Moment-ICD-Tests: + name: Moment ${{ matrix.os_version }} + runs-on: ${{ matrix.runner }} + timeout-minutes: 5 + strategy: + fail-fast: false + matrix: + include: + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] + needs: [Build, Prepare-ICD-RxJS] + if: ${{ github.event.inputs.moment_match_icd_tests == 'true' }} + steps: + # macOS steps + - name: Moment ICD tests + if: matrix.os == 'macos' + uses: ./source/.github/actions/run-macos + with: + test_stage_name: 'moment' + # Linux steps + - name: Moment ICD tests + if: matrix.os == 'linux' + uses: ./source/.github/actions/run-apptainer + with: + os_version: ${{ matrix.os_version }} + image: ${{ matrix.image }} + port: ${{ matrix.port }} + test_stage_name: 'moment' + + Match-ICD-Tests: + name: Match ${{ matrix.os_version }} + runs-on: ${{ matrix.runner }} + timeout-minutes: 5 + strategy: + fail-fast: false + matrix: + include: + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] + needs: [Build, Prepare-ICD-RxJS] + if: ${{ github.event.inputs.moment_match_icd_tests == 'true' }} + steps: + # macOS steps + - name: Match ICD tests + if: matrix.os == 'macos' + uses: ./source/.github/actions/run-macos + with: + test_stage_name: 'match' + # Linux steps + - name: Match ICD tests + if: matrix.os == 'linux' + uses: ./source/.github/actions/run-apptainer + with: + os_version: ${{ matrix.os_version }} + image: ${{ matrix.image }} + port: ${{ matrix.port }} + test_stage_name: 'match' + + Close-File-ICD-Tests: + name: Close File ${{ matrix.os_version }} + runs-on: ${{ matrix.runner }} + timeout-minutes: 5 + strategy: + fail-fast: false + matrix: + include: + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] + needs: [Build, Prepare-ICD-RxJS] + if: ${{ github.event.inputs.close_files_image_fitting_icd_tests == 'true' }} + steps: + # macOS steps + - name: Close File ICD tests + if: matrix.os == 'macos' + uses: ./source/.github/actions/run-macos + with: + test_stage_name: 'close_file' + # Linux steps + - name: Close File ICD tests + if: matrix.os == 'linux' + uses: ./source/.github/actions/run-apptainer + with: + os_version: ${{ matrix.os_version }} + image: ${{ matrix.image }} + port: ${{ matrix.port }} + test_stage_name: 'close_file' + + Image-Fitting-ICD-Tests: + name: Image Fitting ${{ matrix.os_version }} + runs-on: ${{ matrix.runner }} + timeout-minutes: 10 + strategy: + fail-fast: false + matrix: + include: + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] + needs: [Build, Prepare-ICD-RxJS] + if: ${{ github.event.inputs.close_files_image_fitting_icd_tests == 'true' }} + steps: + # macOS steps + - name: Image Fitting ICD tests + if: matrix.os == 'macos' + uses: ./source/.github/actions/run-macos + with: + test_stage_name: 'image_fitting' + # Linux steps + - name: Image Fitting ICD tests + if: matrix.os == 'linux' + uses: ./source/.github/actions/run-apptainer + with: + os_version: ${{ matrix.os_version }} + image: ${{ matrix.image }} + port: ${{ matrix.port }} + test_stage_name: 'image_fitting' + + Vector-Overlay-ICD-Tests: + name: Vector Overlay ${{ matrix.os_version }} + runs-on: ${{ matrix.runner }} + timeout-minutes: 5 + strategy: + fail-fast: false + matrix: + include: + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] + needs: [Build, Prepare-ICD-RxJS] + if: ${{ github.event.inputs.vector_overlay_resume_icd_tests == 'true' }} + steps: + # macOS steps + - name: Vector Overlay ICD tests + if: matrix.os == 'macos' + uses: ./source/.github/actions/run-macos + with: + test_stage_name: 'vector_overlay' + # Linux steps + - name: Vector Overlay ICD tests + if: matrix.os == 'linux' + uses: ./source/.github/actions/run-apptainer + with: + os_version: ${{ matrix.os_version }} + image: ${{ matrix.image }} + port: ${{ matrix.port }} + test_stage_name: 'vector_overlay' + + Resume-ICD-Tests: + name: Resume ${{ matrix.os_version }} + runs-on: ${{ matrix.runner }} + timeout-minutes: 5 + strategy: + fail-fast: false + matrix: + include: + - os_version: macOS-26 + os: macos + runner: [macOS-26, ICD] + needs: [Build, Prepare-ICD-RxJS] + if: ${{ github.event.inputs.vector_overlay_resume_icd_tests == 'true' }} + steps: + # macOS steps + - name: Resume ICD tests + if: matrix.os == 'macos' + uses: ./source/.github/actions/run-macos + with: + test_stage_name: 'resume' + # Linux steps + - name: Resume ICD tests + if: matrix.os == 'linux' + uses: ./source/.github/actions/run-apptainer + with: + os_version: ${{ matrix.os_version }} + image: ${{ matrix.image }} + port: ${{ matrix.port }} + test_stage_name: 'resume' + + NotifyEmail: + name: Send email on failure + runs-on: ubuntu-latest + needs: + - Build + - Prepare-ICD-RxJS + - File-Browser-ICD-Tests + - Animator-ICD-Tests + - Region-Statistics-ICD-Tests + - Region-Manipulation-ICD-Tests + - Cube-Histogram-ICD-Tests + - PV-Generator-ICD-Tests + - Raster-Tiles-ICD-Tests + - Catalog-ICD-Tests + - Moment-ICD-Tests + - Match-ICD-Tests + - Close-File-ICD-Tests + - Image-Fitting-ICD-Tests + - Vector-Overlay-ICD-Tests + - Resume-ICD-Tests + if: failure() + steps: + - name: Send email notification + uses: dawidd6/action-send-mail@v3 + with: + server_address: smtp.gmail.com + server_port: 465 + username: ${{ secrets.MAIL_USERNAME }} + password: ${{ secrets.MAIL_PASSWORD }} + subject: "CARTA ICD Failed: ${{ github.repository }} @ ${{ github.ref }}" + to: ${{ secrets.MAIL_TO }} ${{ secrets.MAIL_USERNAME }} + from: "CARTA ICD <${{ secrets.MAIL_USERNAME }}>" + body: | + Workflow failed + + Repository: ${{ github.repository }} + Branch/Ref: ${{ github.ref }} + Workflow: ${{ github.workflow }} + Run ID: ${{ github.run_id }} + URL: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} + + Failed jobs: + - Build: ${{ needs['Build'].result }} + - Prepare-ICD-RxJS: ${{ needs['Prepare-ICD-RxJS'].result }} + - File-Browser-ICD-Tests: ${{ needs['File-Browser-ICD-Tests'].result }} + - Animator-ICD-Tests: ${{ needs['Animator-ICD-Tests'].result }} + - Region-Statistics-ICD-Tests: ${{ needs['Region-Statistics-ICD-Tests'].result }} + - Region-Manipulation-ICD-Tests: ${{ needs['Region-Manipulation-ICD-Tests'].result }} + - Cube-Histogram-ICD-Tests: ${{ needs['Cube-Histogram-ICD-Tests'].result }} + - PV-Generator-ICD-Tests: ${{ needs['PV-Generator-ICD-Tests'].result }} + - Raster-Tiles-ICD-Tests: ${{ needs['Raster-Tiles-ICD-Tests'].result }} + - Catalog-ICD-Tests: ${{ needs['Catalog-ICD-Tests'].result }} + - Moment-ICD-Tests: ${{ needs['Moment-ICD-Tests'].result }} + - Match-ICD-Tests: ${{ needs['Match-ICD-Tests'].result }} + - Close-File-ICD-Tests: ${{ needs['Close-File-ICD-Tests'].result }} + - Image-Fitting-ICD-Tests: ${{ needs['Image-Fitting-ICD-Tests'].result }} + - Vector-Overlay-ICD-Tests: ${{ needs['Vector-Overlay-ICD-Tests'].result }} + - Resume-ICD-Tests: ${{ needs['Resume-ICD-Tests'].result }} From e2be0a4aa43e6b587ee85788c337cd752bffdbc9 Mon Sep 17 00:00:00 2001 From: pshnghng0318 Date: Wed, 6 May 2026 13:21:23 +0800 Subject: [PATCH 03/13] run icd on macos-26 --- .github/workflows/icd_tests_onMacOS26.yml | 684 ---------------------- 1 file changed, 684 deletions(-) delete mode 100644 .github/workflows/icd_tests_onMacOS26.yml diff --git a/.github/workflows/icd_tests_onMacOS26.yml b/.github/workflows/icd_tests_onMacOS26.yml deleted file mode 100644 index e83408d..0000000 --- a/.github/workflows/icd_tests_onMacOS26.yml +++ /dev/null @@ -1,684 +0,0 @@ -name: ICD tests on ICD-RxJS repo -on: - workflow_dispatch: - inputs: - # Can only define up to 10 inputs in a workflow_dispatch event - carta_backend_branch: - description: 'carta-backend branch to use' - required: true - default: 'dev' - file_browser_animator_icd_tests: - description: 'File-Browser and Animator' - required: false - type: boolean - region_statistics_manipulation_icd_tests: - description: 'Region-Statistics and Region-Manipulation' - required: false - type: boolean - cube_histogram_pv_generator_icd_tests: - description: 'Cube-Histogram and PV-Generator' - required: false - type: boolean - raster_tiles_catalog_icd_tests: - description: 'Raster-Tiles and Catalog' - required: false - type: boolean - moment_match_icd_tests: - description: 'Moment and Match' - required: false - type: boolean - close_files_image_fitting_icd_tests: - description: 'Close-File and Image-Fitting' - required: false - type: boolean - vector_overlay_resume_icd_tests: - description: 'Vector-Overlay and Resume' - required: false - type: boolean - -env: - CARTA_BACKEND_BRANCH_NAME: ${{ inputs.carta_backend_branch }} - -jobs: - Build: - name: Build ${{ matrix.os_version }} - runs-on: ${{ matrix.runner }} - timeout-minutes: 10 - strategy: - fail-fast: false - matrix: - include: - - os_version: macOS-26 - os: macos - runner: [macOS-26, ICD] - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - repository: CARTAvis/carta-backend - ref: ${{ env.CARTA_BACKEND_BRANCH_NAME }} - path: source - - - name: System information (macOS) - if: matrix.os == 'macos' - shell: bash - run: | - uname -a - sw_vers - - - name: Build carta-backend (macOS-15) - if: matrix.os_version == 'macOS-15' - shell: bash - run: | - export CC=/usr/local/Cellar/llvm/20.1.3/bin/clang - export CXX=/usr/local/Cellar/llvm/20.1.3/bin/clang++ - export PROTOBUF_ROOT=$(brew --prefix protobuf@21) - export PATH="$PROTOBUF_ROOT/bin:$PATH" - export LIBRARY_PATH="$PROTOBUF_ROOT/lib:$LIBRARY_PATH" - export CMAKE_PREFIX_PATH="$PROTOBUF_ROOT:$CMAKE_PREFIX_PATH" - export PKG_CONFIG_PATH="$PROTOBUF_ROOT/lib/pkgconfig:$PKG_CONFIG_PATH" - SRC_DIR=$GITHUB_WORKSPACE/source - BUILD_DIR=$GITHUB_WORKSPACE/build - cd $SRC_DIR && git submodule update --init - rm -rf $BUILD_DIR && mkdir -p $BUILD_DIR - cd $BUILD_DIR - cmake $SRC_DIR \ - -Dtest=on \ - -DCMAKE_BUILD_TYPE=Debug \ - -DDevSuppressExternalWarnings=ON \ - -DCMAKE_CXX_FLAGS="-O0 -g -fsanitize=address -fno-omit-frame-pointer" \ - -DCMAKE_EXE_LINKER_FLAGS="-fsanitize=address" - make -j 16 - - - name: Build carta-backend (macOS) - if: matrix.os == 'macos' && matrix.os_version != 'macOS-15' - shell: bash - run: | - SRC_DIR=$GITHUB_WORKSPACE/source - BUILD_DIR=$GITHUB_WORKSPACE/build - cd $SRC_DIR && git submodule update --init - rm -rf $BUILD_DIR && mkdir -p $BUILD_DIR - cd $BUILD_DIR - cmake $SRC_DIR \ - -Dtest=on \ - -DCMAKE_BUILD_TYPE=Debug \ - -DDevSuppressExternalWarnings=ON \ - -DCMAKE_CXX_FLAGS="-O0 -g -fsanitize=address -fno-omit-frame-pointer" \ - -DCMAKE_EXE_LINKER_FLAGS="-fsanitize=address" - make -j 16 - - - name: Build carta-backend (Linux) - if: matrix.os == 'linux' - shell: bash - run: | - SRC_DIR=$GITHUB_WORKSPACE/source - BUILD_DIR=$GITHUB_WORKSPACE/build-${{ matrix.os_version }} - rm -rf $BUILD_DIR && mkdir -p $BUILD_DIR - cd source ; git submodule update --init - apptainer exec --bind $GITHUB_WORKSPACE:$GITHUB_WORKSPACE --pwd $SRC_DIR ${{ matrix.image }} /bin/bash -c "\ - cd $BUILD_DIR && \ - if [ -f /opt/carta-cfitsio-v450-curl/lib64/pkgconfig/cfitsio.pc ]; then \ - CFITSIO_ROOT=/opt/carta-cfitsio-v450-curl; \ - BUILD_PATH=\$CFITSIO_ROOT/lib64; \ - export PKG_CONFIG_PATH=\$CFITSIO_ROOT/lib64/pkgconfig; \ - export LD_LIBRARY_PATH=\$CFITSIO_ROOT/lib64:\$LD_LIBRARY_PATH; \ - export LIBRARY_PATH=\$CFITSIO_ROOT/lib64:\$LIBRARY_PATH; \ - else \ - CFITSIO_ROOT=''; \ - BUILD_PATH=''; \ - fi && \ - cmake $SRC_DIR \ - -Dtest=on \ - -DCMAKE_BUILD_TYPE=Debug \ - -DDevSuppressExternalWarnings=ON \ - \${BUILD_PATH:+-DCMAKE_BUILD_RPATH=\$BUILD_PATH} \ - \${CFITSIO_ROOT:+-DCFITSIO_ROOT=\$CFITSIO_ROOT} \ - -DCMAKE_CXX_FLAGS='-O0 -g -fsanitize=address -fno-omit-frame-pointer' \ - -DCMAKE_EXE_LINKER_FLAGS='-fsanitize=address' && \ - make -j 16" - - - name: Check backend runs (macOS) - if: matrix.os == 'macos' - shell: bash - run: | - ./build/carta_backend --version - - - name: Check backend runs (Linux) - if: matrix.os == 'linux' - shell: bash - run: | - BUILD_DIR=$GITHUB_WORKSPACE/build-${{ matrix.os_version }} - apptainer exec --bind $GITHUB_WORKSPACE:$GITHUB_WORKSPACE --pwd $BUILD_DIR ${{ matrix.image }} /bin/bash -c "./carta_backend --version" - - Prepare-ICD-RxJS: - name: Prepare-ICD-RxJS ${{ matrix.os_version }} - runs-on: ${{ matrix.runner }} - timeout-minutes: 5 - strategy: - fail-fast: false - matrix: - include: - - os_version: macOS-26 - os: macos - runner: [macOS-26, ICD] - needs: Build - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - path: ICD-RxJS - - - name: System information (macOS) - if: matrix.os == 'macos' - shell: bash - run: | - uname -a - sw_vers - - - name: Prepare ICD-RxJS (macOS) - if: matrix.os == 'macos' - shell: bash - run: | - ICD_DIR=$GITHUB_WORKSPACE/ICD-RxJS - cd $ICD_DIR - git submodule init && git submodule update && npm install - cd protobuf - ./build_proto.sh - cd ../src/test - perl -p -i -e 's/3002/5555/' config.json - - - name: Prepare ICD-RxJS (Linux) - if: matrix.os == 'linux' - shell: bash - run: | - BUILD_DIR=$GITHUB_WORKSPACE/build-${{ matrix.os_version }} - ICD_DIR=$GITHUB_WORKSPACE/ICD-RxJS - cp -r $ICD_DIR $BUILD_DIR - cd $BUILD_DIR/ICD-RxJS - git submodule update --init --recursive - apptainer exec --bind $GITHUB_WORKSPACE:$GITHUB_WORKSPACE --pwd $BUILD_DIR ${{ matrix.image }} /bin/bash -c "\ - cd ICD-RxJS && \ - npm install && \ - cd protobuf && \ - ./build_proto.sh && \ - cd ../src/test && \ - perl -p -i -e 's/3002/${{ matrix.port }}/' config.json" - - File-Browser-ICD-Tests: - name: File-Browser ${{ matrix.os_version }} - runs-on: ${{ matrix.runner }} - timeout-minutes: 5 - strategy: - fail-fast: false - matrix: - include: - - os_version: macOS-26 - os: macos - runner: [macOS-26, ICD] - needs: [Build, Prepare-ICD-RxJS] - if: ${{ github.event.inputs.file_browser_animator_icd_tests == 'true' }} - steps: - # macOS steps - - name: File Browser ICD tests - if: matrix.os == 'macos' - uses: ./source/.github/actions/run-macos - with: - test_stage_name: 'file_browser' - # Linux steps - - name: File Browser ICD tests - if: matrix.os == 'linux' - uses: ./source/.github/actions/run-apptainer - with: - os_version: ${{ matrix.os_version }} - image: ${{ matrix.image }} - port: ${{ matrix.port }} - test_stage_name: 'file_browser' - - Animator-ICD-Tests: - name: Animator ${{ matrix.os_version }} - runs-on: ${{ matrix.runner }} - timeout-minutes: 5 - strategy: - fail-fast: false - matrix: - include: - - os_version: macOS-26 - os: macos - runner: [macOS-26, ICD] - needs: [Build, Prepare-ICD-RxJS] - if: ${{ github.event.inputs.file_browser_animator_icd_tests == 'true' }} - steps: - # macOS steps - - name: Animator ICD tests - if: matrix.os == 'macos' - uses: ./source/.github/actions/run-macos - with: - test_stage_name: 'animator' - # Linux steps - - name: Animator ICD tests - if: matrix.os == 'linux' - uses: ./source/.github/actions/run-apptainer - with: - os_version: ${{ matrix.os_version }} - image: ${{ matrix.image }} - port: ${{ matrix.port }} - test_stage_name: 'animator' - - Region-Statistics-ICD-Tests: - name: Region Statistics ${{ matrix.os_version }} - runs-on: ${{ matrix.runner }} - timeout-minutes: 5 - strategy: - fail-fast: false - matrix: - include: - - os_version: macOS-26 - os: macos - runner: [macOS-26, ICD] - needs: [Build, Prepare-ICD-RxJS] - if: ${{ github.event.inputs.region_statistics_manipulation_icd_tests == 'true' }} - steps: - # macOS steps - - name: Region-Statistics ICD tests - if: matrix.os == 'macos' - uses: ./source/.github/actions/run-macos - with: - test_stage_name: 'region_statistics' - # Linux steps - - name: Region-Statistics ICD tests - if: matrix.os == 'linux' - uses: ./source/.github/actions/run-apptainer - with: - os_version: ${{ matrix.os_version }} - image: ${{ matrix.image }} - port: ${{ matrix.port }} - test_stage_name: 'region_statistics' - - Region-Manipulation-ICD-Tests: - name: Region Manipulation ${{ matrix.os_version }} - runs-on: ${{ matrix.runner }} - timeout-minutes: 5 - strategy: - fail-fast: false - matrix: - include: - - os_version: macOS-26 - os: macos - runner: [macOS-26, ICD] - needs: [Build, Prepare-ICD-RxJS] - if: ${{ github.event.inputs.region_statistics_manipulation_icd_tests == 'true' }} - steps: - # macOS steps - - name: Region Manipulation ICD tests - if: matrix.os == 'macos' - uses: ./source/.github/actions/run-macos - with: - test_stage_name: 'region_manipulation' - # Linux steps - - name: Region Manipulation ICD tests - if: matrix.os == 'linux' - uses: ./source/.github/actions/run-apptainer - with: - os_version: ${{ matrix.os_version }} - image: ${{ matrix.image }} - port: ${{ matrix.port }} - test_stage_name: 'region_manipulation' - - Cube-Histogram-ICD-Tests: - name: Cube Histogram ${{ matrix.os_version }} - runs-on: ${{ matrix.runner }} - timeout-minutes: 10 - strategy: - fail-fast: false - matrix: - include: - - os_version: macOS-26 - os: macos - runner: [macOS-26, ICD] - needs: [Build, Prepare-ICD-RxJS] - if: ${{ github.event.inputs.cube_histogram_pv_generator_icd_tests == 'true' }} - steps: - # macOS steps - - name: Cube Histogram ICD tests - if: matrix.os == 'macos' - uses: ./source/.github/actions/run-macos - with: - test_stage_name: 'cube_histogram' - # Linux steps - - name: Cube Histogram ICD tests - if: matrix.os == 'linux' - uses: ./source/.github/actions/run-apptainer - with: - os_version: ${{ matrix.os_version }} - image: ${{ matrix.image }} - port: ${{ matrix.port }} - test_stage_name: 'cube_histogram' - - PV-Generator-ICD-Tests: - name: PV Generator ${{ matrix.os_version }} - runs-on: ${{ matrix.runner }} - timeout-minutes: 10 - strategy: - fail-fast: false - matrix: - include: - - os_version: macOS-26 - os: macos - runner: [macOS-26, ICD] - needs: [Build, Prepare-ICD-RxJS] - if: ${{ github.event.inputs.cube_histogram_pv_generator_icd_tests == 'true' }} - steps: - # macOS steps - - name: PV Generator ICD tests - if: matrix.os == 'macos' - uses: ./source/.github/actions/run-macos - with: - test_stage_name: 'pv_generator' - # Linux steps - - name: PV Generator ICD tests - if: matrix.os == 'linux' - uses: ./source/.github/actions/run-apptainer - with: - os_version: ${{ matrix.os_version }} - image: ${{ matrix.image }} - port: ${{ matrix.port }} - test_stage_name: 'pv_generator' - - Raster-Tiles-ICD-Tests: - name: Raster Tiles ${{ matrix.os_version }} - runs-on: ${{ matrix.runner }} - timeout-minutes: 5 - strategy: - fail-fast: false - matrix: - include: - - os_version: macOS-26 - os: macos - runner: [macOS-26, ICD] - needs: [Build, Prepare-ICD-RxJS] - if: ${{ github.event.inputs.raster_tiles_catalog_icd_tests == 'true' }} - steps: - # macOS steps - - name: Raster Tiles ICD tests - if: matrix.os == 'macos' - uses: ./source/.github/actions/run-macos - with: - test_stage_name: 'raster_tiles' - # Linux steps - - name: Raster Tiles ICD tests - if: matrix.os == 'linux' - uses: ./source/.github/actions/run-apptainer - with: - os_version: ${{ matrix.os_version }} - image: ${{ matrix.image }} - port: ${{ matrix.port }} - test_stage_name: 'raster_tiles' - - Catalog-ICD-Tests: - name: Catalog ${{ matrix.os_version }} - runs-on: ${{ matrix.runner }} - timeout-minutes: 5 - strategy: - fail-fast: false - matrix: - include: - - os_version: macOS-26 - os: macos - runner: [macOS-26, ICD] - needs: [Build, Prepare-ICD-RxJS] - if: ${{ github.event.inputs.raster_tiles_catalog_icd_tests == 'true' }} - steps: - # macOS steps - - name: Catalog ICD tests - if: matrix.os == 'macos' - uses: ./source/.github/actions/run-macos - with: - test_stage_name: 'catalog' - # Linux steps - - name: Catalog ICD tests - if: matrix.os == 'linux' - uses: ./source/.github/actions/run-apptainer - with: - os_version: ${{ matrix.os_version }} - image: ${{ matrix.image }} - port: ${{ matrix.port }} - test_stage_name: 'catalog' - - Moment-ICD-Tests: - name: Moment ${{ matrix.os_version }} - runs-on: ${{ matrix.runner }} - timeout-minutes: 5 - strategy: - fail-fast: false - matrix: - include: - - os_version: macOS-26 - os: macos - runner: [macOS-26, ICD] - needs: [Build, Prepare-ICD-RxJS] - if: ${{ github.event.inputs.moment_match_icd_tests == 'true' }} - steps: - # macOS steps - - name: Moment ICD tests - if: matrix.os == 'macos' - uses: ./source/.github/actions/run-macos - with: - test_stage_name: 'moment' - # Linux steps - - name: Moment ICD tests - if: matrix.os == 'linux' - uses: ./source/.github/actions/run-apptainer - with: - os_version: ${{ matrix.os_version }} - image: ${{ matrix.image }} - port: ${{ matrix.port }} - test_stage_name: 'moment' - - Match-ICD-Tests: - name: Match ${{ matrix.os_version }} - runs-on: ${{ matrix.runner }} - timeout-minutes: 5 - strategy: - fail-fast: false - matrix: - include: - - os_version: macOS-26 - os: macos - runner: [macOS-26, ICD] - needs: [Build, Prepare-ICD-RxJS] - if: ${{ github.event.inputs.moment_match_icd_tests == 'true' }} - steps: - # macOS steps - - name: Match ICD tests - if: matrix.os == 'macos' - uses: ./source/.github/actions/run-macos - with: - test_stage_name: 'match' - # Linux steps - - name: Match ICD tests - if: matrix.os == 'linux' - uses: ./source/.github/actions/run-apptainer - with: - os_version: ${{ matrix.os_version }} - image: ${{ matrix.image }} - port: ${{ matrix.port }} - test_stage_name: 'match' - - Close-File-ICD-Tests: - name: Close File ${{ matrix.os_version }} - runs-on: ${{ matrix.runner }} - timeout-minutes: 5 - strategy: - fail-fast: false - matrix: - include: - - os_version: macOS-26 - os: macos - runner: [macOS-26, ICD] - needs: [Build, Prepare-ICD-RxJS] - if: ${{ github.event.inputs.close_files_image_fitting_icd_tests == 'true' }} - steps: - # macOS steps - - name: Close File ICD tests - if: matrix.os == 'macos' - uses: ./source/.github/actions/run-macos - with: - test_stage_name: 'close_file' - # Linux steps - - name: Close File ICD tests - if: matrix.os == 'linux' - uses: ./source/.github/actions/run-apptainer - with: - os_version: ${{ matrix.os_version }} - image: ${{ matrix.image }} - port: ${{ matrix.port }} - test_stage_name: 'close_file' - - Image-Fitting-ICD-Tests: - name: Image Fitting ${{ matrix.os_version }} - runs-on: ${{ matrix.runner }} - timeout-minutes: 10 - strategy: - fail-fast: false - matrix: - include: - - os_version: macOS-26 - os: macos - runner: [macOS-26, ICD] - needs: [Build, Prepare-ICD-RxJS] - if: ${{ github.event.inputs.close_files_image_fitting_icd_tests == 'true' }} - steps: - # macOS steps - - name: Image Fitting ICD tests - if: matrix.os == 'macos' - uses: ./source/.github/actions/run-macos - with: - test_stage_name: 'image_fitting' - # Linux steps - - name: Image Fitting ICD tests - if: matrix.os == 'linux' - uses: ./source/.github/actions/run-apptainer - with: - os_version: ${{ matrix.os_version }} - image: ${{ matrix.image }} - port: ${{ matrix.port }} - test_stage_name: 'image_fitting' - - Vector-Overlay-ICD-Tests: - name: Vector Overlay ${{ matrix.os_version }} - runs-on: ${{ matrix.runner }} - timeout-minutes: 5 - strategy: - fail-fast: false - matrix: - include: - - os_version: macOS-26 - os: macos - runner: [macOS-26, ICD] - needs: [Build, Prepare-ICD-RxJS] - if: ${{ github.event.inputs.vector_overlay_resume_icd_tests == 'true' }} - steps: - # macOS steps - - name: Vector Overlay ICD tests - if: matrix.os == 'macos' - uses: ./source/.github/actions/run-macos - with: - test_stage_name: 'vector_overlay' - # Linux steps - - name: Vector Overlay ICD tests - if: matrix.os == 'linux' - uses: ./source/.github/actions/run-apptainer - with: - os_version: ${{ matrix.os_version }} - image: ${{ matrix.image }} - port: ${{ matrix.port }} - test_stage_name: 'vector_overlay' - - Resume-ICD-Tests: - name: Resume ${{ matrix.os_version }} - runs-on: ${{ matrix.runner }} - timeout-minutes: 5 - strategy: - fail-fast: false - matrix: - include: - - os_version: macOS-26 - os: macos - runner: [macOS-26, ICD] - needs: [Build, Prepare-ICD-RxJS] - if: ${{ github.event.inputs.vector_overlay_resume_icd_tests == 'true' }} - steps: - # macOS steps - - name: Resume ICD tests - if: matrix.os == 'macos' - uses: ./source/.github/actions/run-macos - with: - test_stage_name: 'resume' - # Linux steps - - name: Resume ICD tests - if: matrix.os == 'linux' - uses: ./source/.github/actions/run-apptainer - with: - os_version: ${{ matrix.os_version }} - image: ${{ matrix.image }} - port: ${{ matrix.port }} - test_stage_name: 'resume' - - NotifyEmail: - name: Send email on failure - runs-on: ubuntu-latest - needs: - - Build - - Prepare-ICD-RxJS - - File-Browser-ICD-Tests - - Animator-ICD-Tests - - Region-Statistics-ICD-Tests - - Region-Manipulation-ICD-Tests - - Cube-Histogram-ICD-Tests - - PV-Generator-ICD-Tests - - Raster-Tiles-ICD-Tests - - Catalog-ICD-Tests - - Moment-ICD-Tests - - Match-ICD-Tests - - Close-File-ICD-Tests - - Image-Fitting-ICD-Tests - - Vector-Overlay-ICD-Tests - - Resume-ICD-Tests - if: failure() - steps: - - name: Send email notification - uses: dawidd6/action-send-mail@v3 - with: - server_address: smtp.gmail.com - server_port: 465 - username: ${{ secrets.MAIL_USERNAME }} - password: ${{ secrets.MAIL_PASSWORD }} - subject: "CARTA ICD Failed: ${{ github.repository }} @ ${{ github.ref }}" - to: ${{ secrets.MAIL_TO }} ${{ secrets.MAIL_USERNAME }} - from: "CARTA ICD <${{ secrets.MAIL_USERNAME }}>" - body: | - Workflow failed - - Repository: ${{ github.repository }} - Branch/Ref: ${{ github.ref }} - Workflow: ${{ github.workflow }} - Run ID: ${{ github.run_id }} - URL: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} - - Failed jobs: - - Build: ${{ needs['Build'].result }} - - Prepare-ICD-RxJS: ${{ needs['Prepare-ICD-RxJS'].result }} - - File-Browser-ICD-Tests: ${{ needs['File-Browser-ICD-Tests'].result }} - - Animator-ICD-Tests: ${{ needs['Animator-ICD-Tests'].result }} - - Region-Statistics-ICD-Tests: ${{ needs['Region-Statistics-ICD-Tests'].result }} - - Region-Manipulation-ICD-Tests: ${{ needs['Region-Manipulation-ICD-Tests'].result }} - - Cube-Histogram-ICD-Tests: ${{ needs['Cube-Histogram-ICD-Tests'].result }} - - PV-Generator-ICD-Tests: ${{ needs['PV-Generator-ICD-Tests'].result }} - - Raster-Tiles-ICD-Tests: ${{ needs['Raster-Tiles-ICD-Tests'].result }} - - Catalog-ICD-Tests: ${{ needs['Catalog-ICD-Tests'].result }} - - Moment-ICD-Tests: ${{ needs['Moment-ICD-Tests'].result }} - - Match-ICD-Tests: ${{ needs['Match-ICD-Tests'].result }} - - Close-File-ICD-Tests: ${{ needs['Close-File-ICD-Tests'].result }} - - Image-Fitting-ICD-Tests: ${{ needs['Image-Fitting-ICD-Tests'].result }} - - Vector-Overlay-ICD-Tests: ${{ needs['Vector-Overlay-ICD-Tests'].result }} - - Resume-ICD-Tests: ${{ needs['Resume-ICD-Tests'].result }} From 372bc5024bac8a5023778ef1af91fab25d77ccfc Mon Sep 17 00:00:00 2001 From: pshnghng0318 Date: Wed, 6 May 2026 13:42:48 +0800 Subject: [PATCH 04/13] run icd on macos-26 --- .github/workflows/all_stages_icd_tests.yml | 6 +++--- .github/workflows/icd_tests.yml | 6 +++--- .github/workflows/single_stage_icd_tests.yml | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/all_stages_icd_tests.yml b/.github/workflows/all_stages_icd_tests.yml index d03b6d4..05b091d 100644 --- a/.github/workflows/all_stages_icd_tests.yml +++ b/.github/workflows/all_stages_icd_tests.yml @@ -63,8 +63,8 @@ jobs: uname -a sw_vers - - name: Build carta-backend (macOS-15) - if: matrix.os_version == 'macOS-15' + - name: Build carta-backend (macOS-14) + if: matrix.os_version == 'macOS-14' shell: bash run: | export CC=/usr/local/Cellar/llvm/20.1.3/bin/clang @@ -88,7 +88,7 @@ jobs: make -j 16 - name: Build carta-backend (macOS) - if: matrix.os == 'macos' && matrix.os_version != 'macOS-15' + if: matrix.os == 'macos' && matrix.os_version != 'macOS-14' shell: bash run: | SRC_DIR=$GITHUB_WORKSPACE/source diff --git a/.github/workflows/icd_tests.yml b/.github/workflows/icd_tests.yml index af74071..f49dbcb 100644 --- a/.github/workflows/icd_tests.yml +++ b/.github/workflows/icd_tests.yml @@ -92,8 +92,8 @@ jobs: uname -a sw_vers - - name: Build carta-backend (macOS-15) - if: matrix.os_version == 'macOS-15' + - name: Build carta-backend (macOS-14) + if: matrix.os_version == 'macOS-14' shell: bash run: | export CC=/usr/local/Cellar/llvm/20.1.3/bin/clang @@ -117,7 +117,7 @@ jobs: make -j 16 - name: Build carta-backend (macOS) - if: matrix.os == 'macos' && matrix.os_version != 'macOS-15' + if: matrix.os == 'macos' && matrix.os_version != 'macOS-14' shell: bash run: | SRC_DIR=$GITHUB_WORKSPACE/source diff --git a/.github/workflows/single_stage_icd_tests.yml b/.github/workflows/single_stage_icd_tests.yml index d9f828b..2c20768 100644 --- a/.github/workflows/single_stage_icd_tests.yml +++ b/.github/workflows/single_stage_icd_tests.yml @@ -82,8 +82,8 @@ jobs: uname -a sw_vers - - name: Build carta-backend (macOS-15) - if: matrix.os_version == 'macOS-15' + - name: Build carta-backend (macOS-14) + if: matrix.os_version == 'macOS-14' shell: bash run: | export CC=/usr/local/Cellar/llvm/20.1.3/bin/clang @@ -107,7 +107,7 @@ jobs: make -j 16 - name: Build carta-backend (macOS) - if: matrix.os == 'macos' && matrix.os_version != 'macOS-15' + if: matrix.os == 'macos' && matrix.os_version != 'macOS-14' shell: bash run: | SRC_DIR=$GITHUB_WORKSPACE/source From b4cf492efea1ebc4775fc9971eb13444c154a440 Mon Sep 17 00:00:00 2001 From: pshnghng0318 Date: Wed, 6 May 2026 15:28:17 +0800 Subject: [PATCH 05/13] run icd on macos-26 --- .github/workflows/icd_tests.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/icd_tests.yml b/.github/workflows/icd_tests.yml index f49dbcb..3fe6dae 100644 --- a/.github/workflows/icd_tests.yml +++ b/.github/workflows/icd_tests.yml @@ -120,6 +120,8 @@ jobs: if: matrix.os == 'macos' && matrix.os_version != 'macOS-14' shell: bash run: | + export PATH="/opt/homebrew/bin:$PATH" + export Protobuf_ROOT="/opt/homebrew/opt/protobuf@21" SRC_DIR=$GITHUB_WORKSPACE/source BUILD_DIR=$GITHUB_WORKSPACE/build cd $SRC_DIR && git submodule update --init From 83b78e2e3b4ce820a6d68a6f6759fe74c3300013 Mon Sep 17 00:00:00 2001 From: pshnghng0318 Date: Tue, 19 May 2026 13:06:56 +0800 Subject: [PATCH 06/13] run icd on macos-26 --- .github/workflows/all_stages_icd_tests.yml | 1 + .github/workflows/icd_tests.yml | 5 +- .github/workflows/single_stage_icd_tests.yml | 1 + src/test/IMAGE_FITTING_BAD.test.ts | 122 +++++++++++++++++++ 4 files changed, 126 insertions(+), 3 deletions(-) diff --git a/.github/workflows/all_stages_icd_tests.yml b/.github/workflows/all_stages_icd_tests.yml index 05b091d..2d41621 100644 --- a/.github/workflows/all_stages_icd_tests.yml +++ b/.github/workflows/all_stages_icd_tests.yml @@ -91,6 +91,7 @@ jobs: if: matrix.os == 'macos' && matrix.os_version != 'macOS-14' shell: bash run: | + export Protobuf_ROOT="/opt/homebrew/opt/protobuf@21" SRC_DIR=$GITHUB_WORKSPACE/source BUILD_DIR=$GITHUB_WORKSPACE/build cd $SRC_DIR && git submodule update --init diff --git a/.github/workflows/icd_tests.yml b/.github/workflows/icd_tests.yml index 3fe6dae..76d4f20 100644 --- a/.github/workflows/icd_tests.yml +++ b/.github/workflows/icd_tests.yml @@ -79,7 +79,7 @@ jobs: port: 9005 steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: repository: CARTAvis/carta-backend ref: ${{ env.CARTA_BACKEND_BRANCH_NAME }} @@ -120,7 +120,6 @@ jobs: if: matrix.os == 'macos' && matrix.os_version != 'macOS-14' shell: bash run: | - export PATH="/opt/homebrew/bin:$PATH" export Protobuf_ROOT="/opt/homebrew/opt/protobuf@21" SRC_DIR=$GITHUB_WORKSPACE/source BUILD_DIR=$GITHUB_WORKSPACE/build @@ -218,7 +217,7 @@ jobs: needs: Build steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: path: ICD-RxJS diff --git a/.github/workflows/single_stage_icd_tests.yml b/.github/workflows/single_stage_icd_tests.yml index 2c20768..5773a97 100644 --- a/.github/workflows/single_stage_icd_tests.yml +++ b/.github/workflows/single_stage_icd_tests.yml @@ -110,6 +110,7 @@ jobs: if: matrix.os == 'macos' && matrix.os_version != 'macOS-14' shell: bash run: | + export Protobuf_ROOT="/opt/homebrew/opt/protobuf@21" SRC_DIR=$GITHUB_WORKSPACE/source BUILD_DIR=$GITHUB_WORKSPACE/build cd $SRC_DIR && git submodule update --init diff --git a/src/test/IMAGE_FITTING_BAD.test.ts b/src/test/IMAGE_FITTING_BAD.test.ts index 191b46b..4b14301 100644 --- a/src/test/IMAGE_FITTING_BAD.test.ts +++ b/src/test/IMAGE_FITTING_BAD.test.ts @@ -25,6 +25,7 @@ interface AssertItem { fittingResponseMacOS13M1: CARTA.IFittingResponse[]; fittingResponseMacOS14Intel: CARTA.IFittingResponse[]; fittingResponseMacOS15M1: CARTA.IFittingResponse[]; + fittingResponseMacOS26M1: CARTA.IFittingResponse[]; fittingResponseLinux: CARTA.IFittingResponse[]; precisionDigits: number; } @@ -366,6 +367,45 @@ let assertItem: AssertItem = { message: 'exceeded max number of iterations', }, ], + fittingResponseMacOS26M1: [ + { + resultValues: [ + { + center: { x: 116.31369946305503, y: 284.23462476726297 }, + amp: 22.12829836659118, + fwhm: { x: -2.4318180151342417, y: -0.004330957756786921 }, + pa: 133.73792912297432, + }, + { + center: { x: 324.3524987938526, y: 324.34918203704683 }, + amp: 9.997331578861056, + fwhm: { x: 29.40216567491421, y: 117.4850448687386 }, + pa: 0.5446955482204604, + }, + ], + resultErrors: [ + { + center: {}, + fwhm: {}, + }, + { + center: { + x: 1.1714809697842197e-10, + y: 2.933890362251915e-11, + }, + amp: 2.34753928031256e-11, + fwhm: { + x: 6.904116193771595e-11, + y: 2.7587437257939583e-10, + }, + pa: 5.079872634449951e-11, + }, + ], + success: true, + log: 'Gaussian fitting with 2 component', + message: 'exceeded max number of iterations', + }, + ], fittingResponseRhel8: [ { resultValues: [ @@ -1039,6 +1079,88 @@ describe('IMAGE_FITTING_FITS test: Testing Image Fitting (with and without fov) expect(response.log).toContain(assertItem.fittingResponseMacOS15M1[0].log); expect(response.message).toContain(assertItem.fittingResponseMacOS15M1[0].message); + } else if (Math.floor(MacOSNumber) === 26 && platformOS === 'macOS' && MacChipM1 === true) { + expect(response.resultValues[0].center.x).toBeCloseTo( + assertItem.fittingResponseMacOS26M1[0].resultValues[0].center.x, + assertItem.precisionDigits + ); + expect(response.resultValues[0].center.y).toBeCloseTo( + assertItem.fittingResponseMacOS26M1[0].resultValues[0].center.y, + assertItem.precisionDigits + ); + expect(response.resultValues[0].amp).toBeCloseTo( + assertItem.fittingResponseMacOS26M1[0].resultValues[0].amp, + assertItem.precisionDigits + ); + expect(response.resultValues[0].fwhm.x).toBeCloseTo( + assertItem.fittingResponseMacOS26M1[0].resultValues[0].fwhm.x, + assertItem.precisionDigits + ); + expect(response.resultValues[0].fwhm.y).toBeCloseTo( + assertItem.fittingResponseMacOS26M1[0].resultValues[0].fwhm.y, + assertItem.precisionDigits + ); + expect(response.resultValues[0].pa).toBeCloseTo( + assertItem.fittingResponseMacOS26M1[0].resultValues[0].pa, + assertItem.precisionDigits + ); + expect(response.resultValues[1].center.x).toBeCloseTo( + assertItem.fittingResponseMacOS26M1[0].resultValues[1].center.x, + assertItem.precisionDigits + ); + expect(response.resultValues[1].center.y).toBeCloseTo( + assertItem.fittingResponseMacOS26M1[0].resultValues[1].center.y, + assertItem.precisionDigits + ); + expect(response.resultValues[1].amp).toBeCloseTo( + assertItem.fittingResponseMacOS26M1[0].resultValues[1].amp, + assertItem.precisionDigits + ); + expect(response.resultValues[1].fwhm.x).toBeCloseTo( + assertItem.fittingResponseMacOS26M1[0].resultValues[1].fwhm.x, + assertItem.precisionDigits + ); + expect(response.resultValues[1].fwhm.y).toBeCloseTo( + assertItem.fittingResponseMacOS26M1[0].resultValues[1].fwhm.y, + assertItem.precisionDigits + ); + expect(response.resultValues[1].pa).toBeCloseTo( + assertItem.fittingResponseMacOS26M1[0].resultValues[1].pa, + assertItem.precisionDigits + ); + expect(response.success).toEqual(assertItem.fittingResponseMacOS26M1[0].success); + + expect(response.resultErrors[0].center.x).toBeCloseTo(0); + expect(response.resultErrors[0].center.y).toBeCloseTo(0); + expect(response.resultErrors[0].fwhm.x).toBeCloseTo(0); + expect(response.resultErrors[0].fwhm.y).toBeCloseTo(0); + expect(response.resultErrors[1].center.x).toBeCloseTo( + assertItem.fittingResponseMacOS26M1[0].resultErrors[1].center.x, + assertItem.precisionDigits + ); + expect(response.resultErrors[1].center.y).toBeCloseTo( + assertItem.fittingResponseMacOS26M1[0].resultErrors[1].center.y, + assertItem.precisionDigits + ); + expect(response.resultErrors[1].amp).toBeCloseTo( + assertItem.fittingResponseMacOS26M1[0].resultErrors[1].amp, + assertItem.precisionDigits + ); + expect(response.resultErrors[1].fwhm.x).toBeCloseTo( + assertItem.fittingResponseMacOS26M1[0].resultErrors[1].fwhm.x, + assertItem.precisionDigits + ); + expect(response.resultErrors[1].fwhm.y).toBeCloseTo( + assertItem.fittingResponseMacOS26M1[0].resultErrors[1].fwhm.y, + assertItem.precisionDigits + ); + expect(response.resultErrors[1].pa).toBeCloseTo( + assertItem.fittingResponseMacOS26M1[0].resultErrors[1].pa, + assertItem.precisionDigits + ); + + expect(response.log).toContain(assertItem.fittingResponseMacOS26M1[0].log); + expect(response.message).toContain(assertItem.fittingResponseMacOS26M1[0].message); } else if (platformOS === 'Linux' && isRhel8 === true) { expect(response.resultValues[0].center.x).toBeCloseTo( assertItem.fittingResponseRhel8[0].resultValues[0].center.x, From 352ed77b699629644727d7c5e382d782c21374e6 Mon Sep 17 00:00:00 2001 From: pshnghng0318 Date: Tue, 19 May 2026 13:11:50 +0800 Subject: [PATCH 07/13] run icd on macos-26 --- src/test/OPEN_SWAPPED_IMAGES.test.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/test/OPEN_SWAPPED_IMAGES.test.ts b/src/test/OPEN_SWAPPED_IMAGES.test.ts index 9f9de6a..d363523 100644 --- a/src/test/OPEN_SWAPPED_IMAGES.test.ts +++ b/src/test/OPEN_SWAPPED_IMAGES.test.ts @@ -584,7 +584,6 @@ describe('OPEN_SWAPPED_IMAGES test: Testing open swapped images in different axe expect(RasterTileData.length).toEqual(assertItem.addTilesReq[2].tiles.length + 2); expect(RasterTileData.slice(-1)[0].endSync).toEqual(true); msgController.setSpatialRequirements(assertItem.setSpatialRequirements[3]); - msgController.setSpatialRequirements(assertItem.setSpatialRequirements[1]); msgController.setSpatialRequirements(assertItem.setSpatialRequirements[4]); }); From c635b20015ea0afd4c865cd88c6a4272ae7a3e19 Mon Sep 17 00:00:00 2001 From: pshnghng0318 Date: Tue, 19 May 2026 13:43:44 +0800 Subject: [PATCH 08/13] run icd on macos-26 --- .github/workflows/all_stages_icd_tests.yml | 4 ++-- .github/workflows/single_stage_icd_tests.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/all_stages_icd_tests.yml b/.github/workflows/all_stages_icd_tests.yml index 2d41621..fb1e8e8 100644 --- a/.github/workflows/all_stages_icd_tests.yml +++ b/.github/workflows/all_stages_icd_tests.yml @@ -50,7 +50,7 @@ jobs: port: 9005 steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: repository: CARTAvis/carta-backend ref: ${{ env.CARTA_BACKEND_BRANCH_NAME }} @@ -188,7 +188,7 @@ jobs: needs: Build steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: path: ICD-RxJS diff --git a/.github/workflows/single_stage_icd_tests.yml b/.github/workflows/single_stage_icd_tests.yml index 5773a97..c71883c 100644 --- a/.github/workflows/single_stage_icd_tests.yml +++ b/.github/workflows/single_stage_icd_tests.yml @@ -69,7 +69,7 @@ jobs: port: 9005 steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: repository: CARTAvis/carta-backend ref: ${{ env.CARTA_BACKEND_BRANCH_NAME }} @@ -207,7 +207,7 @@ jobs: needs: Build steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: path: ICD-RxJS From 2d85a8782da816e056f7c8b7ca7294c7848c150a Mon Sep 17 00:00:00 2001 From: pshnghng0318 Date: Tue, 19 May 2026 14:56:31 +0800 Subject: [PATCH 09/13] run icd on macos-26 --- src/test/IMAGE_FITTING_BAD.test.ts | 54 +++++++++++++++--------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/src/test/IMAGE_FITTING_BAD.test.ts b/src/test/IMAGE_FITTING_BAD.test.ts index 4b14301..14a3596 100644 --- a/src/test/IMAGE_FITTING_BAD.test.ts +++ b/src/test/IMAGE_FITTING_BAD.test.ts @@ -555,36 +555,36 @@ describe('IMAGE_FITTING_FITS test: Testing Image Fitting (with and without fov) `Send Image fitting request and match the result`, async () => { let response = await msgController.requestFitting(assertItem.fittingRequest[0]); - // console.log(MacOSNumber); - // console.log(platformOS); + console.log(MacOSNumber); + console.log(platformOS); - // console.log('response.resultValues[0].center.x', response.resultValues[0].center.x); - // console.log('response.resultValues[0].center.y', response.resultValues[0].center.y); - // console.log('response.resultValues[0].amp', response.resultValues[0].amp); - // console.log('response.resultValues[0].fwhm.x', response.resultValues[0].fwhm.x); - // console.log('response.resultValues[0].fwhm.y', response.resultValues[0].fwhm.y); - // console.log('response.resultValues[0].pa', response.resultValues[0].pa); - // console.log('response.resultValues[1].center.x', response.resultValues[1].center.x); - // console.log('response.resultValues[1].center.y', response.resultValues[1].center.y); - // console.log('response.resultValues[1].amp', response.resultValues[1].amp); - // console.log('response.resultValues[1].fwhm.x', response.resultValues[1].fwhm.x); - // console.log('response.resultValues[1].fwhm.y', response.resultValues[1].fwhm.y); - // console.log('response.resultValues[1].pa', response.resultValues[1].pa); - // console.log('response.success', response.success); + console.log('response.resultValues[0].center.x', response.resultValues[0].center.x); + console.log('response.resultValues[0].center.y', response.resultValues[0].center.y); + console.log('response.resultValues[0].amp', response.resultValues[0].amp); + console.log('response.resultValues[0].fwhm.x', response.resultValues[0].fwhm.x); + console.log('response.resultValues[0].fwhm.y', response.resultValues[0].fwhm.y); + console.log('response.resultValues[0].pa', response.resultValues[0].pa); + console.log('response.resultValues[1].center.x', response.resultValues[1].center.x); + console.log('response.resultValues[1].center.y', response.resultValues[1].center.y); + console.log('response.resultValues[1].amp', response.resultValues[1].amp); + console.log('response.resultValues[1].fwhm.x', response.resultValues[1].fwhm.x); + console.log('response.resultValues[1].fwhm.y', response.resultValues[1].fwhm.y); + console.log('response.resultValues[1].pa', response.resultValues[1].pa); + console.log('response.success', response.success); - // console.log('response.resultErrors[0].center.x', response.resultErrors[0].center.x); - // console.log('response.resultErrors[0].center.y', response.resultErrors[0].center.y); - // console.log('response.resultErrors[0].fwhm.x', response.resultErrors[0].fwhm.x); - // console.log('response.resultErrors[0].fwhm.y', response.resultErrors[0].fwhm.y); - // console.log('response.resultErrors[1].center.x', response.resultErrors[1].center.x); - // console.log('response.resultErrors[1].center.y', response.resultErrors[1].center.y); - // console.log('response.resultErrors[1].amp', response.resultErrors[1].amp); - // console.log('response.resultErrors[1].fwhm.x', response.resultErrors[1].fwhm.x); - // console.log('response.resultErrors[1].fwhm.y', response.resultErrors[1].fwhm.y); - // console.log('response.resultErrors[1].pa', response.resultErrors[1].pa); + console.log('response.resultErrors[0].center.x', response.resultErrors[0].center.x); + console.log('response.resultErrors[0].center.y', response.resultErrors[0].center.y); + console.log('response.resultErrors[0].fwhm.x', response.resultErrors[0].fwhm.x); + console.log('response.resultErrors[0].fwhm.y', response.resultErrors[0].fwhm.y); + console.log('response.resultErrors[1].center.x', response.resultErrors[1].center.x); + console.log('response.resultErrors[1].center.y', response.resultErrors[1].center.y); + console.log('response.resultErrors[1].amp', response.resultErrors[1].amp); + console.log('response.resultErrors[1].fwhm.x', response.resultErrors[1].fwhm.x); + console.log('response.resultErrors[1].fwhm.y', response.resultErrors[1].fwhm.y); + console.log('response.resultErrors[1].pa', response.resultErrors[1].pa); - // console.log('response.log', response.log); - // console.log('response.message', response.message); + console.log('response.log', response.log); + console.log('response.message', response.message); if (MacOSNumber === '11.6.1' && platformOS === 'macOS') { expect(response.resultValues[0].center.x).toBeCloseTo( From 19349da808b70f3300f54a97e8349dedd272ddbe Mon Sep 17 00:00:00 2001 From: pshnghng0318 Date: Tue, 19 May 2026 14:59:13 +0800 Subject: [PATCH 10/13] check image fitting on macos26 --- .github/workflows/single_stage_icd_tests.yml | 145 ------------------- 1 file changed, 145 deletions(-) diff --git a/.github/workflows/single_stage_icd_tests.yml b/.github/workflows/single_stage_icd_tests.yml index c71883c..66d4998 100644 --- a/.github/workflows/single_stage_icd_tests.yml +++ b/.github/workflows/single_stage_icd_tests.yml @@ -38,35 +38,9 @@ jobs: fail-fast: false matrix: include: - - os_version: macOS-14 - os: macos - runner: [macOS-14, ICD] - - os_version: macOS-15 - os: macos - runner: [macOS-15, ICD] - os_version: macOS-26 os: macos runner: [macOS-26, ICD] - - os_version: ubuntu-22.04 - os: linux - runner: [self-hosted, Linux, Apptainer, ICD2] - image: /opt/apptainer/ubuntu-2204-mar2026.sif - port: 9002 - - os_version: ubuntu-24.04 - os: linux - runner: [self-hosted, Linux, Apptainer, ICD6] - image: /opt/apptainer/ubuntu-2404-mar2026.sif - port: 9006 - - os_version: rhel-8 - os: linux - runner: [self-hosted, Linux, Apptainer, ICD4] - image: /opt/apptainer/almalinux8-mar2026.sif - port: 9004 - - os_version: rhel-9 - os: linux - runner: [self-hosted, Linux, Apptainer, ICD5] - image: /opt/apptainer/almalinux9-mar2026.sif - port: 9005 steps: - name: Checkout uses: actions/checkout@v6 @@ -82,30 +56,6 @@ jobs: uname -a sw_vers - - name: Build carta-backend (macOS-14) - if: matrix.os_version == 'macOS-14' - shell: bash - run: | - export CC=/usr/local/Cellar/llvm/20.1.3/bin/clang - export CXX=/usr/local/Cellar/llvm/20.1.3/bin/clang++ - export PROTOBUF_ROOT=$(brew --prefix protobuf@21) - export PATH="$PROTOBUF_ROOT/bin:$PATH" - export LIBRARY_PATH="$PROTOBUF_ROOT/lib:$LIBRARY_PATH" - export CMAKE_PREFIX_PATH="$PROTOBUF_ROOT:$CMAKE_PREFIX_PATH" - export PKG_CONFIG_PATH="$PROTOBUF_ROOT/lib/pkgconfig:$PKG_CONFIG_PATH" - SRC_DIR=$GITHUB_WORKSPACE/source - BUILD_DIR=$GITHUB_WORKSPACE/build - cd $SRC_DIR && git submodule update --init - rm -rf $BUILD_DIR && mkdir -p $BUILD_DIR - cd $BUILD_DIR - cmake $SRC_DIR \ - -Dtest=on \ - -DCMAKE_BUILD_TYPE=Debug \ - -DDevSuppressExternalWarnings=ON \ - -DCMAKE_CXX_FLAGS="-O0 -g -fsanitize=address -fno-omit-frame-pointer" \ - -DCMAKE_EXE_LINKER_FLAGS="-fsanitize=address" - make -j 16 - - name: Build carta-backend (macOS) if: matrix.os == 'macos' && matrix.os_version != 'macOS-14' shell: bash @@ -124,49 +74,12 @@ jobs: -DCMAKE_EXE_LINKER_FLAGS="-fsanitize=address" make -j 16 - - name: Build carta-backend (Linux) - if: matrix.os == 'linux' - shell: bash - run: | - SRC_DIR=$GITHUB_WORKSPACE/source - BUILD_DIR=$GITHUB_WORKSPACE/build-${{ matrix.os_version }} - rm -rf $BUILD_DIR && mkdir -p $BUILD_DIR - cd source ; git submodule update --init - apptainer exec --bind $GITHUB_WORKSPACE:$GITHUB_WORKSPACE --pwd $SRC_DIR ${{ matrix.image }} /bin/bash -c "\ - cd $BUILD_DIR && \ - if [ -f /opt/carta-cfitsio-v450-curl/lib64/pkgconfig/cfitsio.pc ]; then \ - CFITSIO_ROOT=/opt/carta-cfitsio-v450-curl; \ - BUILD_PATH=\$CFITSIO_ROOT/lib64; \ - export PKG_CONFIG_PATH=\$CFITSIO_ROOT/lib64/pkgconfig; \ - export LD_LIBRARY_PATH=\$CFITSIO_ROOT/lib64:\$LD_LIBRARY_PATH; \ - export LIBRARY_PATH=\$CFITSIO_ROOT/lib64:\$LIBRARY_PATH; \ - else \ - CFITSIO_ROOT=''; \ - BUILD_PATH=''; \ - fi && \ - cmake $SRC_DIR \ - -Dtest=on \ - -DCMAKE_BUILD_TYPE=Debug \ - -DDevSuppressExternalWarnings=ON \ - \${BUILD_PATH:+-DCMAKE_BUILD_RPATH=\$BUILD_PATH} \ - \${CFITSIO_ROOT:+-DCFITSIO_ROOT=\$CFITSIO_ROOT} \ - -DCMAKE_CXX_FLAGS='-O0 -g -fsanitize=address -fno-omit-frame-pointer' \ - -DCMAKE_EXE_LINKER_FLAGS='-fsanitize=address' && \ - make -j 16" - - name: Check backend runs (macOS) if: matrix.os == 'macos' shell: bash run: | ./build/carta_backend --version - - name: Check backend runs (Linux) - if: matrix.os == 'linux' - shell: bash - run: | - BUILD_DIR=$GITHUB_WORKSPACE/build-${{ matrix.os_version }} - apptainer exec --bind $GITHUB_WORKSPACE:$GITHUB_WORKSPACE --pwd $BUILD_DIR ${{ matrix.image }} /bin/bash -c "./carta_backend --version" - Prepare-ICD-RxJS: name: Prepare-ICD-RxJS ${{ matrix.os_version }} runs-on: ${{ matrix.runner }} @@ -1031,61 +944,3 @@ jobs: port: ${{ matrix.port }} test_stage_name: 'resume' - NotifyEmail: - name: Send email on failure - runs-on: ubuntu-latest - needs: - - Build - - Prepare-ICD-RxJS - - File-Browser-ICD-Tests - - Animator-ICD-Tests - - Region-Statistics-ICD-Tests - - Region-Manipulation-ICD-Tests - - Cube-Histogram-ICD-Tests - - PV-Generator-ICD-Tests - - Raster-Tiles-ICD-Tests - - Catalog-ICD-Tests - - Moment-ICD-Tests - - Match-ICD-Tests - - Close-File-ICD-Tests - - Image-Fitting-ICD-Tests - - Vector-Overlay-ICD-Tests - - Resume-ICD-Tests - if: failure() - steps: - - name: Send email notification - uses: dawidd6/action-send-mail@v3 - with: - server_address: smtp.gmail.com - server_port: 465 - username: ${{ secrets.MAIL_USERNAME }} - password: ${{ secrets.MAIL_PASSWORD }} - subject: "CARTA ICD Failed: ${{ github.repository }} @ ${{ github.ref }}" - to: ${{ secrets.MAIL_TO }} ${{ secrets.MAIL_USERNAME }} - from: "CARTA ICD <${{ secrets.MAIL_USERNAME }}>" - body: | - Workflow failed - - Repository: ${{ github.repository }} - Branch/Ref: ${{ github.ref }} - Workflow: ${{ github.workflow }} - Run ID: ${{ github.run_id }} - URL: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} - - Failed jobs: - - Build: ${{ needs['Build'].result }} - - Prepare-ICD-RxJS: ${{ needs['Prepare-ICD-RxJS'].result }} - - File-Browser-ICD-Tests: ${{ needs['File-Browser-ICD-Tests'].result }} - - Animator-ICD-Tests: ${{ needs['Animator-ICD-Tests'].result }} - - Region-Statistics-ICD-Tests: ${{ needs['Region-Statistics-ICD-Tests'].result }} - - Region-Manipulation-ICD-Tests: ${{ needs['Region-Manipulation-ICD-Tests'].result }} - - Cube-Histogram-ICD-Tests: ${{ needs['Cube-Histogram-ICD-Tests'].result }} - - PV-Generator-ICD-Tests: ${{ needs['PV-Generator-ICD-Tests'].result }} - - Raster-Tiles-ICD-Tests: ${{ needs['Raster-Tiles-ICD-Tests'].result }} - - Catalog-ICD-Tests: ${{ needs['Catalog-ICD-Tests'].result }} - - Moment-ICD-Tests: ${{ needs['Moment-ICD-Tests'].result }} - - Match-ICD-Tests: ${{ needs['Match-ICD-Tests'].result }} - - Close-File-ICD-Tests: ${{ needs['Close-File-ICD-Tests'].result }} - - Image-Fitting-ICD-Tests: ${{ needs['Image-Fitting-ICD-Tests'].result }} - - Vector-Overlay-ICD-Tests: ${{ needs['Vector-Overlay-ICD-Tests'].result }} - - Resume-ICD-Tests: ${{ needs['Resume-ICD-Tests'].result }} From 31eb1f97c0a1b79aff78f4055ed373dd3e3b3f93 Mon Sep 17 00:00:00 2001 From: pshnghng0318 Date: Tue, 19 May 2026 15:06:31 +0800 Subject: [PATCH 11/13] check image fitting on macos26 --- .github/workflows/single_stage_icd_tests.yml | 88 ++++++++++++++++++++ 1 file changed, 88 insertions(+) diff --git a/.github/workflows/single_stage_icd_tests.yml b/.github/workflows/single_stage_icd_tests.yml index 66d4998..e26c038 100644 --- a/.github/workflows/single_stage_icd_tests.yml +++ b/.github/workflows/single_stage_icd_tests.yml @@ -38,9 +38,35 @@ jobs: fail-fast: false matrix: include: + - os_version: macOS-14 + os: macos + runner: [macOS-14, ICD] + - os_version: macOS-15 + os: macos + runner: [macOS-15, ICD] - os_version: macOS-26 os: macos runner: [macOS-26, ICD] + - os_version: ubuntu-22.04 + os: linux + runner: [self-hosted, Linux, Apptainer, ICD2] + image: /opt/apptainer/ubuntu-2204-mar2026.sif + port: 9002 + - os_version: ubuntu-24.04 + os: linux + runner: [self-hosted, Linux, Apptainer, ICD6] + image: /opt/apptainer/ubuntu-2404-mar2026.sif + port: 9006 + - os_version: rhel-8 + os: linux + runner: [self-hosted, Linux, Apptainer, ICD4] + image: /opt/apptainer/almalinux8-mar2026.sif + port: 9004 + - os_version: rhel-9 + os: linux + runner: [self-hosted, Linux, Apptainer, ICD5] + image: /opt/apptainer/almalinux9-mar2026.sif + port: 9005 steps: - name: Checkout uses: actions/checkout@v6 @@ -56,6 +82,30 @@ jobs: uname -a sw_vers + - name: Build carta-backend (macOS-14) + if: matrix.os_version == 'macOS-14' + shell: bash + run: | + export CC=/usr/local/Cellar/llvm/20.1.3/bin/clang + export CXX=/usr/local/Cellar/llvm/20.1.3/bin/clang++ + export PROTOBUF_ROOT=$(brew --prefix protobuf@21) + export PATH="$PROTOBUF_ROOT/bin:$PATH" + export LIBRARY_PATH="$PROTOBUF_ROOT/lib:$LIBRARY_PATH" + export CMAKE_PREFIX_PATH="$PROTOBUF_ROOT:$CMAKE_PREFIX_PATH" + export PKG_CONFIG_PATH="$PROTOBUF_ROOT/lib/pkgconfig:$PKG_CONFIG_PATH" + SRC_DIR=$GITHUB_WORKSPACE/source + BUILD_DIR=$GITHUB_WORKSPACE/build + cd $SRC_DIR && git submodule update --init + rm -rf $BUILD_DIR && mkdir -p $BUILD_DIR + cd $BUILD_DIR + cmake $SRC_DIR \ + -Dtest=on \ + -DCMAKE_BUILD_TYPE=Debug \ + -DDevSuppressExternalWarnings=ON \ + -DCMAKE_CXX_FLAGS="-O0 -g -fsanitize=address -fno-omit-frame-pointer" \ + -DCMAKE_EXE_LINKER_FLAGS="-fsanitize=address" + make -j 16 + - name: Build carta-backend (macOS) if: matrix.os == 'macos' && matrix.os_version != 'macOS-14' shell: bash @@ -74,12 +124,49 @@ jobs: -DCMAKE_EXE_LINKER_FLAGS="-fsanitize=address" make -j 16 + - name: Build carta-backend (Linux) + if: matrix.os == 'linux' + shell: bash + run: | + SRC_DIR=$GITHUB_WORKSPACE/source + BUILD_DIR=$GITHUB_WORKSPACE/build-${{ matrix.os_version }} + rm -rf $BUILD_DIR && mkdir -p $BUILD_DIR + cd source ; git submodule update --init + apptainer exec --bind $GITHUB_WORKSPACE:$GITHUB_WORKSPACE --pwd $SRC_DIR ${{ matrix.image }} /bin/bash -c "\ + cd $BUILD_DIR && \ + if [ -f /opt/carta-cfitsio-v450-curl/lib64/pkgconfig/cfitsio.pc ]; then \ + CFITSIO_ROOT=/opt/carta-cfitsio-v450-curl; \ + BUILD_PATH=\$CFITSIO_ROOT/lib64; \ + export PKG_CONFIG_PATH=\$CFITSIO_ROOT/lib64/pkgconfig; \ + export LD_LIBRARY_PATH=\$CFITSIO_ROOT/lib64:\$LD_LIBRARY_PATH; \ + export LIBRARY_PATH=\$CFITSIO_ROOT/lib64:\$LIBRARY_PATH; \ + else \ + CFITSIO_ROOT=''; \ + BUILD_PATH=''; \ + fi && \ + cmake $SRC_DIR \ + -Dtest=on \ + -DCMAKE_BUILD_TYPE=Debug \ + -DDevSuppressExternalWarnings=ON \ + \${BUILD_PATH:+-DCMAKE_BUILD_RPATH=\$BUILD_PATH} \ + \${CFITSIO_ROOT:+-DCFITSIO_ROOT=\$CFITSIO_ROOT} \ + -DCMAKE_CXX_FLAGS='-O0 -g -fsanitize=address -fno-omit-frame-pointer' \ + -DCMAKE_EXE_LINKER_FLAGS='-fsanitize=address' && \ + make -j 16" + - name: Check backend runs (macOS) if: matrix.os == 'macos' shell: bash run: | ./build/carta_backend --version + - name: Check backend runs (Linux) + if: matrix.os == 'linux' + shell: bash + run: | + BUILD_DIR=$GITHUB_WORKSPACE/build-${{ matrix.os_version }} + apptainer exec --bind $GITHUB_WORKSPACE:$GITHUB_WORKSPACE --pwd $BUILD_DIR ${{ matrix.image }} /bin/bash -c "./carta_backend --version" + Prepare-ICD-RxJS: name: Prepare-ICD-RxJS ${{ matrix.os_version }} runs-on: ${{ matrix.runner }} @@ -944,3 +1031,4 @@ jobs: port: ${{ matrix.port }} test_stage_name: 'resume' + From d8185a6dcaa1963ff73f91d47322aca802619b28 Mon Sep 17 00:00:00 2001 From: pshnghng0318 Date: Tue, 19 May 2026 15:24:20 +0800 Subject: [PATCH 12/13] check image fitting on macos26 --- src/test/IMAGE_FITTING_BAD.test.ts | 82 +++++++++++++++--------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/src/test/IMAGE_FITTING_BAD.test.ts b/src/test/IMAGE_FITTING_BAD.test.ts index 14a3596..68b1389 100644 --- a/src/test/IMAGE_FITTING_BAD.test.ts +++ b/src/test/IMAGE_FITTING_BAD.test.ts @@ -371,16 +371,16 @@ let assertItem: AssertItem = { { resultValues: [ { - center: { x: 116.31369946305503, y: 284.23462476726297 }, - amp: 22.12829836659118, - fwhm: { x: -2.4318180151342417, y: -0.004330957756786921 }, - pa: 133.73792912297432, + center: { x: 134.7226762659036, y: 280.4762688332016 }, + amp: 0.5436350059500957, + fwhm: { x: 0.7094817008480923, y: 0.12297548397696609 }, + pa: 270.0710593770099, }, { - center: { x: 324.3524987938526, y: 324.34918203704683 }, - amp: 9.997331578861056, - fwhm: { x: 29.40216567491421, y: 117.4850448687386 }, - pa: 0.5446955482204604, + center: { x: 324.35628993697605, y: 324.34845897862266 }, + amp: 9.996890409336245, + fwhm: { x: 29.399585456199773, y: 117.48633742486919 }, + pa: 0.5426721064405485, }, ], resultErrors: [ @@ -390,15 +390,15 @@ let assertItem: AssertItem = { }, { center: { - x: 1.1714809697842197e-10, - y: 2.933890362251915e-11, + x: 1.171590888148931e-10, + y: 2.933860676478705e-11, }, - amp: 2.34753928031256e-11, + amp: 2.347629378380985e-11, fwhm: { - x: 6.904116193771595e-11, - y: 2.7587437257939583e-10, + x: 6.904079939171759e-11, + y: 2.759001709565778e-10, }, - pa: 5.079872634449951e-11, + pa: 5.0797230374050426e-11, }, ], success: true, @@ -555,36 +555,36 @@ describe('IMAGE_FITTING_FITS test: Testing Image Fitting (with and without fov) `Send Image fitting request and match the result`, async () => { let response = await msgController.requestFitting(assertItem.fittingRequest[0]); - console.log(MacOSNumber); - console.log(platformOS); + // console.log(MacOSNumber); + // console.log(platformOS); - console.log('response.resultValues[0].center.x', response.resultValues[0].center.x); - console.log('response.resultValues[0].center.y', response.resultValues[0].center.y); - console.log('response.resultValues[0].amp', response.resultValues[0].amp); - console.log('response.resultValues[0].fwhm.x', response.resultValues[0].fwhm.x); - console.log('response.resultValues[0].fwhm.y', response.resultValues[0].fwhm.y); - console.log('response.resultValues[0].pa', response.resultValues[0].pa); - console.log('response.resultValues[1].center.x', response.resultValues[1].center.x); - console.log('response.resultValues[1].center.y', response.resultValues[1].center.y); - console.log('response.resultValues[1].amp', response.resultValues[1].amp); - console.log('response.resultValues[1].fwhm.x', response.resultValues[1].fwhm.x); - console.log('response.resultValues[1].fwhm.y', response.resultValues[1].fwhm.y); - console.log('response.resultValues[1].pa', response.resultValues[1].pa); - console.log('response.success', response.success); + // console.log('response.resultValues[0].center.x', response.resultValues[0].center.x); + // console.log('response.resultValues[0].center.y', response.resultValues[0].center.y); + // console.log('response.resultValues[0].amp', response.resultValues[0].amp); + // console.log('response.resultValues[0].fwhm.x', response.resultValues[0].fwhm.x); + // console.log('response.resultValues[0].fwhm.y', response.resultValues[0].fwhm.y); + // console.log('response.resultValues[0].pa', response.resultValues[0].pa); + // console.log('response.resultValues[1].center.x', response.resultValues[1].center.x); + // console.log('response.resultValues[1].center.y', response.resultValues[1].center.y); + // console.log('response.resultValues[1].amp', response.resultValues[1].amp); + // console.log('response.resultValues[1].fwhm.x', response.resultValues[1].fwhm.x); + // console.log('response.resultValues[1].fwhm.y', response.resultValues[1].fwhm.y); + // console.log('response.resultValues[1].pa', response.resultValues[1].pa); + // console.log('response.success', response.success); - console.log('response.resultErrors[0].center.x', response.resultErrors[0].center.x); - console.log('response.resultErrors[0].center.y', response.resultErrors[0].center.y); - console.log('response.resultErrors[0].fwhm.x', response.resultErrors[0].fwhm.x); - console.log('response.resultErrors[0].fwhm.y', response.resultErrors[0].fwhm.y); - console.log('response.resultErrors[1].center.x', response.resultErrors[1].center.x); - console.log('response.resultErrors[1].center.y', response.resultErrors[1].center.y); - console.log('response.resultErrors[1].amp', response.resultErrors[1].amp); - console.log('response.resultErrors[1].fwhm.x', response.resultErrors[1].fwhm.x); - console.log('response.resultErrors[1].fwhm.y', response.resultErrors[1].fwhm.y); - console.log('response.resultErrors[1].pa', response.resultErrors[1].pa); + // console.log('response.resultErrors[0].center.x', response.resultErrors[0].center.x); + // console.log('response.resultErrors[0].center.y', response.resultErrors[0].center.y); + // console.log('response.resultErrors[0].fwhm.x', response.resultErrors[0].fwhm.x); + // console.log('response.resultErrors[0].fwhm.y', response.resultErrors[0].fwhm.y); + // console.log('response.resultErrors[1].center.x', response.resultErrors[1].center.x); + // console.log('response.resultErrors[1].center.y', response.resultErrors[1].center.y); + // console.log('response.resultErrors[1].amp', response.resultErrors[1].amp); + // console.log('response.resultErrors[1].fwhm.x', response.resultErrors[1].fwhm.x); + // console.log('response.resultErrors[1].fwhm.y', response.resultErrors[1].fwhm.y); + // console.log('response.resultErrors[1].pa', response.resultErrors[1].pa); - console.log('response.log', response.log); - console.log('response.message', response.message); + // console.log('response.log', response.log); + // console.log('response.message', response.message); if (MacOSNumber === '11.6.1' && platformOS === 'macOS') { expect(response.resultValues[0].center.x).toBeCloseTo( From c0894e17f19693b1c9717a27c146510de32ece02 Mon Sep 17 00:00:00 2001 From: pshnghng0318 Date: Tue, 19 May 2026 15:25:57 +0800 Subject: [PATCH 13/13] check image fitting on macos26 --- .github/workflows/single_stage_icd_tests.yml | 57 ++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/.github/workflows/single_stage_icd_tests.yml b/.github/workflows/single_stage_icd_tests.yml index e26c038..c71883c 100644 --- a/.github/workflows/single_stage_icd_tests.yml +++ b/.github/workflows/single_stage_icd_tests.yml @@ -1031,4 +1031,61 @@ jobs: port: ${{ matrix.port }} test_stage_name: 'resume' + NotifyEmail: + name: Send email on failure + runs-on: ubuntu-latest + needs: + - Build + - Prepare-ICD-RxJS + - File-Browser-ICD-Tests + - Animator-ICD-Tests + - Region-Statistics-ICD-Tests + - Region-Manipulation-ICD-Tests + - Cube-Histogram-ICD-Tests + - PV-Generator-ICD-Tests + - Raster-Tiles-ICD-Tests + - Catalog-ICD-Tests + - Moment-ICD-Tests + - Match-ICD-Tests + - Close-File-ICD-Tests + - Image-Fitting-ICD-Tests + - Vector-Overlay-ICD-Tests + - Resume-ICD-Tests + if: failure() + steps: + - name: Send email notification + uses: dawidd6/action-send-mail@v3 + with: + server_address: smtp.gmail.com + server_port: 465 + username: ${{ secrets.MAIL_USERNAME }} + password: ${{ secrets.MAIL_PASSWORD }} + subject: "CARTA ICD Failed: ${{ github.repository }} @ ${{ github.ref }}" + to: ${{ secrets.MAIL_TO }} ${{ secrets.MAIL_USERNAME }} + from: "CARTA ICD <${{ secrets.MAIL_USERNAME }}>" + body: | + Workflow failed + + Repository: ${{ github.repository }} + Branch/Ref: ${{ github.ref }} + Workflow: ${{ github.workflow }} + Run ID: ${{ github.run_id }} + URL: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} + Failed jobs: + - Build: ${{ needs['Build'].result }} + - Prepare-ICD-RxJS: ${{ needs['Prepare-ICD-RxJS'].result }} + - File-Browser-ICD-Tests: ${{ needs['File-Browser-ICD-Tests'].result }} + - Animator-ICD-Tests: ${{ needs['Animator-ICD-Tests'].result }} + - Region-Statistics-ICD-Tests: ${{ needs['Region-Statistics-ICD-Tests'].result }} + - Region-Manipulation-ICD-Tests: ${{ needs['Region-Manipulation-ICD-Tests'].result }} + - Cube-Histogram-ICD-Tests: ${{ needs['Cube-Histogram-ICD-Tests'].result }} + - PV-Generator-ICD-Tests: ${{ needs['PV-Generator-ICD-Tests'].result }} + - Raster-Tiles-ICD-Tests: ${{ needs['Raster-Tiles-ICD-Tests'].result }} + - Catalog-ICD-Tests: ${{ needs['Catalog-ICD-Tests'].result }} + - Moment-ICD-Tests: ${{ needs['Moment-ICD-Tests'].result }} + - Match-ICD-Tests: ${{ needs['Match-ICD-Tests'].result }} + - Close-File-ICD-Tests: ${{ needs['Close-File-ICD-Tests'].result }} + - Image-Fitting-ICD-Tests: ${{ needs['Image-Fitting-ICD-Tests'].result }} + - Vector-Overlay-ICD-Tests: ${{ needs['Vector-Overlay-ICD-Tests'].result }} + - Resume-ICD-Tests: ${{ needs['Resume-ICD-Tests'].result }}