DEV Community

Cover image for CI/CD for your Resume!
Rohit Gohri
Rohit Gohri

Posted on • Originally published at rohit.page

CI/CD for your Resume!

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.

Preview Workflow

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.

Release Workflow

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.

GitHub logo rohit-gohri / resume-template

1 Page LaTeX Resume template with CI/CD

Resume

Build Status Release

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

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)

Collapse
 
brunobronosky profile image
Bruno Bronosky

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.

Collapse
 
rohit_gohri profile image
Rohit Gohri

True, web UI is mostly for small changes/typos. But maybe with codespaces it might become more common to edit directly on the web.