Skip to content

Automate new releases and asciinema Gifs #345

@sahansk2

Description

@sahansk2

The automated demo on the README is difficult to test right now - we can only tell if there's an error when we try to push a new version, but if there's an error and we push a fix to previewgif.sh, if the fix for previewgif.sh is on an untagged commit, then GitHub Actions won't even try to generate the automated demo. This is a hassle, and the way to fix this would be to update the CI workflow that triggers when we want to create a new release.
This is what the workflow would look like:

  • We update the Git Gud version on our end (modify version.txt)
  • We push to GH actions

Here's the skeleton of the GitHub Action that's triggered:

  • If GH actions notices that the version number has been updated (via comparing commit files)
    • Generate the asciinema
    • Update asciinema version, which seems to be some kind of generated artifact from CI
    • Create a PR to master
    • merge the PR that we just generated
  • If the asciinema_version == version.txt and version.txt isn't an actual version
    • Tag the current version
    • Publish to pypi

This is a rough skeleton - there may be some intermediate steps but this is the main gist of it.

There's probably a way to leveraging existing workflows and conditionally running them using the GitHub Action parameter workflow_run.

Lastly, I made a StackOverflow post when I first had to create this automated GIF: https://stackoverflow.com/questions/53969566/how-can-i-use-scripting-automation-to-record-asciinema-recordings. This could be helpful if you're tackling this issue. I also discovered a program terminalizer much later that might be worth looking into.

Metadata

Metadata

Assignees

No one assigned

    Labels

    docsDocumenting Git Gud and its codegood first issueGood for newcomershelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions