Skip to content

Setup Bazelisk

Actions
Set up Bazelisk and add it to the PATH
v3.0.0
Latest
Star (56)

Important

setup-bazelisk has been superseded by setup-bazel and all maintenance and support has ceased. setup-bazelisk will remain on GitHub indefinitely, but will almost certainly stop working someday, so if your GitHub Actions workflows use setup-bazelisk, please migrate them to setup-bazel.

setup-bazelisk v3

Set up your GitHub Actions workflow with a specific version of Bazelisk

Note that GitHub Actions includes Bazelisk by default as of actions/runner-images#490 so this setup is not necessary unless you want to customize the Bazelisk version, or are running Bazel inside a container.

Validate 'setup-bazelisk'

This action sets up Bazelisk for use in actions by:

  • optionally downloading and caching a version of Bazelisk by version and adding to PATH
  • setting up cache for downloaded Bazel versions

What's new

  • Updated to the node20 runtime by default

Usage

See action.yml

Basic:

steps:
- uses: actions/checkout@v4
- uses: bazelbuild/setup-bazelisk@v3
- name: Mount bazel cache  # Optional
  uses: actions/cache@v4
  with:
    path: "~/.cache/bazel"
    key: bazel
- run: bazel build //...

Known issues on Windows

  • This action doesn't work with PowerShell. Make sure to have shell: bash in you run: steps. (#3)
  • Windows removes one of the slashes (/) when two are present (bazel test //tests/... becomes bazel test /tests/... and fails). (#4) As a workaround, don't have any prefix //. Since all runs start at WORKSPACE dir, it should work all the same.

Full workaround example on windows:

- name: Run tests
  run: bazel test tests/...
  shell: bash

License

The scripts and documentation in this project are released under the MIT License

Setup Bazelisk is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.

About

Set up Bazelisk and add it to the PATH
v3.0.0
Latest

Setup Bazelisk is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.