Skip to content
command

GitHub Action

Setup Bats and libs

1.5.2 Latest version

Setup Bats and libs

command

Setup Bats and libs

A GitHub Action for installing Bats and Bats-libs(support, assert, detik, file)

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Setup Bats and libs

uses: brokenpip3/setup-bats-libs@1.5.2

Learn more about this action in brokenpip3/setup-bats-libs

Choose a version

Setup Bats and Bats libraries

WARNING: this action is now under the bats-org umbrella and it's hosted here. Please change your syntax to point to the new bats-org repo, this repo will be archived.

This GitHub Action installs Bats and the four major bats libraries:

The action can be also instructed to select which libraries to install.

How to use it

on: [push]

jobs:
   my_test:
     runs-on: ubuntu-latest
     name: Install Bats and bats libs
     steps:
       - name: Checkout
         uses: actions/checkout@v2
       - name: Setup Bats and bats libs
         uses: brokenpip3/setup-bats-libs@1.5.2

Libraries Path

For each of the Bats libraries, you can choose to install them in the default location (/usr/lib/bats-<lib-name>) or specify a custom path.

For example, if you want to install bats-support in the ./test/bats-support directory, you can configure it as follows:

# ...
       - name: Setup Bats and Bats libs
         uses: brokenpip3/setup-bats-libs@0.1.0
         with:
           support-path: ${{ github.workspace }}/test/bats-support

About Caching

The caching mechanism for the bats binary is always available. However, the caching for the bats libraries is dependent on the location of each library path. If a library is located within the $HOME directory, caching is supported. Conversely, if a library is located outside the $HOME directory (which is the default location per each library), caching is not supported. This is due to a known limitation with sudo and the cache action, as detailed in this GitHub issue: actions/toolkit#946.

Inputs

Key Default Required Description
bats-install true false Bats installation, cache supported
bats-version latest false Bats version
support-install true false Bats-support installation
support-version 0.3.0 false Bats-support version
support-path /usr/lib/bats-support false Bats-support path
support-clean true false Bats-support: clean temp files
assert-install true false Bats-assert installation
assert-version 2.1.0 false Bats-assert version
assert-path /usr/lib/bats-assert false Bats-assert path
assert-clean true false Bats-assert: clean temp files
detik-install true false Bats-detik installation
detik-version 1.2.1 false Bats-detik version
detik-path /usr/lib/bats-detik false Bats-detik path
detik-clean true false Bats-detik: clean temp files
file-install true false Bats-file installation
file-version 0.4.0 false Bats-file version
file-path /usr/lib/bats-file false Bats-file path
file-clean true false Bats-file: clean temp files

Outputs

Key Description
bats-installed True/False if bats has been installed
support-installed True/False if bats-support has been installed
assert-installed True/False if bats-assert has been installed
detik-installed True/False if bats-detik has been installed
file-installed True/False if bats-file has been installed

TODO

  • Add more tests

  • Add Bats binary

  • Add cache for bats binary

  • Better Readme

  • Remove sudo in case of bats libs installed in $HOME

  • Add cache for bats libs