I Built My Own CI/CD, and the Interesting Part Wasn't the CI
On replacing GitHub Actions with something that owns almost nothing — and why that turned out to be the whole point.
34 posts tagged “github-actions”.
On replacing GitHub Actions with something that owns almost nothing — and why that turned out to be the whole point.
:warning: 17 Feb 2022: There have been reports of running tmate causing account suspensions . See this issue for details. Continue with caution.
I previously wrote about Packaging a Python CLI tool for Homebrew. I've now figured out a pattern for automatically updating those formulas over time, using GitHub Actions.
I used to use a combination of and in all of my Python GitHub Actions projects in order to install Python dependencies via a cache, rather than hitting PyPI to download copies every time.
I used the new GitHub Code Search to figure out how to do this. I searched for: 3.11 path:workflows/ .yml And found this example from which showed that the version tag to use is: 3.11-dev Update 28th…
My datasette-export-notebook plugin worked fine in the stable release of Datasette, currently version 0.64.3, but failed in the Datasette 1.0 alphas. Here's the issue describing the problem.
I figured out how to serve a JavaScript project built using Vite using GitHub Pages and a custom build script that runs using GitHub Actions.
I wanted to ensure that when this template repository was used to create a new repo that repo would have a specific set of labels.
For Datasette Desktop I wanted to run an action which, when I created a release, would build an asset for that release and then upload and attach it.
I'm trying a new thing: a private daily planner, where each day I note down my goals for the day and make notes on my progress towards them as the day progresses.
The GitHub Actions default runner currently includes an installation of PostgreSQL 13. The server is not running by default but you can interact with it like this: You can install alternative…
I decided to adopt Prettier as the JavaScript code style for Datasette, based on my success with Black for Python code.
I really like Cog (previously) as a tool for automating aspects of my Python project documentation - things like the SQL schemas shown on the LLM logging page.
My simonwillisonblog-backup workflow periodically creates a JSON backup of my blog's PostgreSQL database, using db-to-sqlite and sqlite-diffable.
GitHub Actions workflows fail if any of the steps executes something that returns a non-zero exit code. Today I learned that returns a non-zero exit code if it fails to find any matches.
Say you have a workflow that runs hourly, but once a day you want the workflow to run slightly differently - without duplicating the entire workflow. Thanks to @BrightRan, here's the solution.
I got a bug report concerning my sqlite-fts4 project running on PPC64 and s390x architectures. The s390x is an IBM mainframe architecture, which I found glamorous!
I wanted to have a GitHub Action step run that might fail, but if it failed the rest of the steps should still execute and the overall run should be treated as a success.
This recipe runs a Python script to update a README, then commits it back to the parent repo but only if it has changed: My first attempt threw an error if I tried o run and the README had not…
Spotted in this Cloud Run example: Useful if you don't want people opening pull requests against your repo that inadvertantly trigger a deploy action!