From 109d84078185b5c9f0faf5656a35bafdf8a62fef Mon Sep 17 00:00:00 2001 From: Alan Somers Date: Tue, 15 Oct 2024 07:47:03 -0600 Subject: [PATCH] DO NOT MERGE try to find a working FreeBSD 15 image on GCE The latest FreeBSD 15 GCE image has a problem that prevents it from working with Cirrus CI. As a result, libc's CI is broken. Try the latest 3 images to see if any work. Issue #3967 --- .cirrus.yml | 18 ++- .github/workflows/full_ci.yml | 220 ---------------------------------- 2 files changed, 12 insertions(+), 226 deletions(-) delete mode 100644 .github/workflows/full_ci.yml diff --git a/.cirrus.yml b/.cirrus.yml index bd9100b9b0eb4..53174e7f17745 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -1,15 +1,21 @@ task: only_if: $CIRRUS_BRANCH == 'main' || $CIRRUS_BASE_BRANCH == 'libc-0.2' || $CIRRUS_BASE_BRANCH == 'main' matrix: - - name: nightly freebsd-13 + #- name: nightly freebsd-13 + #freebsd_instance: + #image_family: freebsd-13-3 + #- name: nightly freebsd-14 + #freebsd_instance: + #image: freebsd-14-1-release-amd64-ufs + - name: nightly freebsd-15 20240926 freebsd_instance: - image_family: freebsd-13-3 - - name: nightly freebsd-14 + image: freebsd-15-0-current-amd64-ufs-20240926 + - name: nightly freebsd-15 20241003 freebsd_instance: - image: freebsd-14-1-release-amd64-ufs - - name: nightly freebsd-15 + image: freebsd-15-0-current-amd64-ufs-20241003 + - name: nightly freebsd-15 20241010 freebsd_instance: - image_family: freebsd-15-0-snap + image: freebsd-15-0-current-amd64-ufs-20241010 setup_script: - pkg install -y libnghttp2 curl - curl https://sh.rustup.rs -sSf --output rustup.sh diff --git a/.github/workflows/full_ci.yml b/.github/workflows/full_ci.yml deleted file mode 100644 index 662f3921ef502..0000000000000 --- a/.github/workflows/full_ci.yml +++ /dev/null @@ -1,220 +0,0 @@ -name: full CI - -on: - merge_group: - pull_request: - types: [opened, synchronize, reopened] - -env: - LIBC_CI: 1 - -jobs: - style_check: - name: Style check - runs-on: ubuntu-22.04 - steps: - - uses: actions/checkout@v4 - - name: Setup Rust toolchain - run: sh ./ci/install-rust.sh - - name: Check style - run: sh ci/style.sh - - build_channels_linux: - name: Build Channels Linux - runs-on: ubuntu-22.04 - env: - OS: linux - strategy: - fail-fast: true - max-parallel: 5 - matrix: - toolchain: - - stable - - beta - - nightly - - 1.63.0 - steps: - - uses: actions/checkout@v4 - - name: Setup Rust toolchain - run: TOOLCHAIN=${{ matrix.toolchain }} sh ./ci/install-rust.sh - - name: Execute build.sh - run: TOOLCHAIN=${{ matrix.toolchain }} sh ./ci/build.sh - - build_channels_macos: - name: Build Channels macOS - needs: macos - env: - OS: macos - strategy: - fail-fast: true - max-parallel: 4 - matrix: - target: - - { toolchain: stable, os: macos-14 } - - { toolchain: beta, os: macos-14 } - - { toolchain: nightly, os: macos-14 } - - { toolchain: 1.63.0, os: macos-14 } - runs-on: ${{ matrix.target.os }} - steps: - - uses: actions/checkout@v4 - - name: Setup Rust toolchain - run: TOOLCHAIN=${{ matrix.target.toolchain }} sh ./ci/install-rust.sh - - name: Execute build.sh - run: TOOLCHAIN=${{ matrix.target.toolchain }} sh ./ci/build.sh - - build_channels_windows: - name: Build Channels Windows - runs-on: windows-2022 - env: - OS: windows - strategy: - fail-fast: true - matrix: - toolchain: - - 1.63.0 - - stable - steps: - - uses: actions/checkout@v4 - - name: Self-update rustup - run: rustup self update - shell: bash - - name: Execute build.sh - run: TOOLCHAIN=${{ matrix.toolchain }} sh ./ci/build.sh - shell: bash - - macos: - name: macOS - runs-on: macos-14 - strategy: - fail-fast: true - matrix: - target: - - aarch64-apple-darwin - steps: - - uses: actions/checkout@v4 - - name: Setup Rust toolchain - run: TARGET=${{ matrix.target }} sh ./ci/install-rust.sh - - name: Execute run.sh - run: sh ./ci/run.sh ${{ matrix.target }} - - windows: - name: Windows - runs-on: windows-2022 - env: - OS: windows - strategy: - fail-fast: true - matrix: - include: - - target: x86_64-pc-windows-gnu - env: - ARCH_BITS: 64 - ARCH: x86_64 - - target: x86_64-pc-windows-msvc - # FIXME: It currently causes segfaults. - #- target: i686-pc-windows-gnu - # env: - # ARCH_BITS: 32 - # ARCH: i686 - - target: i686-pc-windows-msvc - steps: - - uses: actions/checkout@v4 - - name: Self-update rustup - run: rustup self update - shell: bash - - name: Setup Rust toolchain - run: TARGET=${{ matrix.target }} sh ./ci/install-rust.sh - shell: bash - - name: Execute run.sh - run: sh ./ci/run.sh ${{ matrix.target }} - shell: bash - - - docker_linux_tier1: - name: Docker Linux Tier1 - runs-on: ubuntu-22.04 - strategy: - fail-fast: true - matrix: - target: - - i686-unknown-linux-gnu - - x86_64-unknown-linux-gnu - steps: - - uses: actions/checkout@v4 - - name: Setup Rust toolchain - run: TARGET=${{ matrix.target }} sh ./ci/install-rust.sh - - name: Execute run-docker.sh - run: sh ./ci/run-docker.sh ${{ matrix.target }} - - docker_linux_tier2: - name: Docker Linux Tier2 - needs: [docker_linux_tier1, style_check] - runs-on: ubuntu-22.04 - strategy: - fail-fast: true - max-parallel: 12 - matrix: - target: - - aarch64-linux-android - - aarch64-unknown-linux-gnu - - aarch64-unknown-linux-musl - - arm-linux-androideabi - - arm-unknown-linux-gnueabihf - - arm-unknown-linux-musleabihf - - i686-linux-android - - i686-unknown-linux-musl - - powerpc-unknown-linux-gnu - - powerpc64-unknown-linux-gnu - - powerpc64le-unknown-linux-gnu - - s390x-unknown-linux-gnu - - riscv64gc-unknown-linux-gnu - - wasm32-wasip1 - - wasm32-wasip2 - - sparc64-unknown-linux-gnu - - wasm32-unknown-emscripten - - x86_64-linux-android - # FIXME: Exec format error (os error 8) - # - x86_64-unknown-linux-gnux32 - - x86_64-unknown-linux-musl - # FIXME: It seems some items in `src/unix/mod.rs` - # aren't defined on redox actually. - # - x86_64-unknown-redox - steps: - - uses: actions/checkout@v4 - - name: Setup Rust toolchain - run: TARGET=${{ matrix.target }} sh ./ci/install-rust.sh - - name: Execute run-docker.sh - run: sh ./ci/run-docker.sh ${{ matrix.target }} - - check_cfg: - name: "Check #[cfg]s" - runs-on: ubuntu-22.04 - steps: - - uses: actions/checkout@v4 - - name: Setup Rust toolchain - run: TOOLCHAIN=nightly sh ./ci/install-rust.sh - - name: Build with check-cfg - run: LIBC_CHECK_CFG=1 cargo build -Z unstable-options -Z check-cfg - - # One job that "summarizes" the success state of this pipeline. This can then be added to branch - # protection, rather than having to add each job separately. - success: - name: success - runs-on: ubuntu-22.04 - needs: - - docker_linux_tier1 - - docker_linux_tier2 - - macos - - windows - - style_check - - build_channels_linux - - build_channels_macos - - build_channels_windows - # Github branch protection is exceedingly silly and treats "jobs skipped because a dependency - # failed" as success. So we have to do some contortions to ensure the job fails if any of its - # dependencies fails. - if: always() # make sure this is never "skipped" - steps: - # Manually check the status of all dependencies. `if: failure()` does not work. - - name: check if any dependency failed - run: jq --exit-status 'all(.result == "success")' <<< '${{ toJson(needs) }}'