Release 0.21.0 of Spellcheck (GitHub) Action - a maintenance release and an architectural challenge
Tags: opensource, release, githubaction
Published: 2022-01-26 20:23:22

---
title: Release 0.21.0 of Spellcheck (GitHub) Action - a maintenance release and an architectural challenge
published: true
description: Maintenance release of GH action and an architectural challenge
tags: opensource, release, githubaction
//cover_image: https://direct_url_to_image.jpg
---
I got another PR for the [Spellcheck Action](https://github.com/rojopolis/spellcheck-github-actions) from by _automatic_ friend Dependabot.

I thought I would just squeeze out a fast release from my brand new laptop. Everything went smooth, local test went well and the Docker images were uploaded to DockerHub, the release was pushed to the [GitHub Marketplace](https://github.com/marketplace/actions/github-spellcheck-action) and I could jump to bed.

Next morning I had gotten a tweet and [an issue](https://github.com/rojopolis/spellcheck-github-actions/issues/79) from Chris Patterson ([@chrispat](https://github.com/chrispat)).

Luckily the information provided me with sufficient details to spot the mistake:

> Latest container version failing on runners due to architecture mismatch

I had:

1. Applied the changes on my new laptop
2. Build the new artefact on my new laptop
3. Pushed the artefacts from my new laptop

So I checked out the repository via SSH on my old laptop, built using Docker and tested again. Tweaked the change log and made a bug fix release (0.21.1).

This time I tested that the pushed Docker image artefact prior to releasing it to the GitHub Marketplace and things worked, so I shipped a bug fix release.

I have updated my [test notes](https://github.com/rojopolis/spellcheck-github-actions/wiki/Testing) and created [an issue](https://github.com/rojopolis/spellcheck-github-actions/issues/80) about automating the release process to minimize the risk of human error.

Below is the User Story describing, the automation task. I do however believe I might have some challenges being the only the maintainer, now the owner of the repository, but let's see where this takes us. Perhaps moving to GitHub Container Registry from DockerHub, can eliminate the need to share my _secrets_ with the original author.

By reporting issues, sending tweets or contributing PRs you also _automatically_ become my friend - just like dependabot.

Take care,

jonasbn

## :abc: User Story

> As a maintainer
> I can build a Docker image automatically and have it uploaded to a container registry
> so that I can make sure that it is built on a compatible platform

### :information_source: Notes

- Issue #79 demonstrated that it is better to have a automated build and release process to eliminate human error, in this case the human error was that the Docker image was build on a incompatible architecuture
- Container registries could be one of:
  - DockerHub (currently uses)
  - GitHub Container Registry, _ghcr_ for short
- I is expected that at secret token is requested by the container registry chosen
  - This has tp be configured for the GitHub repository, this can be problematic since the repository is owned by somebody else than the current maintainer
- Automated build is already in place, see: [`docker-build.yml`](https://github.com/rojopolis/spellcheck-github-actions/blob/master/.github/workflows/docker-build.yml)

### :ok: Acceptance Criteria

- [ ] I can build automatically
- [ ] I can push to a container registry
- [ ] the built image is compatible with GitHub Actions

### :arrow_right: Resources and References

- N/A