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
|
||||
|
||||
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>
|
||||
- shellcheck install-racket.sh
|
||||
- ./test.sh
|
||||
|
|
12
README.md
12
README.md
|
@ -1,15 +1,13 @@
|
|||
Experimenting with using Travis CI for a Racket project.
|
||||
|
||||
Until Travis CI gets built-in support for Racket, we can use the
|
||||
`before_install` clause of `.travis.yml` to download and run the
|
||||
Racket installer.
|
||||
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
|
||||
installer.
|
||||
|
||||
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
|
||||
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
|
||||
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))
|
Loading…
Reference in New Issue
Block a user