GitHub Action
regctl-installer
This Action downloads regctl
and
adds it to your PATH
, with optional signature verification if you use
Cosign.
For a quick start guide on the usage of regctl
, refer to
its documentation.
For available regctl
releases, refer to
its releases.
This action supports Linux, macOS and Windows runners (results may vary with self-hosted runners).
- name: Install regctl
uses: iarekylew00t/regctl-installer@v3
Note
cosign
must be in your PATH
for signature verification or it will be
skipped - See
Automatic verification with Cosign.
Name | Type | Description | Default |
---|---|---|---|
regctl-release |
String | regctl release version to be installed |
latest |
verify |
Boolean | Perform signature verification on regctl |
true |
cache |
Boolean | Whether to utilize cache with regctl |
true |
token |
String | GitHub token for REST API access | ${{ github.token }} |
Name | Type | Description |
---|---|---|
version |
String | The version of regctl the was installed |
cache-hit |
Boolean | If regctl was installed via cache |
- name: Install regctl
uses: iarekylew00t/regctl-installer@v3
with:
regctl-release: v0.7.1
- name: Install regctl
uses: iarekylew00t/regctl-installer@v3
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ github.token }}
- name: Install regctl
uses: iarekylew00t/regctl-installer@v3
- name: Login to DockerHub
run: |
echo "${{ secrets.DOCKERHUB_TOKEN }}" | \
regctl registry login docker.io \
--user "${{ vars.DOCKERHUB_USERNAME }}" \
--pass-stdin
- name: Login to GHCR
run: |
echo "${{ github.token }}" | \
regctl registry login ghcr.io \
--user "${{ github.actor }}" \
--pass-stdin
- name: Install Cosign
uses: sigstore/cosign-installer@v3.6.0
- name: Install regctl
uses: iarekylew00t/regctl-installer@v3
Caution
Since this is a TypeScript action you must transpile it into native
JavaScript. This is done for you automatically as part of the npm run all
command and will be validated via the
check-dist.yml
Workflow in any PR.
-
⚙️ Install the version of Node.js as defined in the
.node-version
.
You can use asdf to help manage your project runtimes.asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git asdf install
-
🛠️ Install dependencies
npm install
-
🏗️ Format, lint, test, and package your code changes.
npm run all
For maintainers, the following release process should be used when cutting new versions.
-
⏬ Ensure all changes are in the
main
branch and all necessary Workflows are passing.git checkout main git pull
-
✅ Ensure the
package.json
andpackage-lock.json
files are updated to with the new version being cut.npm update
-
🔖 Create a new Tag, push it up, then create a new Release for the version.
git tag v1.2.3 git push -u origin v1.2.3
Alternatively you can create the Tag on the GitHub Release page itself.
When the tag is pushed it will kick off the Shared Tags Workflows to update the
v$MAJOR
andv$MAJOR.MINOR
tags.
Feel free to contribute and make things better by opening an
Issue or
Pull Request.
Thank you for your contribution! ❤️
See LICENSE.