Hacker News new | ask | show | jobs
by ahepp 914 days ago
Here's one:

https://github.com/ahepp/resume/blob/d7778b1339271cbd7812634...

It uses GitHub's devcontainer plugin. There's a devcontainer config at .devcontainer/devcontainer.json, which says to use the image specified by .ci/Dockerfile.

So when I'm developing on any Linux system, I can run

    $ docker build .ci/Dockerfile -t my-container
    $ docker run --rm -it -v $(pwd):/project -w /project my-container
And have a shell with my LaTeX environment all ready to go.

I can also create a GitHub codespace from the devcontainer config. I'm excited to explore more of the possibilities with devcontainers. I've included Dockerfiles with all my projects for quite a while now, it's cool to have some kind of standard written down that tooling can be written for.

I think the GitHub YAML a slight improvement over the old Jenkins configs it replaced:

https://github.com/ahepp/resume/commit/a144ee06b868ae867b287...

For one, there's no out-of-band Jenkins UI I need to configure the pipeline in. The syntax is probably a slight improvement over Jenkins. I'm also happy to use opaque plugins for certain things, like uploading to S3.

1 comments

Thank you for sharing! This shows nicely how you can keep the GitHub YAML at minimum by referring to an action (in this case devcontainers/ci) which configures itself based on the content of the repo.