Skip to content
You're viewing an older version of this GitHub Action. Do you want to see the latest version instead?
play

GitHub Action

Setup BATS testing framework

v1.0.2

Setup BATS testing framework

play

Setup BATS testing framework

Setup BATS framework and add it to PATH

Installation

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

              

- name: Setup BATS testing framework

uses: mig4/setup-bats@v1.0.2

Learn more about this action in mig4/setup-bats

Choose a version

tag-badge CI

Setup BATS πŸ¦‡

A :octocat: GitHub Action to setup BATS testing framework.

Usage πŸš€

A sample workflow to run tests using BATS (.github/workflows/ci.yml):

name: "CI"
on: [push, pull_request]
jobs:
  build:
    name: build
    runs-on: ubuntu-latest
    steps:

      - name: Setup BATS
        uses: mig4/setup-bats@v1
        with:
          bats-version: 1.2.1

      - name: Check out code
        uses: actions/checkout@v1

      - name: Test
        run: bats -r .

Options 🎨

Options available as keys in with block

  • bats-version (string): version of BATS to setup, defaults to 1.2.1 if not set

Platforms πŸ–₯

So far this action has only been tested on Linux environments.

Contributing 🀝

See known issues, if you found one that's not on the list or have a suggestion for improvement, open a new issue. If you can, fork and send a PR, it will be appreciated πŸ’–.

Hacking 🧰

Building

Install the dependencies

$ npm install

Build the typescript

$ npm run build

Run the tests βœ”οΈ

$ npm test
...
 PASS  __tests__/installer.test.ts
  installer tests
    βœ“ Acquires version of BATS if no matching version is installed (1051ms)
    βœ“ Throws if no matching version of BATS can be found (674ms)

Code

The action.yml file defines the inputs and output, description, etc. of the action.

See the documentation:

Publishing to a distribution branch

Actions are run from GitHub repos. It's recommended for users to only refer to release branches instead of consuming master directly. To create a release branch, you'd normally do:

$ git checkout -b releases/v1
$ npm prune --production
$ git add node_modules
$ git commit -a -m "Release v1"

However some of that is automated using husky git hooks, so it's enough to just do:

$ git checkout -b releases/v1
sed -i '/^node_modules/s/^/#/' .gitignore
# update README.md to refer to @v1
$ git commit -a -m "Release v1"
$ git push origin releases/v1

Now to release a new minor/patch versions from that branch (replace .x.y as appropriate):

# update "version" property in `package.json`
$ npm install
$ npm run build && npm run format
$ npm prune --production
$ git add -A
$ git commit -v -m "Release v1.x.y"
$ git push
$ git tag -s v1.x.y
$ git tag -fs v1 -m "Update v1 tag"
$ git push --tags --force

The action is now published! πŸš€

See the versioning documentation

Acknowledgements πŸ‘

License πŸ“

license-badge