The ci-utils Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The ci-utils Reference Manual

This is the ci-utils Reference Manual, version 1.0.0, generated automatically by Declt version 3.0 "Montgomery Scott" on Mon Dec 02 09:14:13 2019 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

CI-Utils

Travis Build Status CircleCI Build Status Appveyor Build status Gitlab CI status Bitbucket pipelines status Azure piplines status

CI-Utils is a set of utilities for working on continuous integration platforms, including a run script for the Fiveam test library.

For examples of configuring CI platforms to test Common Lisp code, see the config-examples directory.

Installation

If you are using Roswell, run ros install ci-utils. This will download the code where ASDF can find it and place run-fiveam in the roswell bin directory. If you are not using Roswell, either run (ql:quickload :ci-utils) or manually download the contents of this repository somewhere that ASDF can find it.

Usage

See neil-lindquist.github.io/CI-Utils/API for documentation of the API.

run-fiveam

The run-fiveam Roswell script is designed to make running Fiveam tests simple. It has the form run-fiveam [options] <tests and suites>. The test and suite names are read as symbols after loading any requested systems. The --quicklisp <system> and -l <system> options load a system using quicklisp. Note that any root systems in the project directory are automatically loaded. The --exclude <path> and -e <path> options mark a path for exclusion when measuring code coverage. Additionally, there are two environmental variables that directly affect run-fiveam. COVERALLS enables measuring code coverage using cl-coveralls. COVERAGE_EXCLUDE is a colon separated list of paths to exclude from code coverage measurements, in addition to those passed as arguments. See run-fiveam --help for more information.

Platform Features

CI-Utils adds a few values to *FEATURES* that describe the current platform. First, either :CI or :NOT-CI is added, depending on the CI environmental variable (set by the major CI platforms). Known CI platforms have their name added (listed in the table below). If CI is set but the system is not a recognized CI platform, then :UNKNOWN-CI is added. Finally, if the COVERALLS environmental variable is set, then :COVERALLS is added.

| Platform | Symbol Name | |:---------:|:------------:| | Travis CI | :TRAVIS-CI | | Circle CI | :CIRCLE-CI | | Appveyor | :APPVEYOR | | GitLab CI | :GITLAB-CI | | Bitbucket Pipelines | :BITBUCKET-PIPELINES | | Azure Pipelines | :AZURE-PIPELINES |


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Next: , Previous: , Up: Systems   [Contents][Index]

2.1 ci-utils

Author

Neil Lindquist <NeilLindquist5@gmail.com>

License

MIT

Description

A set of tools for using CI platforms

Version

1.0.0

Dependency

ci-utils-features (system)

Source

ci-utils.asd (file)

Component

ci-utils.lisp (file)


Previous: , Up: Systems   [Contents][Index]

2.2 ci-utils-features

Author

Neil Lindquist <NeilLindquist5@gmail.com>

License

MIT

Description

An internal system that loads the features before loading the rest of the systems

Source

ci-utils-features.asd (file)

Component

features.lisp (file)


Next: , Previous: , Up: Top   [Contents][Index]

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 ci-utils.asd

Location

/home/quickref/quicklisp/dists/quicklisp/software/ci-utils-20191007-git/ci-utils.asd

Systems

ci-utils (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.2 ci-utils-features.asd

Location

/home/quickref/quicklisp/dists/quicklisp/software/ci-utils-20191007-git/ci-utils-features.asd

Systems

ci-utils-features (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.3 ci-utils/ci-utils.lisp

Parent

ci-utils (system)

Location

ci-utils.lisp

Packages

ci-utils

Exported Definitions
Internal Definitions

Previous: , Up: Lisp files   [Contents][Index]

3.1.4 ci-utils-features/features.lisp

Parent

ci-utils-features (system)

Location

features.lisp


Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

4.1 ci-utils

Source

ci-utils.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Functions

Function: branch ()

Returns the name of the branch the build is from, or ‘NIL‘ for unknown and non-ci platforms.

Package

ci-utils

Source

ci-utils.lisp (file)

Function: build-dir ()

Returns the directory that the code was copied into. When not on a known CI platform, the current working directory is returned.

Package

ci-utils

Source

ci-utils.lisp (file)

Function: cip ()

Whether lisp is running on a CI platform.

Package

ci-utils

Source

ci-utils.lisp (file)

Function: platform ()

Returns the current CI platform. When on a non-ci platform, nil is returned.

Package

ci-utils

Source

ci-utils.lisp (file)

Function: pull-request-p ()

Returns whether the build is for a pull/merge request. Unknown and non-ci platforms are considered to not be pull requests. A string containing the pull request number is returned for pull requests

Package

ci-utils

Source

ci-utils.lisp (file)


Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Functions

Function: build-id ()

Returns the build id for the given platform. ‘NIL‘ is returned on unsupported platforms.

Package

ci-utils

Source

ci-utils.lisp (file)

Function: commit-id ()

Returns the ID of the current commit. For git projects, this is the commit’s SHA. ‘NIL‘ is returned on unsupported platforms.

Package

ci-utils

Source

ci-utils.lisp (file)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   C   F   L  
Index Entry  Section

C
ci-utils-features.asd: The ci-utils-features․asd file
ci-utils-features/features.lisp: The ci-utils-features/features․lisp file
ci-utils.asd: The ci-utils․asd file
ci-utils/ci-utils.lisp: The ci-utils/ci-utils․lisp file

F
File, Lisp, ci-utils-features.asd: The ci-utils-features․asd file
File, Lisp, ci-utils-features/features.lisp: The ci-utils-features/features․lisp file
File, Lisp, ci-utils.asd: The ci-utils․asd file
File, Lisp, ci-utils/ci-utils.lisp: The ci-utils/ci-utils․lisp file

L
Lisp File, ci-utils-features.asd: The ci-utils-features․asd file
Lisp File, ci-utils-features/features.lisp: The ci-utils-features/features․lisp file
Lisp File, ci-utils.asd: The ci-utils․asd file
Lisp File, ci-utils/ci-utils.lisp: The ci-utils/ci-utils․lisp file

Jump to:   C   F   L  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   B   C   F   P  
Index Entry  Section

B
branch: Exported functions
build-dir: Exported functions
build-id: Internal functions

C
cip: Exported functions
commit-id: Internal functions

F
Function, branch: Exported functions
Function, build-dir: Exported functions
Function, build-id: Internal functions
Function, cip: Exported functions
Function, commit-id: Internal functions
Function, platform: Exported functions
Function, pull-request-p: Exported functions

P
platform: Exported functions
pull-request-p: Exported functions

Jump to:   B   C   F   P  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables


Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   C   P   S  
Index Entry  Section

C
ci-utils: The ci-utils system
ci-utils: The ci-utils package
ci-utils-features: The ci-utils-features system

P
Package, ci-utils: The ci-utils package

S
System, ci-utils: The ci-utils system
System, ci-utils-features: The ci-utils-features system

Jump to:   C   P   S