After ending up with countless PDFs of my resume and never being sure of which one is the final version. I decided to start versioning it with the tool I already knew, Git. After finding a good enough LaTeX template, a git init, and some commits later, I had a good enough resume template with a working Github Action that would publish the generated PDF as a release artifact on every tag. I also added generated PDFs as build artifacts for every commit to preview changes without having access to a working LaTeX env, so that one may be able to make edits from their phone.

My Workflow

I simply edit the tex file using the Web Editor and commit my changes. The Github workflow will build and generate a pdf that I can preview using the build artifact.


Once I'm satisfied with the edits, I will create a new release, this will trigger the "Release" pipeline. It will build and publish the pdf as a release artifact.


The release allows me to always have access to the latest version of my resume at the /releases/latest/download/Preview.pdf path of my repository.

Download latest version

More than that, I can preview it directly in my browser using Google Docs by using<username>/<repo>/releases/latest/download/Preview.pdf. I can create a short url of this that I can give to anyone knowing it'll always point to the latest resume without having to worry about updating it.

Preview latest version


When I first realized I could basically code my resume, it finally stopped becoming something I dreaded doing and became something I actively wanted to improve. Adding CI/CD to it was the next natural step.

Link to Code

This is a Github Template Project with a LaTeX resume template and Github Workflows. You may use this template or add your own LaTeX files to build those.

resume-template github badge

Additional Resources

  • My Resume that is using a similar workflow, but with some added integrations to sync my blog with the latest version of my resume:

resume github badge