# Review, lint & publish with GitHub Actions

The following steps introduce the [GitHub action](https://github.com/tesslio/setup-tessl) to your repository. This action sets up `tessl` so it can be used for any CI/CD use case, such as auto-publishing tiles, linting or running skill reviews on PRs, etc.

If you're migrating your skill into Tessl's registry, using the GitHub action will automatically link your tile to the repository, and all skills we previously indexed in the repository will be hidden and redirected to the tiles.\
\
See Tessl's [setup-tessl GitHub action](https://github.com/tesslio/setup-tessl) for additional options and information.

{% stepper %}
{% step %}

### Create your workflow

Create your workflow file in `.github/workflows` for your desired action. For example, [here's how you'd set up an auto-publish action](https://github.com/tesslio/setup-tessl?tab=readme-ov-file#publish-a-tile-on-push).
{% endstep %}

{% step %}

### Create an API Key

Log into [Tessl](https://tessl.io/registry) on web UI, then navigate to [API keys](https://tessl.io/account/api-keys). Create a new API key. Copy the value as it will only be shown once.

![](https://1171143958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXbWzspFdXV0HNujz6gJ9%2Fuploads%2FkBXtGyhTvsXucynNF9rg%2Fimage.png?alt=media\&token=5a1da18b-8d36-4e74-b226-dc85811a451f)
{% endstep %}

{% step %}

### Add your API Key as a Repository Secret

In GitHub, navigate to your repo **Settings**, select **Secrets and variables**, under actions find **New Repository Secret**. Provide the name: `TESSL_TOKEN` and the value is the Tessl API key you procured in the earlier step.
{% endstep %}

{% step %}

### Run your workflow

Kick off your workflow by running the relevant trigger, or manually triggering from the UI if you enabled that in your workflow definition.
{% endstep %}
{% endstepper %}
