diff --git a/.github/workflows/bors.yml b/.github/workflows/bors.yml index c42d40be76cf6..6189e788e7673 100644 --- a/.github/workflows/bors.yml +++ b/.github/workflows/bors.yml @@ -8,153 +8,21 @@ on: permissions: {} jobs: - docker_linux_tier1: - permissions: - actions: write # to cancel workflows (rust-lang/simpleinfra/github-actions/cancel-outdated-builds) - contents: read # to fetch code (actions/checkout) - - 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: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@HEAD - with: - github_token: "${{ secrets.GITHUB_TOKEN }}" - - uses: actions/checkout@v4 - - name: Setup Rust toolchain - run: TARGET=${{ matrix.target }} sh ./ci/install-rust.sh - - name: Execute run-docker.sh - run: LIBC_CI=1 sh ./ci/run-docker.sh ${{ matrix.target }} - - macos: - permissions: - actions: write # to cancel workflows (rust-lang/simpleinfra/github-actions/cancel-outdated-builds) - contents: read # to fetch code (actions/checkout) - - name: macOS - runs-on: macos-12 - strategy: - fail-fast: true - matrix: - target: [ - x86_64-apple-darwin, - ] - steps: - - uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@HEAD - with: - github_token: "${{ secrets.GITHUB_TOKEN }}" - - uses: actions/checkout@v4 - - name: Setup Rust toolchain - run: TARGET=${{ matrix.target }} sh ./ci/install-rust.sh - - name: Execute run.sh - run: LIBC_CI=1 sh ./ci/run.sh ${{ matrix.target }} - - windows: - permissions: - actions: write # to cancel workflows (rust-lang/simpleinfra/github-actions/cancel-outdated-builds) - contents: read # to fetch code (actions/checkout) - - 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 - # Disabled because broken: - # https://github.com/rust-lang/libc/issues/1592 - #- target: i686-pc-windows-gnu - # env: - # ARCH_BITS: 32 - # ARCH: i686 - - target: i686-pc-windows-msvc - steps: - - uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@HEAD - with: - github_token: "${{ secrets.GITHUB_TOKEN }}" - - 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: LIBC_CI=1 sh ./ci/run.sh ${{ matrix.target }} - shell: bash - - style_check: - permissions: - actions: write # to cancel workflows (rust-lang/simpleinfra/github-actions/cancel-outdated-builds) - contents: read # to fetch code (actions/checkout) - - name: Style check - runs-on: ubuntu-22.04 - steps: - - uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@HEAD - with: - github_token: "${{ secrets.GITHUB_TOKEN }}" - - uses: actions/checkout@v4 - - name: Setup Rust toolchain - run: sh ./ci/install-rust.sh - - name: Check style - run: sh ci/style.sh - docker_linux_tier2: permissions: actions: write # to cancel workflows (rust-lang/simpleinfra/github-actions/cancel-outdated-builds) contents: read # to fetch code (actions/checkout) name: Docker Linux Tier2 - needs: [docker_linux_tier1, style_check] runs-on: ubuntu-22.04 strategy: fail-fast: true max-parallel: 12 matrix: target: [ - # FIXME: Mysterious failures in CI, see - # https://github.com/rust-lang/libc/issues/2081 - # aarch64-linux-android, - aarch64-unknown-linux-gnu, - aarch64-unknown-linux-musl, arm-linux-androideabi, - arm-unknown-linux-gnueabihf, - arm-unknown-linux-musleabihf, - asmjs-unknown-emscripten, 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, - # FIXME: A recent nightly causes a linker failure: - # https://github.com/rust-lang/rust/issues/76679 - # See this comment for more details: - # https://github.com/rust-lang/libc/pull/2225#issuecomment-880696737 - #wasm32-wasi, - 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: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@HEAD @@ -166,168 +34,6 @@ jobs: - name: Execute run-docker.sh run: LIBC_CI=1 sh ./ci/run-docker.sh ${{ matrix.target }} - # These targets are tier 3 or otherwise need to have CI build std via -Zbuild-std. - # Because of this, only the nightly compiler can be used on these targets. - docker_linux_build_std: - permissions: - actions: write # to cancel workflows (rust-lang/simpleinfra/github-actions/cancel-outdated-builds) - contents: read # to fetch code (actions/checkout) - - if: ${{ false }} # This is currently broken - name: Docker Linux Build-Std Targets - needs: [docker_linux_tier1, style_check] - runs-on: ubuntu-22.04 - strategy: - fail-fast: true - max-parallel: 12 - matrix: - target: [ - armv7-unknown-linux-uclibceabihf - ] - steps: - - uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@HEAD - with: - github_token: "${{ secrets.GITHUB_TOKEN }}" - - uses: actions/checkout@v4 - - name: Setup Rust toolchain - run: TOOLCHAIN=nightly INSTALL_RUST_SRC=1 sh ./ci/install-rust.sh - - name: Execute run-docker.sh - run: LIBC_CI=1 TOOLCHAIN=nightly LIBC_CI_ZBUILD_STD=1 sh ./ci/run-docker.sh ${{ matrix.target }} - - # devkitpro's pacman needs to be connected from Docker. - docker_switch: - permissions: - actions: write # to cancel workflows (rust-lang/simpleinfra/github-actions/cancel-outdated-builds) - contents: read # to fetch code (actions/checkout) - - name: Docker Switch - needs: [docker_linux_tier1, style_check] - runs-on: ubuntu-22.04 - steps: - - uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@HEAD - with: - github_token: "${{ secrets.GITHUB_TOKEN }}" - - uses: actions/checkout@v4 - - name: Setup Rust toolchain - run: sh ./ci/install-rust.sh - - name: Execute run-docker.sh - run: LIBC_CI=1 sh ./ci/run-docker.sh switch - - build_channels_linux: - permissions: - actions: write # to cancel workflows (rust-lang/simpleinfra/github-actions/cancel-outdated-builds) - contents: read # to fetch code (actions/checkout) - - name: Build Channels Linux - needs: docker_linux_tier2 - runs-on: ubuntu-22.04 - env: - OS: linux - strategy: - fail-fast: true - max-parallel: 5 - matrix: - toolchain: [ - stable, - beta, - nightly, - # FIXME: Disabled due to: - # error: failed to parse registry's information for: serde - #1.13.0, - 1.19.0, - 1.24.0, - 1.25.0, - 1.30.0, - ] - steps: - - uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@HEAD - with: - github_token: "${{ secrets.GITHUB_TOKEN }}" - - uses: actions/checkout@v4 - - name: Setup Rust toolchain - run: TOOLCHAIN=${{ matrix.toolchain }} sh ./ci/install-rust.sh - - name: Execute build.sh - run: LIBC_CI=1 TOOLCHAIN=${{ matrix.toolchain }} sh ./ci/build.sh - - build_channels_macos: - permissions: - contents: read # to fetch code (actions/checkout) - - name: Build Channels macOS - needs: macos - env: - OS: macos - strategy: - fail-fast: true - max-parallel: 4 - matrix: - target: - - { toolchain: stable, os: macos-12 } - - { toolchain: beta, os: macos-12 } - - { toolchain: nightly, os: macos-12 } - # Use macOS 11 for older toolchains as newer Xcode donesn't work well. - # FIXME: Disabled due to: - # error: failed to parse registry's information for: serde - #- { toolchain: 1.13.0, os: macos-11 } - - { toolchain: 1.19.0, os: macos-11 } - - { toolchain: 1.24.0, os: macos-11 } - - { toolchain: 1.25.0, os: macos-11 } - - { toolchain: 1.30.0, os: macos-11 } - runs-on: ${{ matrix.target.os }} - steps: - - uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@HEAD - with: - github_token: "${{ secrets.GITHUB_TOKEN }}" - - uses: actions/checkout@v4 - - name: Setup Rust toolchain - run: TOOLCHAIN=${{ matrix.target.toolchain }} sh ./ci/install-rust.sh - - name: Execute build.sh - run: LIBC_CI=1 TOOLCHAIN=${{ matrix.target.toolchain }} sh ./ci/build.sh - - build_channels_windows: - permissions: - contents: read # to fetch code (actions/checkout) - - name: Build Channels Windows - runs-on: windows-2022 - env: - OS: windows - strategy: - fail-fast: true - matrix: - toolchain: [ - 1.19.0, - 1.24.0, - 1.25.0, - 1.30.0, - stable, - ] - steps: - - uses: actions/checkout@v4 - - name: Self-update rustup - run: rustup self update - shell: bash - - name: Execute build.sh - run: LIBC_CI=1 TOOLCHAIN=${{ matrix.toolchain }} sh ./ci/build.sh - shell: bash - - check_cfg: - permissions: - actions: write # to cancel workflows (rust-lang/simpleinfra/github-actions/cancel-outdated-builds) - contents: read # to fetch code (actions/checkout) - - name: "Check #[cfg]s" - runs-on: ubuntu-22.04 - steps: - - uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@HEAD - with: - github_token: "${{ secrets.GITHUB_TOKEN }}" - - uses: actions/checkout@v4 - - name: Setup Rust toolchain - run: TOOLCHAIN=nightly sh ./ci/install-rust.sh - - name: Build with check-cfg - run: LIBC_CI=1 LIBC_CHECK_CFG=1 cargo build -Z unstable-options -Z check-cfg - # These jobs doesn't actually test anything, but they're only used to tell # bors the build completed, as there is no practical way to detect when a # workflow is successful listening to webhooks only. @@ -339,16 +45,7 @@ jobs: if: github.event.pusher.name == 'bors' && success() runs-on: ubuntu-22.04 needs: [ - docker_linux_tier1, docker_linux_tier2, - #docker_linux_build_std, - macos, - windows, - style_check, - docker_switch, - build_channels_linux, - build_channels_macos, - build_channels_windows, ] steps: @@ -360,16 +57,7 @@ jobs: if: github.event.pusher.name == 'bors' && (failure() || cancelled()) runs-on: ubuntu-22.04 needs: [ - docker_linux_tier1, docker_linux_tier2, - #docker_linux_build_std, - macos, - windows, - style_check, - docker_switch, - build_channels_linux, - build_channels_macos, - build_channels_windows, ] steps: