Also:
- Only support it for 6.x and HEAD. Don't bother with 5.9x, and don't
try to support textual (it's too different).
- For the minimal case, do the raco pkg install of rackunit in
install-racket.sh. Can conditionally test, there. Also, easier for
users than them having to do it in .travis.yml.
Note: I'm committing this without also updating the example .travis.yml,
in order to test the case where RACKET_EDITION is not specified at
all (e.g. for backward compatability with existing .travis.yml files).
In that case it should act like RACKET_EDITION=FULL.
Change install-racket.sh to:
- Use a RACKET_DIR env var saying where to install Racket. For backwards
compatibility, if undefined this defaults to /usr/racket.
- Don't use sudo unless installing to /usr*.
- Download nightly snapshot builds from Northwestern not Utah.
See https://github.com/travis-ci/travis-ci/issues/3012
- Fix the here string (which was slightly broken all along, although in
a way that had been harmless).
Change the example .travis.yml to:
- Split env into global and matrix sections.
- Specify RACKET_DIR as a global var.
- Specify the RACKET_VERSIONs as matrix vars.
- Set PATH from RACKET_DIR (because install-racket.sh can't do this --
it can't change the env for the .travis.yml).
History/background:
1. Originally, used curl with raw.github.com to get the latest version
of install-racket.sh.
2. But GitHub discourages using raw.github.com. So switched to using the
GitHub "releases" feature to make install-racket.sh available. But
that's a PITA: (a) Need to make each release, and furthermore (b)
there's no URL meaning "the latest version of the file to be
downloaded" for the .travis.yml scripts to use, so they tediously need
to be updated to fetch using the new URL for the new version.
3. OK, so now -- how about simply cloning the GitHub repo locally, and
using the travis-racket.sh from that (which of course will be the latest
version).
This is a better example for people to use, than using raw.github.com.
Had changed this temporarily while working on the
`RACKET_VERSION=HEAD` feature. Switching back now that I just rolled
it into a new v0.3.
Although that's the default for release builds, the nightly builds
default to e.g. /usr/racket-5.90.0.9. Although that default makes sense
where people are doing side-by-side installs, we're doing an install on
a throw-away Travis VM. More basically, we need the build scripts to
find stuff consistently in /usr/racket regardless of whether this is a
release or HEAD.
This uses a nightly build installer.
As the comments in install-racket.sh state, this has the weakness of
hardcoding a version like 5.90.0.9 because AFIK there is no abstract URL
meaning "whatever the latest version is".
Possibly a simpler environment. In any case, `language: racket` was a
"no-op documentation" resulting in some default, since Racket not
officially supported. I _think_ the default was Ruby, so trying C as a
maybe simpler/cleaner base.