Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Rust for Linux 통합 테스트

Rust for Linux(RfL)는 Linux 커널에 Rust 프로그래밍 언어 지원을 추가하기 위한 프로젝트입니다.

Rust for Linux 작업이 깨지면 어떻게 해야 합니까?

PR이 Rust for Linux CI 작업을 깨뜨리면 다음과 같이 하십시오:

  • 의도하지 않은 깨짐이고 일시적인 오류로 보인다면 RfL에 알리고 다시 시도하십시오.
    • PR이 긴급하고 재시도로도 해결되지 않는다면 CI 작업을 일시적으로 비활성화하십시오(src/ci/github-actions/jobs.yml에서 image: x86_64-rust-for-linux 작업을 주석 처리하십시오).
  • 의도하지 않은 깨짐이라면 PR을 수정하여 깨짐을 해결하십시오.
  • 의도한 깨짐이라면 RfL에 알리고 커널에서 무엇을 변경해야 하는지 논의하십시오.
    • PR이 긴급하다면 CI 작업을 일시적으로 비활성화하십시오(src/ci/github-actions/jobs.yml에서 image: x86_64-rust-for-linux 작업을 주석 처리하십시오).
    • PR이 며칠 기다릴 수 있다면 RfL 메인테이너가 필요한 변경 사항을 반영한 새 Linux 커널 커밋 해시를 제공할 때까지 기다린 다음, 이를 PR에 적용하여 변경 사항이 동작하는지 확인하십시오(src/ci/docker/scripts/rfl-build.sh의 LINUX_VERSION 환경 변수를 업데이트하십시오).

RfL 개발자에게 연락해야 한다면 Rust for Linux 핑 그룹을 핑하여 도움을 요청할 수 있습니다:

@rustbot ping rfl

CI에서 Rust for Linux 빌드하기

Rust for Linux는 풀 리퀘스트가 병합되기 전에 실행되는 bors 테스트 모음의 일부로 빌드됩니다.

이 워크플로는 Rust 컴파일러의 stage1 sysroot를 빌드하고, Linux 커널을 내려받은 다음, 이 sysroot를 사용하여 여러 Rust for Linux 드라이버와 예제를 컴파일해 봅니다. RfL은 여러 불안정한 컴파일러/언어 기능을 사용하므로, 이 워크플로는 특정 컴파일러 변경이 RfL을 깨뜨리는 경우 이를 알려 줍니다.

풀 리퀘스트가 Rust for Linux 빌더를 깨뜨릴까 걱정되어 bors 대기열에 제출하기 전에 테스트해 보고 싶다면, Rust for Linux 통합을 빌드하는 try 작업을 실행하도록 bors에 요청하기만 하면 됩니다: @bors try jobs=x86_64-rust-for-linux.