Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disable rmake test rustdoc-io-error on riscv64gc-gnu #127280

Merged

Conversation

Hoverbear
Copy link
Contributor

@Hoverbear Hoverbear commented Jul 3, 2024

In #126917 we disabled inaccessible-temp-dir on riscv64gc-gnu because the container runs the build as root (just like the armhf-gnu builds). Tests creating an inaccessible test directory are not possible, since root can always touch those directories.

This means the tests are run as root. As root, it's perfectly normal and reasonable to violate permission checks this way:

$ sudo mkdir scratch
$ sudo chmod o-w scratch
$ sudo mkdir scratch/backs
$

Because of this, this PR makes the test ignored on riscv64gc (just like on armhf-gnu) for now.

As an alternative, I believe the best long-term strategy would be to not run the tests as root for this job. Some preliminary exploration was done in #126917 (comment), however that appears a larger lift.

Testing

Note

riscv64gc-unknown-linux-gnu is a Tier 2 with Host Tools platform, all tests may not necessarily pass! This change should only ignore inaccessible-temp-dir and not affect other tests.

You can test out the job locally:

DEPLOY=1 ./src/ci/docker/run.sh riscv64gc-gnu

r? @jieyouxu

@rustbot rustbot added A-run-make Area: port run-make Makefiles to rmake.rs S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jul 3, 2024
@rustbot
Copy link
Collaborator

rustbot commented Jul 3, 2024

This PR modifies tests/run-make/. If this PR is trying to port a Makefile
run-make test to use rmake.rs, please update the
run-make port tracking issue
so we can track our progress. You can either modify the tracking issue
directly, or you can comment on the tracking issue and link this PR.

cc @jieyouxu

Copy link
Member

@jieyouxu jieyouxu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, that is indeed unfortunate...

@jieyouxu
Copy link
Member

jieyouxu commented Jul 3, 2024

@bors r+ rollup

@bors
Copy link
Contributor

bors commented Jul 3, 2024

📌 Commit 403e2e2 has been approved by jieyouxu

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jul 3, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 3, 2024
…iaskrgr

Rollup of 6 pull requests

Successful merges:

 - rust-lang#127092 (Change return-type-notation to use `(..)`)
 - rust-lang#127184 (More refactorings to rustc_interface)
 - rust-lang#127190 (Update LLVM submodule)
 - rust-lang#127253 (Fix incorrect suggestion for extra argument with a type error)
 - rust-lang#127280 (Disable rmake test rustdoc-io-error on riscv64gc-gnu)
 - rust-lang#127294 (Less magic number for corountine)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 00765e1 into rust-lang:master Jul 4, 2024
6 checks passed
@rustbot rustbot added this to the 1.81.0 milestone Jul 4, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Jul 4, 2024
Rollup merge of rust-lang#127280 - ferrocene:hoverbear/disable-rmake-rustdoc-io-error, r=jieyouxu

Disable rmake test rustdoc-io-error on riscv64gc-gnu

In rust-lang#126917 we disabled `inaccessible-temp-dir` on `riscv64gc-gnu` because the container runs the build as `root` (just like the `armhf-gnu` builds). Tests creating an inaccessible test directory are not possible, since `root` can always touch those directories.

https://github.com/rust-lang/rust/blob/553a69030e5a086eb3841d020db8c9c463948c72/src/ci/docker/host-x86_64/disabled/riscv64gc-gnu/Dockerfile#L99

This means the tests are run as `root`. As `root`, it's perfectly normal and reasonable to violate permission checks this way:

```bash
$ sudo mkdir scratch
$ sudo chmod o-w scratch
$ sudo mkdir scratch/backs
$
```

Because of this, this PR makes the test ignored on `riscv64gc` (just like on `armhf-gnu`) for now.

As an alternative, I believe the best long-term strategy would be to not run the tests as `root` for this job. Some preliminary exploration was done in rust-lang#126917 (comment), however that appears a larger lift.

## Testing

> [!NOTE]
> `riscv64gc-unknown-linux-gnu` is a [**Tier 2 with Host Tools** platform](https://doc.rust-lang.org/beta/rustc/platform-support.html), all tests may not necessarily pass! This change should only ignore `inaccessible-temp-dir` and not affect other tests.

You can test out the job locally:

```sh
DEPLOY=1 ./src/ci/docker/run.sh riscv64gc-gnu
```

r? `@jieyouxu`
bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 4, 2024
…-testing, r=<try>

Enable `riscv64gc` testing

Together with joshua.zivkovic@codethink.co.uk, we've been starting to explore improving the state of the `riscv64gc-unknown-linux-gnu` target. Additionally, I'm looking to add support for this platform in [Ferrocene](https://github.com/ferrocene/ferrocene) ([Related PR](ferrocene/ferrocene#618)).

Recently several PRs have landed improving the state of this target:

* rust-lang#125220
* rust-lang#125669
* rust-lang#126355
* rust-lang#126279
* rust-lang#126707
* rust-lang#126916
* rust-lang#126917
* rust-lang#127280

The result has been that `riscv64gc-unknown-linux-gnu` now *should* pass the same CI tests that `x86_64-unknown-linux-gnu` and `aarch64-unknown-linux-gnu` do.

## Testing

> [!NOTE]
> While `riscv64gc-unknown-linux-gnu` is a [**Tier 2 with Host Tools** platform](https://doc.rust-lang.org/beta/rustc/platform-support.html) (meaning all tests may not necessarily pass) we do need to see all of the tests passing here. Indeed, the point of this PR is to get `riscv64gc-unknown-linux-gnu` into automated testing so the tests can *remain* working.

You can test out the job locally:

```sh
DEPLOY=1 ./src/ci/docker/run.sh riscv64gc-gnu
```

`DEPLOY=1` helps reproduce the CI's environment and also avoids the chance of a `llvm-c/BitReader.h` error (detailed in rust-lang#85424 and rust-lang#56650).

try-job: riscv64gc-gnu
bors added a commit to rust-lang-ci/rust that referenced this pull request Aug 20, 2024
…-testing, r=<try>

Enable `riscv64gc-gnu` testing

Together with joshua.zivkovic@codethink.co.uk, we've been starting to explore improving the state of the `riscv64gc-unknown-linux-gnu` target. Additionally, I'm looking to add support for this platform in [Ferrocene](https://github.com/ferrocene/ferrocene) ([Related PR](ferrocene/ferrocene#618)).

Recently several PRs have landed improving the state of this target:

* rust-lang#125220
* rust-lang#125669
* rust-lang#126355
* rust-lang#126279
* rust-lang#126707
* rust-lang#126916
* rust-lang#126917
* rust-lang#127280
* rust-lang#127967

The result has been that `riscv64gc-unknown-linux-gnu` now *should* pass the same CI tests that `x86_64-unknown-linux-gnu` and `aarch64-unknown-linux-gnu` do.

## Testing

> [!NOTE]
> While `riscv64gc-unknown-linux-gnu` is a [**Tier 2 with Host Tools** platform](https://doc.rust-lang.org/beta/rustc/platform-support.html) (meaning all tests may not necessarily pass) we do need to see all of the tests passing here. Indeed, the point of this PR is to get `riscv64gc-unknown-linux-gnu` into automated testing so the tests can *remain* working.

You can test out the job locally:

```sh
DEPLOY=1 ./src/ci/docker/run.sh riscv64gc-gnu
```

`DEPLOY=1` helps reproduce the CI's environment and also avoids the chance of a `llvm-c/BitReader.h` error (detailed in rust-lang#85424 and rust-lang#56650).

try-job: riscv64gc-gnu
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-run-make Area: port run-make Makefiles to rmake.rs S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

4 participants