Gotta Deploy em All
https://hugonikanor.github.io/pokemon-stuff
I have recently played a bit of Pokémon, trying to finally complete my Platinum living dex. Keeping track of which 'mons I was missing was however becoming ever more difficult, since many of the "empty" spaces where filled with extra Pokémon which I didn't have the heart to release (or simple needed for trade fodder later). The solution was obvious: create a program to help me with the tracking!
https://github.com/HugoNikanor/pokemon-stuff
With a working prototype in hand I realized I wanted to share the program, but didn't feel comfortable self-hosting it, since I don't have any proper deployment chains at the moment. So why not deploy it on someone else's server, while simultaneously testing another CI/CD system in to better understand what I want myself.
https://github.com/HugoNikanor/pokemon-stuff/blob/master/.github/workflows/main.yml
Writing the workflow took quite a few tries. GitHub actions are sufficiently
documented, if you know where to look. I didn't. I however eventually figured
out how to share artifacts between jobs (but not between different jobs...),
and how to automatically deploy to GitHub pages. The major hurdles to overcome
was that the actions/deploy-pages@v2
module didn't make it to clear which
format it wanted its input on, and that it, along with
actions/upload-page-artifacts@v1.0.8
specified that a gzipped tarball was
needed, while only providing a non-zipped one (which thankfully worked).
The final result is available at https://hugonikanor.github.io/pokemon-stuff, and my current "save file" is
000000000000000000000000000000000000100000000000000000000000800500e00080012000000083012a00001c200200000000c0001000000000000c
It's unfortunately Base16 encoded instead of Base64 encoded, since JavaScripts
atob
and btoa
procedures insisted on the binary data being valid strings,
which kind of defeats the point.
A footnote about Spriters Resource: The Pokémon sprites used are pulled from Spriters Resource (see the GitHub action). These are obviously "stolen", which makes me find it interesting/humorous that so many demand credit for their work. In this case credit is actually given, by me exporting the un-cropped sprite sheet to the client (not displaying it, but it's technically there).
