stoplightio / spectral-action

GitHub Action wrapper for Spectral - a JSON/YAML/OpenAPI/AsyncAPI/etc linter with custom rule support.
https://stoplight.io/open-source/spectral
Apache License 2.0
89 stars 46 forks source link

Build, deploy and then use prebuilt docker image #623

Open carlreid opened 2 years ago

carlreid commented 2 years ago

This relates to https://github.com/stoplightio/spectral-action/issues/452.

With these changes, once a PR is merged to master or a tag is added (e.g. v0.8.3), the new container-build.yml workflow will run. This will then build some metadata for the image, login to Github Container Registry, and then build/push the package. The package will appear here. You can see an example of how it would look on my fork here.

Then the action will now load the image from this public registry path: image: 'docker://ghcr.io/stoplightio/spectral-action:0.8.3'

It makes use of the public registry using the syntax described here and here (this is gcr, we will use ghcr).

You can see the CI test passing and pulling the image as expected here.

Note: You will need to add a secret to this repository called CR_PAT which has the write:packages permission from a Personal Access Token (aka PAT). It will needs to be created here.