The stackql/setup-stackql action is a JavaScript action that sets up StackQL CLI in your GitHub Actions workflow by downloading a latest Stackql CLI and adding it to the PATH.
This action supports AMD64 and ARM64 on Linux, Windows, and macOS. Linux and Windows runners receive the matching native release binary. macOS uses Homebrew. Architecture selection uses RUNNER_ARCH, falling back to the Node.js architecture outside Actions. Other platforms and architectures are rejected.
CI covers all six targets:
| Platform | AMD64 runner | ARM64 runner |
|---|---|---|
| Linux | ubuntu-24.04 |
ubuntu-24.04-arm |
| Windows | windows-2025 |
windows-11-arm |
| macOS | macos-15-intel |
macos-15 |
Each target is tested with use_wrapper enabled and disabled. The wrapper is installed on Linux and Windows; macOS continues to run the Homebrew binary directly. The ubuntu-latest, windows-latest, and macos-latest aliases are also supported.
Authentication to StackQL providers is done via environment variables source from GitHub Actions Secrets. To learn more about authentication, see the setup instructions for your provider or providers at the StackQL Provider Registry Docs.
The following example demonstrate the use of the stackql/setup-stackql action in a GitHub Actions workflow, demonstrating how to use the action to install the stackql CLI and then use it to execute a StackQL query.
Check the "Use GitHub Provider" step in setup-stackql-test.yml for the working example, for more information on the GitHub provider for StackQL, see the GitHub Provider Docs.
- name: setup StackQL
uses: stackql/setup-stackql@v2
with:
use_wrapper: true
- name: Use GitHub Provider
run: |
stackql exec -i ./examples/github-example.iql
env:
STACKQL_GITHUB_USERNAME: ${{ secrets.STACKQL_GITHUB_USERNAME }}
STACKQL_GITHUB_PASSWORD: ${{ secrets.STACKQL_GITHUB_PASSWORD }}Check the "Use Google Provider" step in setup-stackql-test.yml for the working example, for more information on the Google provider for StackQL, see the Google Provider Docs.
- name: setup StackQL
uses: stackql/setup-stackql@v2
with:
use_wrapper: true
- name: Use Google Provider
run: |
stackql exec -i ./examples/google-example.iql
env:
GOOGLE_CREDENTIALS : ${{ secrets.GOOGLE_CREDENTIALS }}use_wrapper- (optional) Whether to install a wrapper to wrap subsequent calls of thestackqlbinary and expose its STDOUT, STDERR, and exit code as outputs namedstdout,stderr, andexitcoderespectively. Defaults tofalse.
This action does not configure any outputs directly. However, when you set the use_wrapper input
to true, the following outputs are available for subsequent steps that call the stackql binary:
stdout- The STDOUT stream of the call to thestackqlbinary.stderr- The STDERR stream of the call to thestackqlbinary.exitcode- The exit code of the call to thestackqlbinary.