Distinguish our own .travis.yml and example/.travis.yml
As a result, our own .travis.yml can focus on testing install-racket.sh as of the current commit. (I am still using test.sh and `for` loops. It's not immediately obvious to me how to express that instead using a Travis job matrix -- or that doing so would be any clearer.)
This commit is contained in:
parent
f2ee38346a
commit
960ebda600
83
.travis.yml
83
.travis.yml
|
@ -1,77 +1,12 @@
|
||||||
|
# IMPORTANT:
|
||||||
|
#
|
||||||
|
# This is NOT an example of a .travis.yml you would use in your own
|
||||||
|
# Racket project -- for that, see example/.travis.yml.
|
||||||
|
#
|
||||||
|
# Instead, this is used by this repo to test install-racket.sh.
|
||||||
|
|
||||||
language: c
|
language: c
|
||||||
|
|
||||||
env:
|
|
||||||
global:
|
|
||||||
# Supply a global RACKET_DIR environment variable. This is where
|
|
||||||
# Racket will be installed. A good idea is to use ~/racket because
|
|
||||||
# that doesn't require sudo to install.
|
|
||||||
- RACKET_DIR=~/racket
|
|
||||||
matrix:
|
|
||||||
# Supply at least one RACKET_VERSION environment variable. This is
|
|
||||||
# used by the install-racket.sh script (run at before_install,
|
|
||||||
# below) to select the version of Racket to download and install.
|
|
||||||
#
|
|
||||||
# Supply more than one RACKET_VERSION (as in the example below) to
|
|
||||||
# create a Travis-CI build matrix to test against multiple Racket
|
|
||||||
# versions.
|
|
||||||
- RACKET_VERSION=6.1
|
|
||||||
- RACKET_VERSION=6.1.1
|
|
||||||
- RACKET_VERSION=6.2
|
|
||||||
- RACKET_VERSION=6.3
|
|
||||||
- RACKET_VERSION=6.4
|
|
||||||
- RACKET_VERSION=6.5
|
|
||||||
- RACKET_VERSION=6.6
|
|
||||||
- RACKET_VERSION=6.7
|
|
||||||
- RACKET_VERSION=6.8
|
|
||||||
- RACKET_VERSION=6.9
|
|
||||||
- RACKET_VERSION=6.10
|
|
||||||
- RACKET_VERSION=6.11
|
|
||||||
- RACKET_VERSION=6.12
|
|
||||||
- RACKET_VERSION=7.0
|
|
||||||
- RACKET_VERSION=7.1
|
|
||||||
- RACKET_VERSION=7.2
|
|
||||||
- RACKET_VERSION=7.3
|
|
||||||
- RACKET_VERSION=7.4
|
|
||||||
- RACKET_VERSION=7.5
|
|
||||||
# "HEAD" is a daily snapshot built from the `master` branch.
|
|
||||||
# This is the main variant of Racket that uses its own runtime.
|
|
||||||
- RACKET_VERSION=HEAD
|
|
||||||
# "HEADCS" is a daily snapshot built from the `master` branch.
|
|
||||||
# This is an experimental variant of Racket that uses Chez Scheme.
|
|
||||||
- RACKET_VERSION=HEADCS
|
|
||||||
# "RELEASE" is a release candidate that updates only during the
|
|
||||||
# weeks before a new release. The final release candidate should
|
|
||||||
# remain available until the next release cycle. As a result, you
|
|
||||||
# may leave this in your .travis.yml all the time. See:
|
|
||||||
# <https://pre-release.racket-lang.org/>.
|
|
||||||
- RACKET_VERSION=RELEASE
|
|
||||||
|
|
||||||
matrix:
|
|
||||||
# You may want to test against certain versions of Racket, without
|
|
||||||
# having them count against the overall success/failure. For example
|
|
||||||
# here we include the development versions:
|
|
||||||
allow_failures:
|
|
||||||
- env: RACKET_VERSION=HEAD
|
|
||||||
- env: RACKET_VERSION=HEADCS
|
|
||||||
- env: RACKET_VERSION=RELEASE
|
|
||||||
# Fast finish: Overall build result is determined as soon as any of
|
|
||||||
# its rows have failed, or, all of its rows that aren't allowed to
|
|
||||||
# fail have succeeded.
|
|
||||||
fast_finish: true
|
|
||||||
|
|
||||||
install:
|
|
||||||
- bash <(curl https://raw.githubusercontent.com/greghendershott/travis-racket/master/install-racket.sh)
|
|
||||||
- export PATH="${RACKET_DIR}/bin:${PATH}" #install-racket.sh can't set for us
|
|
||||||
|
|
||||||
# Here supply steps such as raco make, raco test, etc.
|
|
||||||
script:
|
script:
|
||||||
- raco make main.rkt
|
- shellcheck install-racket.sh
|
||||||
- raco test -x .
|
- ./test.sh
|
||||||
|
|
||||||
# OR: If your repo is a Racket package with an info.rkt that has any
|
|
||||||
# `deps`:
|
|
||||||
#
|
|
||||||
# script:
|
|
||||||
# - raco pkg install --deps search-auto
|
|
||||||
# - raco setup -D --check-pkg-deps <your-package-name>
|
|
||||||
# - raco test -x -p <your-package-name>
|
|
||||||
|
|
12
README.md
12
README.md
|
@ -1,15 +1,13 @@
|
||||||
Experimenting with using Travis CI for a Racket project.
|
Until/unless Travis CI gets built-in support for Racket, we can use
|
||||||
|
the `install` section of `.travis.yml` to download and run the Racket
|
||||||
Until Travis CI gets built-in support for Racket, we can use the
|
installer.
|
||||||
`before_install` clause of `.travis.yml` to download and run the
|
|
||||||
Racket installer.
|
|
||||||
|
|
||||||
To add this capability to your project, simply add the
|
To add this capability to your project, simply add the
|
||||||
[example `.travis.yml`](https://github.com/greghendershott/travis-racket/blob/master/.travis.yml)
|
[example `.travis.yml`](https://github.com/greghendershott/travis-racket/blob/master/example/.travis.yml)
|
||||||
to your repo. You may need to change its `script` section's `raco
|
to your repo. You may need to change its `script` section's `raco
|
||||||
make` and `raco test` parts.
|
make` and `raco test` parts.
|
||||||
|
|
||||||
> **NOTE:** In the `before_install:` step, be sure to pipe the `install-racket.sh` script to `bash` (_not_ to `sh`).
|
> **NOTE:** Use `example/.travis.yml` --- *not* the one in the root of this rrepo, which is intended to test this repo not your project.
|
||||||
|
|
||||||
Here's a "badge" showing the status for the `master` branch of this
|
Here's a "badge" showing the status for the `master` branch of this
|
||||||
repo:
|
repo:
|
||||||
|
|
77
example/.travis.yml
Normal file
77
example/.travis.yml
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
language: c
|
||||||
|
|
||||||
|
env:
|
||||||
|
global:
|
||||||
|
# Supply a global RACKET_DIR environment variable. This is where
|
||||||
|
# Racket will be installed. A good idea is to use ~/racket because
|
||||||
|
# that doesn't require sudo to install.
|
||||||
|
- RACKET_DIR=~/racket
|
||||||
|
matrix:
|
||||||
|
# Supply at least one RACKET_VERSION environment variable. This is
|
||||||
|
# used by the install-racket.sh script (run at before_install,
|
||||||
|
# below) to select the version of Racket to download and install.
|
||||||
|
#
|
||||||
|
# Supply more than one RACKET_VERSION (as in the example below) to
|
||||||
|
# create a Travis-CI build matrix to test against multiple Racket
|
||||||
|
# versions.
|
||||||
|
- RACKET_VERSION=6.1
|
||||||
|
- RACKET_VERSION=6.1.1
|
||||||
|
- RACKET_VERSION=6.2
|
||||||
|
- RACKET_VERSION=6.3
|
||||||
|
- RACKET_VERSION=6.4
|
||||||
|
- RACKET_VERSION=6.5
|
||||||
|
- RACKET_VERSION=6.6
|
||||||
|
- RACKET_VERSION=6.7
|
||||||
|
- RACKET_VERSION=6.8
|
||||||
|
- RACKET_VERSION=6.9
|
||||||
|
- RACKET_VERSION=6.10
|
||||||
|
- RACKET_VERSION=6.11
|
||||||
|
- RACKET_VERSION=6.12
|
||||||
|
- RACKET_VERSION=7.0
|
||||||
|
- RACKET_VERSION=7.1
|
||||||
|
- RACKET_VERSION=7.2
|
||||||
|
- RACKET_VERSION=7.3
|
||||||
|
- RACKET_VERSION=7.4
|
||||||
|
- RACKET_VERSION=7.5
|
||||||
|
# "HEAD" is a daily snapshot built from the `master` branch.
|
||||||
|
# This is the main variant of Racket that uses its own runtime.
|
||||||
|
- RACKET_VERSION=HEAD
|
||||||
|
# "HEADCS" is a daily snapshot built from the `master` branch.
|
||||||
|
# This is an experimental variant of Racket that uses Chez Scheme.
|
||||||
|
- RACKET_VERSION=HEADCS
|
||||||
|
# "RELEASE" is a release candidate that updates only during the
|
||||||
|
# weeks before a new release. The final release candidate should
|
||||||
|
# remain available until the next release cycle. As a result, you
|
||||||
|
# may leave this in your .travis.yml all the time. See:
|
||||||
|
# <https://pre-release.racket-lang.org/>.
|
||||||
|
- RACKET_VERSION=RELEASE
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
# You may want to test against certain versions of Racket, without
|
||||||
|
# having them count against the overall success/failure. For example
|
||||||
|
# here we include the development versions:
|
||||||
|
allow_failures:
|
||||||
|
- env: RACKET_VERSION=HEAD
|
||||||
|
- env: RACKET_VERSION=HEADCS
|
||||||
|
- env: RACKET_VERSION=RELEASE
|
||||||
|
# Fast finish: Overall build result is determined as soon as any of
|
||||||
|
# its rows have failed, or, all of its rows that aren't allowed to
|
||||||
|
# fail have succeeded.
|
||||||
|
fast_finish: true
|
||||||
|
|
||||||
|
install:
|
||||||
|
- bash <(curl https://raw.githubusercontent.com/greghendershott/travis-racket/master/install-racket.sh)
|
||||||
|
- export PATH="${RACKET_DIR}/bin:${PATH}" #install-racket.sh can't set for us
|
||||||
|
|
||||||
|
# Here supply steps such as raco make, raco test, etc.
|
||||||
|
script:
|
||||||
|
- raco make main.rkt
|
||||||
|
- raco test -x .
|
||||||
|
|
||||||
|
# OR: If your repo is a Racket package with an info.rkt that has any
|
||||||
|
# `deps`:
|
||||||
|
#
|
||||||
|
# script:
|
||||||
|
# - raco pkg install --deps search-auto
|
||||||
|
# - raco setup -D --check-pkg-deps <your-package-name>
|
||||||
|
# - raco test -x -p <your-package-name>
|
14
main.rkt
14
main.rkt
|
@ -1,14 +0,0 @@
|
||||||
#lang racket
|
|
||||||
|
|
||||||
;; This is just an example file used to test the example .travis.yml
|
|
||||||
|
|
||||||
(define (plus1 x)
|
|
||||||
(add1 x))
|
|
||||||
|
|
||||||
(define (minus1 x)
|
|
||||||
(sub1 x))
|
|
||||||
|
|
||||||
(module+ test
|
|
||||||
(require rackunit)
|
|
||||||
(check-equal? (plus1 1) 2)
|
|
||||||
(check-equal? (minus1 1) 0))
|
|
4
test.sh
4
test.sh
|
@ -1,7 +1,5 @@
|
||||||
shellcheck ./install-racket.sh
|
|
||||||
|
|
||||||
# Starting with Racket 7.4, there is also a "CS" flavor.
|
# Starting with Racket 7.4, there is also a "CS" flavor.
|
||||||
for VER in 7.4 ; do
|
for VER in 7.5 7.4 ; do
|
||||||
for MIN in 0 1; do
|
for MIN in 0 1; do
|
||||||
for NAT in 0 1; do
|
for NAT in 0 1; do
|
||||||
for CS in 0 1; do
|
for CS in 0 1; do
|
||||||
|
|
Loading…
Reference in New Issue
Block a user