diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index a24624f..b9df95c 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -11,7 +11,7 @@ jobs: strategy: fail-fast: false matrix: - series: [7x, 8x_1, 8x_2] + series: [8x_1, 8x_2] steps: - uses: actions/checkout@master - run: ./build.sh ${{ matrix.series }} diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index c33393f..a983a68 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -7,7 +7,7 @@ jobs: strategy: fail-fast: false matrix: - series: [7x, 8x_1, 8x_2, snapshot] + series: [8x_1, 8x_2, snapshot] steps: - uses: actions/checkout@master - run: ./build.sh ${{ matrix.series }} diff --git a/README.md b/README.md index 79e0c10..70d10b5 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ # racket-docker -Docker images for various Racket versions available on DockerHub as [`racket/racket:`](https://hub.docker.com/r/racket/racket/). For example, to run a Racket 8.17 REPL: +Docker images for various Racket versions available on DockerHub as [`racket/racket:`](https://hub.docker.com/r/racket/racket/). For example, to run a Racket 8.18 REPL: ``` -$ docker run -it racket/racket:8.17-full +$ docker run -it racket/racket:8.18-full ``` #### Normal images @@ -16,7 +16,7 @@ These images use the `minimal-install` of Racket to avoid pulling in things like DrRacket or Scribble. This also means many `raco` commands such as `raco make` will be missing; install the `compiler-lib` package to get most of the standard `raco` commands. Alternatively, use the "full" images instead such as -`racket/racket:8.17-full`. +`racket/racket:8.18-full`. Versions: 6.1 and above. Racket CS images are available for 7.4 and above. @@ -44,12 +44,14 @@ the full distribution of the CS variant of Racket 7.9. #### Racket before Chez (BC) images -As of the 8.0 release, Racket BC images are tagged with `-bc` and -`-bc-full`. For example, `racket/racket:8.0-bc-full` is the full -distribution of the BC variant of Racket 8.0, whereas +As of the 8.0 release, Racket BC images are tagged with `-bc` +and `-bc-full`. For example, `racket/racket:8.0-bc-full` is +the full distribution of the BC variant of Racket 8.0, whereas `racket/racket:7.9-full` is the full distribution of the BC variant of Racket 7.9 (before CS was made the default). +Racket BC images are only available up to version 8.17. + ## Local development diff --git a/build.sh b/build.sh index 174a438..f5f2046 100755 --- a/build.sh +++ b/build.sh @@ -51,17 +51,11 @@ installer_url () { build_snapshot () { declare -r version="snapshot"; - declare -r installer="https://users.cs.utah.edu/plt/snapshots/current/installers/racket-minimal-current-x86_64-linux-jesse.sh"; + declare -r installer="https://users.cs.utah.edu/plt/snapshots/current/installers/racket-minimal-current-x86_64-linux-buster.sh"; build "racket" "${installer}" "${version}" "${version}"; - declare -r bc_installer="https://users.cs.utah.edu/plt/snapshots/current/installers/racket-minimal-current-x86_64-linux-bc.sh"; - build "racket" "${bc_installer}" "${version}" "${version}-bc"; - - declare -r full_installer="https://users.cs.utah.edu/plt/snapshots/current/installers/racket-current-x86_64-linux-jesse.sh"; + declare -r full_installer="https://users.cs.utah.edu/plt/snapshots/current/installers/racket-current-x86_64-linux-buster.sh"; build "racket" "${full_installer}" "${version}" "${version}-full"; - - declare -r full_bc_installer="https://users.cs.utah.edu/plt/snapshots/current/installers/racket-current-x86_64-linux-bc.sh"; - build "racket" "${full_bc_installer}" "${version}" "${version}-bc-full"; } build_8x () { @@ -71,17 +65,22 @@ build_8x () { declare -r installer=$(installer_url "${version}" "${installer_path}") || exit "${?}"; build "racket" "${installer}" "${version}" "${version}"; - declare -r bc_installer_path="racket-minimal-${version}-x86_64-linux-bc.sh"; - declare -r bc_installer=$(installer_url "${version}" "${bc_installer_path}") || exit "${?}"; - build "racket" "${bc_installer}" "${version}" "${version}-bc"; - declare -r full_installer_path="racket-${version}-x86_64-linux-natipkg.sh"; declare -r full_installer=$(installer_url "${version}" "${full_installer_path}") || exit "${?}"; build "racket" "${full_installer}" "${version}" "${version}-full"; - declare -r full_bc_installer_path="racket-${version}-x86_64-linux-bc.sh"; - declare -r full_bc_installer=$(installer_url "${version}" "${full_bc_installer_path}") || exit "${?}"; - build "racket" "${full_bc_installer}" "${version}" "${version}-bc-full"; + # Starting with 8.18, BC builds are no longer provided. The next + # version is likely going to be 9.0, so we only need to check for + # 8.18 as of this writing. + if [ "$version" != "8.18" ]; then + declare -r bc_installer_path="racket-minimal-${version}-x86_64-linux-bc.sh"; + declare -r bc_installer=$(installer_url "${version}" "${bc_installer_path}") || exit "${?}"; + build "racket" "${bc_installer}" "${version}" "${version}-bc"; + + declare -r full_bc_installer_path="racket-${version}-x86_64-linux-bc.sh"; + declare -r full_bc_installer=$(installer_url "${version}" "${full_bc_installer_path}") || exit "${?}"; + build "racket" "${full_bc_installer}" "${version}" "${version}-bc-full"; + fi }; build_7x () { @@ -124,7 +123,7 @@ foreach () { done; }; -declare -r LATEST_RACKET_VERSION="8.17"; +declare -r LATEST_RACKET_VERSION="8.18"; tag_latest () { declare -r repository="${1}"; @@ -133,7 +132,7 @@ tag_latest () { # The 8x series is split into two to avoid running into storage limits in CI. build_8x_2 () { - foreach build_8x "8.10" "8.11" "8.11.1" "8.12" "8.13" "8.14" "8.15" "8.16" "8.17"; + foreach build_8x "8.10" "8.11" "8.11.1" "8.12" "8.13" "8.14" "8.15" "8.16" "8.17" "8.18"; tag_latest "${DOCKER_REPOSITORY}"; tag_latest "${SECONDARY_DOCKER_REPOSITORY}"; }