mirror of
https://github.com/earthly/actions-setup.git
synced 2024-12-25 22:11:38 +08:00
2.2 KiB
2.2 KiB
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 islatest
. 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.