Build professional resumes from YAML files using YAMLResume CLI.
- Build multiple resumes in a single workflow step
- Customizable build options (skip validation, skip PDF)
- Outputs generated file paths for use in subsequent steps
- Works seamlessly with
actions/upload-artifact
Build a single resume:
- uses: yamlresume/action@v1
with:
resumes: resume.ymlBuild multiple resumes using newline-separated list:
- uses: yamlresume/action@v1
with:
resumes: |
resume-en.yml
resume-zh.yml
resume-fr.ymlGenerate only LaTeX files (useful for custom PDF pipelines):
- uses: yamlresume/action@v1
with:
resumes: resume.yml
no-pdf: trueSkip schema validation during build:
- uses: yamlresume/action@v1
with:
resumes: resume.yml
no-validate: trueUse with actions/upload-artifact to save generated files:
- uses: yamlresume/action@v1
id: build
with:
resumes: resume.yml
- uses: actions/upload-artifact@v4
with:
name: resume-pdf
path: resume.pdfname: Build Resume
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build resumes
id: build
uses: yamlresume/action@v1
with:
resumes: |
resume-en.yml
resume-zh.yml
verbose: true
- name: Upload PDF artifacts
uses: actions/upload-artifact@v4
with:
name: resumes
path: |
*.pdf
*.tex| Input | Description | Required | Default |
|---|---|---|---|
resumes |
Newline-separated list of resume YAML files to build | Yes | - |
no-validate |
Skip schema validation | No | false |
no-pdf |
Skip PDF generation (generate only LaTeX) | No | false |
verbose |
Enable verbose output | No | false |
version |
YAMLResume Docker image version | No | v0.11.2 |
| Output | Description |
|---|---|
pdf-files |
Newline-separated list of generated PDF files |
tex-files |
Newline-separated list of generated LaTeX files |
- uses: yamlresume/action@v1
id: build
with:
resumes: resume.yml
- run: |
echo "Generated PDFs:"
echo "${{ steps.build.outputs.pdf-files }}"
echo "Generated TeX files:"
echo "${{ steps.build.outputs.tex-files }}"- Runner: Linux (Ubuntu recommended) - Docker is required
- Docker: Must be available on the runner (GitHub-hosted Ubuntu runners include Docker)
Create a resume.yml file in your repository:
# yaml-language-server: $schema=https://yamlresume.dev/schema.json
---
content:
basics:
name: Your Name
headline: Your Title
email: your@email.com
summary: |
- Your professional summary
- Key achievements and skills
education:
- institution: University Name
degree: Bachelor
area: Computer Science
startDate: Sep 2016
endDate: Jul 2020
work:
- name: Company Name
position: Software Engineer
startDate: Aug 2020
endDate:
summary: |
- Achievement 1
- Achievement 2
skills:
- name: Programming
level: Expert
keywords:
- JavaScript
- Python
- TypeScript
locale:
language: en
layouts:
- engine: latex
template: moderncv-banking
typography:
fontSize: 11ptSee the YAMLResume documentation for the complete schema and available templates.
This action requires Docker to run the YAMLResume CLI. GitHub-hosted Ubuntu runners include Docker by default. If using self-hosted runners, ensure Docker is installed and available.
The action runs Docker containers with root privileges (-u root) to ensure
compatibility with GitHub Actions runners. This is required because GitHub
Actions runners expect root access to the workspace.
Enable verbose output to see detailed build logs:
- uses: yamlresume/action@v1
with:
resumes: resume.yml
verbose: trueContributions are welcome! Please see IMPLEMENTATION.md for technical details.
MIT License - see LICENSE for details.