diff --git a/.github/workflows/cpp.yml b/.github/workflows/cpp.yml index 5ccefa32725f3..5736bccf2b44d 100644 --- a/.github/workflows/cpp.yml +++ b/.github/workflows/cpp.yml @@ -78,40 +78,11 @@ jobs: - name: Detect targets id: detect-targets run: | - echo "targets<> "$GITHUB_OUTPUT" - echo "[" >> "$GITHUB_OUTPUT" - cat <> "$GITHUB_OUTPUT" - { - "arch": "amd64", - "clang-tools": "14", - "image": "conda-cpp", - "llvm": "14", - "runs-on": "ubuntu-latest", - "simd-level": "AVX2", - "title": "AMD64 Conda C++ AVX2", - "ubuntu": "22.04" - }, - { - "arch": "amd64", - "clang-tools": "14", - "image": "ubuntu-cpp-sanitizer", - "llvm": "14", - "runs-on": "ubuntu-latest", - "title": "AMD64 Ubuntu 22.04 C++ ASAN UBSAN", - "ubuntu": "22.04" - } JSON if [ "$GITHUB_REPOSITORY_OWNER" = "apache" ]; then echo "," >> "$GITHUB_OUTPUT" cat <> "$GITHUB_OUTPUT" { - "arch": "arm64v8", - "clang-tools": "10", - "image": "ubuntu-cpp", - "llvm": "10", - "runs-on": ["self-hosted", "arm", "linux"], - "title": "ARM64 Ubuntu 20.04 C++", - "ubuntu": "20.04" } JSON fi @@ -120,14 +91,35 @@ jobs: docker: name: ${{ matrix.title }} - needs: docker-targets runs-on: ${{ matrix.runs-on }} if: ${{ !contains(github.event.pull_request.title, 'WIP') }} timeout-minutes: 75 strategy: fail-fast: false matrix: - include: ${{ fromJson(needs.docker-targets.outputs.targets) }} + include: + - arch: amd64 + clang-tools: 14 + image: conda-cpp + llvm: 14 + runs-on: ubuntu-latest + simd-level: AVX2 + title: AMD64 Conda C++ AVX2 + ubuntu: 22.04 + - arch: amd64 + clang-tools: 14 + image: ubuntu-cpp-sanitizer + llvm: 14 + runs-on: ubuntu-latest + title: AMD64 Ubuntu 22.04 C++ ASAN UBSAN + ubuntu: 22.04 + - arch: arm64v8 + clang-tools: 10 + image: ubuntu-cpp + llvm: 10, + runs-on: ubuntu-24.04-arm + title: ARM64 Ubuntu 20.04 C++ + ubuntu: 20.04 env: ARCH: ${{ matrix.arch }} ARROW_SIMD_LEVEL: ${{ matrix.simd-level }} diff --git a/dev/tasks/linux-packages/github.linux.yml b/dev/tasks/linux-packages/github.linux.yml index 263394eb2b617..e514931fd1b6a 100644 --- a/dev/tasks/linux-packages/github.linux.yml +++ b/dev/tasks/linux-packages/github.linux.yml @@ -23,9 +23,9 @@ jobs: package: name: Package {% if architecture == "amd64" %} - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest {% else %} - runs-on: ["self-hosted", "Linux", "arm64"] + runs-on: ubuntu-24.04-arm {% endif %} env: ARCHITECTURE: {{ architecture }} diff --git a/dev/tasks/macros.jinja b/dev/tasks/macros.jinja index 1c118b4c4f782..54eebd98fd1bc 100644 --- a/dev/tasks/macros.jinja +++ b/dev/tasks/macros.jinja @@ -145,23 +145,11 @@ env: {%- macro github_upload_gemfury(pattern) -%} {%- if arrow.is_default_branch() -%} - - name: Set up Ruby by apt - if: runner.os == 'Linux' && runner.arch != 'X64' - run: | - sudo apt update - sudo apt install -y ruby-full - - name: Set up Ruby by GitHub Actions - if: runner.arch == 'X64' && runner.os != 'macOS' + - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: "ruby" - - name: Install gemfury client on ARM self-hosted - if: runner.arch != 'X64' - run: | - gem install --user-install gemfury - ruby -r rubygems -e 'puts("#{Gem.user_dir}/bin")' >> $GITHUB_PATH - name: Install gemfury client - if: runner.arch == 'X64' run: | gem install gemfury - name: Upload package to Gemfury diff --git a/dev/tasks/python-wheels/github.linux.yml b/dev/tasks/python-wheels/github.linux.yml index ec5b9b31da8e1..b32b1805b6dfb 100644 --- a/dev/tasks/python-wheels/github.linux.yml +++ b/dev/tasks/python-wheels/github.linux.yml @@ -28,7 +28,7 @@ jobs: {% if arch == "amd64" %} runs-on: ubuntu-latest {% else %} - runs-on: ["self-hosted", "Linux", "arm64"] + runs-on: ubuntu-24.04-arm {% endif %} env: # archery uses these environment variables