Skip to content

Commit ff55015

Browse files
committed
Improve Docker docs
1 parent 2adb10a commit ff55015

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

doc/contributor/docker.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,40 @@ Note that running a test will fail the `build` command, so building the image
1313
is itself a test. You can then also log into the image after it's successfully
1414
built to use TruffleRuby.
1515

16+
## Tests Run on Release Candidates or Previews
17+
18+
This is what we run on release builds before the release to ensure the built artifacts work on the various Linux distributions.
19+
20+
First, it is useful to create a branch with the potential changes needed to [tool/docker-configs.yaml](../../tool/docker-configs.yaml), `jt docker`, etc:
21+
```bash
22+
cd truffleruby
23+
git checkout master
24+
git checkout -b bd/docker-tests-$VERSION
25+
```
26+
Note that branch is based on `master`, not the release branch, because it should be merged to `master` (so those changes will be used for the next release).
27+
28+
Then download the standalone's `.tar.gz` for linux-amd64 (looks like `ruby-standalone-svm-java*-linux-amd64-*.tar.gz`).
29+
The jdk version to use for the standalone is the one in `graal/vm/ce-release-artifacts.json`.
30+
The TruffleRuby commit in that build should correspond to the last commit of the release branch (`release/graal-vm/$VERSION`).
31+
32+
We run all Docker tests, only on the standalone distribution to make it reasonably fast.
33+
This can be done with:
34+
```bash
35+
jt docker test --standalone $PATH_TO_STANDALONE_TAR_GZ --test release/graal-vm/$VERSION
36+
# A concrete example
37+
jt docker test --standalone $PWD/ruby-standalone-svm-java17-linux-amd64-*.tar.gz --test release/graal-vm/23.0
38+
```
39+
40+
We typically run them in parallel instead to make it faster, running each of these commands in a different terminal:
41+
```bash
42+
jt docker test --filter ol --standalone $PATH_TO_STANDALONE_TAR_GZ --test release/graal-vm/$VERSION
43+
jt docker test --filter fedora --standalone $PATH_TO_STANDALONE_TAR_GZ --test release/graal-vm/$VERSION
44+
jt docker test --filter ubuntu --standalone $PATH_TO_STANDALONE_TAR_GZ --test release/graal-vm/$VERSION
45+
jt docker test --filter debian --standalone $PATH_TO_STANDALONE_TAR_GZ --test release/graal-vm/$VERSION
46+
```
47+
48+
## Example Usages
49+
1650
For example, to run a full set of tests on a set of new release candidate tarballs:
1751

1852
```bash

0 commit comments

Comments
 (0)