Skip to content

jahands/earthly-actions-setup

 
 

Repository files navigation

Setup Earthly - GitHub Action

This repository contains an action for use with GitHub Actions, which installs earthly with a semver-compatible version.

The package is installed into /home/runner/.earthly (or equivalent on Windows) and the bin subdirectory is added to the PATH.

Usage

Full example:

name: GitHub Actions CI

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  tests:
    name: example earthly test
    runs-on: ubuntu-latest
    steps:
      - uses: earthly/actions-setup@v1
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          version: "latest" # or pin to an specific version, e.g. "0.8.1"
      - uses: actions/checkout@v2
      - name: Docker login # to avoid dockerhub rate-limiting
        run: docker login --username "${{ secrets.DOCKERHUB_USERNAME }}" --password "${{ secrets.DOCKERHUB_PASSWORD }}"
      - name: what version is installed?
        run: earthly --version
      - name: run the earthly hello world
        run: earthly github.com/earthly/hello-world:main+hello

Install the latest version of earthly:

- name: Install earthly
  uses: earthly/actions-setup@v1
  with:
    github-token: ${{ secrets.GITHUB_TOKEN }}

Install a specific version of earthly:

- name: Install earthly
  uses: earthly/actions-setup@v1
  with:
    github-token: ${{ secrets.GITHUB_TOKEN }}
    version: 0.8.1

Install a version that adheres to a semver range

- name: Install earthly
  uses: earthly/actions-setup@v1
  with:
    github-token: ${{ secrets.GITHUB_TOKEN }}
    version: ^0.8.0

Testing

You can perform a local test by running earthly +all.

It is also possible to use act to test the contents of the github actions config.

Configuration

The action can be configured with the following arguments:

  • version - The version of earthly to install. Default is latest. Accepts semver style values.
  • prerelease (optional) - allow prerelease versions.
  • use-cache (optional) - whether to use the cache to store earthly or not.
  • github-token (optional) - GitHub token for fetching earthly version list. Recommended to avoid GitHub API ratelimit.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 75.7%
  • Earthly 21.2%
  • JavaScript 3.1%