Skip to content

bug: reproduce the bug related to the latest ld #134

bug: reproduce the bug related to the latest ld

bug: reproduce the bug related to the latest ld #134

name: Rust Compiler Builder
on:
push:
paths-ignore:
- '**/README.md'
workflow_dispatch:
inputs:
rust-backtrace:
description: Enable RUST_BACKTRACE (0 or 1)
required: false
default: '1'
type: choice
options:
- '0'
- '1'
rust-channel:
description: Set RUST_CHANNEL (dev, nightly, beta, stable)
required: false
default: 'dev'
type: choice
options:
- dev
- nightly
- beta
- stable
rust-verbose:
description: Set RUST_VERBOSE level (0, 1, 2, 3)
required: false
default: '3'
type: choice
options:
- '0'
- '1'
- '2'
- '3'
schedule:
# https://crontab.guru/
# At 12:00 AM
- cron: 0 0 * * *
jobs:
build:
name: ${{ matrix.rust-targets }} [${{ matrix.xcode-version }}] [${{ matrix.os }}]
strategy:
fail-fast: false
matrix:
include:
# https://github.com/actions/runner-images?tab=readme-ov-file#available-images
# https://github.com/actions/runner-images/tree/main/images/macos
# https://developer.apple.com/support/xcode/
- rust-targets: arm64e-apple-ios
os: macos-13
xcode-version: 15.2
rust-config: configure
rust-use-lld: false
macosx_deployment_target: 11.0
iphoneos_deployment_target: 14.0
- rust-targets: arm64e-apple-ios
os: macos-13
xcode-version: 15.0.1
rust-config: configure
rust-use-lld: false
macosx_deployment_target: 11.0
iphoneos_deployment_target: 14.0
- rust-targets: arm64e-apple-ios
os: macos-13
xcode-version: 14.3.1
rust-config: configure
rust-use-lld: false
macosx_deployment_target: 11.0
iphoneos_deployment_target: 14.0
runs-on: ${{ matrix.os }}
env:
BOOTSTRAP_SKIP_TARGET_SANITY: 0
MACOSX_DEPLOYMENT_TARGET: ${{ matrix.macosx_deployment_target }}
IPHONEOS_DEPLOYMENT_TARGET: ${{ matrix.iphoneos_deployment_target }}
RUST_BACKTRACE: ${{ github.event.inputs.rust-backtrace || '0' }}
RUST_CHANNEL: ${{ github.event.inputs.rust-channel || 'dev' }}
RUST_TARGETS: ${{ matrix.rust-targets }}
RUST_VERBOSE: ${{ github.event.inputs.rust-verbose || '0' }}
steps:
- name: Install Xcode ${{ matrix.xcode-version }}
run: |
sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode-version }}.app
sudo xcode-select -p
- name: Install Ninja
run: brew install ninja
- name: Install sccache
run: brew install sccache
- name: Install llvm
run: |
brew install llvm
echo "PATH=$PATH:/opt/homebrew/opt/llvm/bin:/usr/local/opt/llvm/bin" >> $GITHUB_ENV
- name: Show System Info
run: |
echo ${PATH}
uname -a
xcodebuild -version
xcrun --show-sdk-path
sccache --version
cmake --version
ninja --version
clang -v
ld -v
lld -flavor ld --version
df -h .
- name: Checkout
uses: actions/checkout@v4
- name: Checkout Rust
uses: actions/checkout@v4
with:
repository: rust-lang/rust
ref: master
submodules: true
path: rust
- name: Configure Rust
run: make ${{ matrix.rust-config }}
env:
RUST_USE_LLD: ${{ matrix.rust-use-lld }}
- name: Show config.toml
run: cat config.toml
working-directory: ./rust
- name: Build Rust
run: make all
working-directory: ./rust
- name: Show Target Spec
run: make show-target-info
- name: Build Rust dist
run: make dist
working-directory: ./rust
- name: Archive Rust dist
uses: actions/upload-artifact@v4
with:
name: rust-${{ env.RUST_CHANNEL }}-${{ matrix.rust-targets }}-${{ matrix.xcode-version }}-${{ matrix.os }}
path: ./rust/build/dist/*.xz
- name: Archive target spec
uses: actions/upload-artifact@v4
with:
name: rust-${{ env.RUST_CHANNEL }}-${{ matrix.rust-targets }}-${{ matrix.xcode-version }}-spec
path: ./*.json
- name: Archive the Rust build
if: always()
uses: actions/upload-artifact@v4
with:
name: rust-${{ matrix.xcode-version }}
path: ./rust/build