A robust, automated solution for creating and maintaining a professional resume using LaTeX, Docker, and GitHub Actions. This project provides a streamlined workflow for generating a high-quality PDF from a .tex source, ensuring consistency and simplifying version control.
The following sequence-diagram illustrates the automated build process:
The repository is organized as follows:
resume-builder/
βββ .github/
β βββ workflows/
β βββ compile.yml # GitHub Actions workflow for automated builds
βββ data/
β βββ resume.tex # The main LaTeX source file for the resume
βββ docs/
β βββ resume.pdf # The generated PDF output
βββ Dockerfile # Defines the containerized build environment
βββ action.yml # Defines the custom GitHub Action
βββ README.md # This file
- Edit
data/resume.texwith your information. - Commit and push your changes to the
mainbranch. - GitHub Actions will automatically:
- Compile the LaTeX source file.
- Commit the updated
resume.pdfto thedocs/directory.
- Docker for the containerized build.
- A local LaTeX distribution (e.g., TeX Live, MiKTeX) for manual compilation.
This method uses the containerized environment for a consistent build.
# Build the Docker image
docker build -t resume-builder .
# Run the container, mounting the current directory
# The generated PDF will be in the `docs/` folder
docker run --rm -v "$(pwd):/github/workspace" resume-builderIf you have a local LaTeX installation, you can compile the resume directly.
# Compile the .tex file and place the output in the docs/ directory
pdflatex -output-directory=docs data/resume.texContributions are welcome! If you have suggestions for improvements, please open an issue or submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.