Repository navigation
Executables relocate themselves, and the kernel reads no executable's dynamic section #4495
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: ci | |
| on: | |
| pull_request: | |
| branches: [main] | |
| types: [opened, synchronize, reopened, ready_for_review] | |
| merge_group: | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| # No job here writes: a toolchain release is main's publisher's alone. | |
| permissions: | |
| contents: read | |
| jobs: | |
| host: | |
| if: github.event_name == 'merge_group' || github.event.pull_request.draft == false | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 45 | |
| env: | |
| # The driver's own target, and no step's: it says this job carries the | |
| # host cache (src/cicache.rs). | |
| CARGO_TARGET_DIR: target/ci-driver | |
| # The writer's: a unit built with other debuginfo is not the entry's. | |
| CARGO_PROFILE_DEV_DEBUG: line-tables-only | |
| steps: | |
| - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0 | |
| # nightly.yml's `host` is the one writer; the paths are the cache's | |
| # version, so they are the writer's list. | |
| - uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 | |
| with: | |
| path: | | |
| ~/.cargo/registry/index | |
| ~/.cargo/registry/cache | |
| ~/.cargo/git/db | |
| target | |
| key: host-sealed-${{ runner.os }}-${{ runner.arch }}-${{ github.run_id }} | |
| restore-keys: host-sealed-${{ runner.os }}-${{ runner.arch }}- | |
| - run: cargo run -- --ci host | |
| toolchain: | |
| if: github.event_name == 'merge_group' || github.event.pull_request.draft == false | |
| uses: ./.github/workflows/toolchain.yml | |
| # A required check that is skipped reads as green, so this runs whatever | |
| # `toolchain` concluded. | |
| guest: | |
| needs: toolchain | |
| if: ${{ !cancelled() && (github.event_name == 'merge_group' || github.event.pull_request.draft == false) }} | |
| uses: ./.github/workflows/guest.yml | |
| with: | |
| kvm: true | |
| sysroot-key: ${{ needs.toolchain.outputs.sysroot-key }} | |
| sysroot-path: ${{ needs.toolchain.outputs.sysroot-path }} |