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 "Preview" 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 is what 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 https://docs.google.com/viewer?url=https://github.com/<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 using Google Docs
Submission Category: Wacky Wildcards
When I first realized I could basically code my resume in LaTeX, 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.
Yaml File or 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.
rohit-gohri / resume-template
1 Page LaTeX Resume template with CI/CD
Resume
Automatically built resume with LaTeX. The structure for sections is defined in resume.cls
file. While the content is in resume.tex
.
Based on the CV For Freshers template on Overleaf.
Preview latest version
Download latest version
My Resume
Resources
Blog Post: CI/CD for your Resume
Links
- Begin Latex
- Latex Advice
- Useful Packages
- Overleaf: Online Editor
- Original Template
- Automatic builds with Github Actions on every push and automatic releases on publishing tags
Using as a template
Use the green "Use this template" button to create a new repository with this repository's files as a template. There are two files only:
-
resume.cls
: Defines the structure and all the custom commands. No need to modify this. -
resume.tex
: This is the file where all your content for the resume goes. Your name, email, links, etc. are defined through commands. Feel free to move things around and change them.
If there…
Additional Resources / Info
- 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
Top comments (2)
This is very cool! It might be time for me to add cloud CI/CD to me resume repo github.com/RichardBronosky/resume#... It currently has a docker based compile script for LaTeX, but it might be fun to be able to run the build as a github action instead of local. But, I don't ever expect that I would ever edit it via the web UI.
True, web UI is mostly for small changes/typos. But maybe with codespaces it might become more common to edit directly on the web.