Skip to content

pkl-community/setup-pkl

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

setup-pkl GitHub Action

GitHub Super-Linter CI Check dist/ Coverage

Caution

This GitHub Action is in PRE-RELEASE, meaning there may be unintended behaviour, and there is no guarantee of stability between versions. The major version is currently v0 to reflect this.

This is a GitHub Action to install a binary for Pkl and add it to the PATH.

Note

This is a project from the Pkl open-source community, and is not affiliated with Apple in any way.

Example Usage

steps:
  - name: Install pkl
    uses: pkl-community/setup-pkl@v0
    with:
      pkl-version: 0.25.2

Options

  • pkl-version - the Pkl version to use. It must be a valid tag from the official Apple releases
  • github-token - the GitHub token that will be used to download the Pkl binary asset (this action uses the GitHub API to find the download link for the given release). Defaults to ${{ github.token }}, which should satisfy almost all cases (as its being used to download a public asset)

Development

Setup

First clone the repository to your local machine. Then:

  1. 🔀 Use nvm to select the right Node version

    nvm use
  2. 🛠️ Install the dependencies

    npm install
  3. 🏗️ Package the TypeScript for distribution

    npm run bundle
  4. ✅ Run the tests

    npm test

This action makes use of the GitHub Actions toolkit, see the documentation for more info.

Publishing a New Release

This project includes a helper script, script/release designed to streamline the process of tagging and pushing new releases for GitHub Actions.

GitHub Actions allows users to select a specific version of the action to use, based on release tags. This script simplifies this process by performing the following steps:

  1. Retrieving the latest release tag: The script starts by fetching the most recent release tag by looking at the local data available in your repository.
  2. Prompting for a new release tag: The user is then prompted to enter a new release tag. To assist with this, the script displays the latest release tag and provides a regular expression to validate the format of the new tag.
  3. Tagging the new release: Once a valid new tag is entered, the script tags the new release.
  4. Pushing the new tag to the remote: Finally, the script pushes the new tag to the remote repository. From here, you will need to create a new release in GitHub and users can easily reference the new tag in their workflows.