diff --git a/README.md b/README.md index 4d1cce1..8256765 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,54 @@ +# Install CIRCT + Composite GitHub action to install [`llvm/circt`](https://github.com/llvm/circt) libraries and binaries. + +# Usage + +```yaml +- name: Install CIRCT + uses: seldridge/install-circt@v1.0.0 + with: + # The version of CIRCT to install. This must match a release of CIRCT, + # e.g., 'firtool-1.56.1' or one of the following special strings: + # - 'nightly' installs the latest nightly + # - 'version-file' installs the release specified by a JSON file whose + # location is set by the 'version-file' input. This is done to + # facilitate Continuous Delivery (CD) flows because GitHub Actions are + # not allowed to modify anything in the '.github/' directory. + # + # Default: 'version-file' + version: '' + + # A path to a JSON file that sets the CIRCT version to use. This is + # required, but can be a dummy value if the user will not use the + # 'version-file' option for the 'version' input. + # + # The format of this JSON file is as follows where '' should be + # replaced with a CIRCT release: + # + # { + # "version": "" + # } + # + # Default: './etc/circt.json' + version-file: '' + + # The GitHub token used to download CIRCT nightly. + # + # Default: ${{ github.token }} + github-token: '' + + # The name of the CIRCT tarball to install. For available tarballs, see + # what is uploaded by a nightly build or by a release. Example values are: + # - 'circt-full-shared-linux-x64.tar.gz' + # - 'firrtl-bin-macos-x64.tar.gz' + # + # Default: 'circt-full-shared-linux-x64.tar.gz' + file-name: '' + + # The directory where CIRCT will be installed. + # + # Default: 'circt' + install-dir: '' +``` diff --git a/action.yml b/action.yml index 896ae14..f017855 100644 --- a/action.yml +++ b/action.yml @@ -1,33 +1,43 @@ -name: Install CIRCT +name: 'Install CIRCT' +description: 'Install pre-built binaries and libraries from llvm/circt' inputs: version: description: | - The version of CIRCT to install. This must match a release of CIRCT with - two exceptions used to indicate special versions: - - "nightly" installs the latest nightly - - "version-file" installs using a version specified by a JSON file whose - location is set by the "version-file" input. This is done to - facilitate Continuous Delivery (CD) flows. + The version of CIRCT to install. This must match a release of CIRCT, + e.g., 'firtool-1.56.1' or one of the following special strings: + - 'nightly' installs the latest nightly + - 'version-file' installs the release specified by a JSON file whose + location is set by the 'version-file' input. This is done to + facilitate Continuous Delivery (CD) flows because GitHub Actions are + not allowed to modify anything in the '.github/' directory. required: true default: 'version-file' version-file: description: | A path to a JSON file that sets the CIRCT version to use. This is required, but can be a dummy value if the user will not use the - "version-file" option for the "version" input. + 'version-file' option for the 'version' input. + + The format of this JSON file is as follows where '' should be + replaced with a CIRCT release: + + { + "version": "" + } required: true default: './etc/circt.json' github-token: description: | - The GitHub token used to download CIRCT nightly. It is unlikely that the - user needs to set this differently from the default. + The GitHub token used to download CIRCT nightly. required: true default: ${{ github.token }} file-name: description: | The name of the CIRCT tarball to install. For available tarballs, see - what is uploaded by a nightly build or by a release. + what is uploaded by a nightly build or by a release. Example values are: + - 'circt-full-shared-linux-x64.tar.gz' + - 'firrtl-bin-macos-x64.tar.gz' required: true default: 'circt-full-shared-linux-x64.tar.gz' install-dir: