mirror of
https://github.com/soconnor0919/resume-cv.git
synced 2025-12-15 07:24:43 -05:00
Compare commits
14 Commits
release-26
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| e54a0e36e6 | |||
| b055ed9d3d | |||
| ede400fd97 | |||
| 8aeb6a4745 | |||
| 7749d8c332 | |||
| 0549f77c4d | |||
| 7bebaea133 | |||
| 5f77e4e68c | |||
| 8f0ff2df68 | |||
| de9dfe2d7f | |||
| dd9c4c09ee | |||
| eed1e8714b | |||
| 7397a0177f | |||
| d0813ce1c6 |
70
.github/workflows/compile-latex.yml
vendored
70
.github/workflows/compile-latex.yml
vendored
@@ -12,9 +12,13 @@ permissions:
|
||||
|
||||
jobs:
|
||||
build-public:
|
||||
runs-on: ubuntu-24.04
|
||||
runs-on: ubuntu-latest
|
||||
container: ghcr.io/xu-cheng/texlive-alpine:latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Install system dependencies
|
||||
run: apk add --no-cache git gettext bash nodejs
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Create public info file
|
||||
env:
|
||||
@@ -40,7 +44,7 @@ jobs:
|
||||
mv personal_info.tex.tmp personal_info.tex
|
||||
|
||||
- name: Cache TeX Live
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
/tmp/texlive
|
||||
@@ -52,56 +56,48 @@ jobs:
|
||||
- name: Create TeX Live directory
|
||||
run: mkdir -p /tmp/texlive
|
||||
|
||||
- name: Set up TeX Live
|
||||
uses: xu-cheng/latex-action@v3
|
||||
with:
|
||||
root_file: |
|
||||
resume.tex
|
||||
cv.tex
|
||||
latexmk_use_xelatex: false
|
||||
- name: Compile LaTeX
|
||||
run: |
|
||||
latexmk -pdf -file-line-error -halt-on-error -interaction=nonstopmode resume.tex
|
||||
latexmk -pdf -file-line-error -halt-on-error -interaction=nonstopmode cv.tex
|
||||
|
||||
- name: List generated PDFs
|
||||
run: ls -la *.pdf
|
||||
|
||||
- name: Upload Public PDFs as Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
uses: akkuman/gitea-release-action@v1
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
files: |
|
||||
resume.pdf
|
||||
cv.pdf
|
||||
name: Latest PDFs
|
||||
tag_name: latest
|
||||
body: |
|
||||
Latest version of resume and CV (public version)
|
||||
|
||||
This release is automatically updated with each push to main. For versioned releases, see the numbered releases.
|
||||
prerelease: false
|
||||
draft: false
|
||||
fail_on_unmatched_files: true
|
||||
generate_release_notes: false
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
# Create a numbered release for version history
|
||||
- name: Create Numbered Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
uses: akkuman/gitea-release-action@v1
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
files: |
|
||||
resume.pdf
|
||||
cv.pdf
|
||||
name: Release ${{ github.run_number }}
|
||||
tag_name: release-${{ github.run_number }}
|
||||
body: |
|
||||
Version ${{ github.run_number }} of resume and CV (public version)
|
||||
prerelease: false
|
||||
draft: false
|
||||
fail_on_unmatched_files: true
|
||||
generate_release_notes: false
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
build-private:
|
||||
runs-on: ubuntu-24.04
|
||||
runs-on: ubuntu-latest
|
||||
container: ghcr.io/xu-cheng/texlive-alpine:latest
|
||||
if: github.actor == github.repository_owner
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Install system dependencies
|
||||
run: apk add --no-cache git gettext bash nodejs
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Create private info file
|
||||
env:
|
||||
@@ -133,7 +129,7 @@ jobs:
|
||||
mv personal_info.tex.tmp personal_info.tex
|
||||
|
||||
- name: Cache TeX Live
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
/tmp/texlive
|
||||
@@ -145,16 +141,16 @@ jobs:
|
||||
- name: Create TeX Live directory
|
||||
run: mkdir -p /tmp/texlive
|
||||
|
||||
- name: Set up TeX Live
|
||||
uses: xu-cheng/latex-action@v3
|
||||
with:
|
||||
root_file: |
|
||||
resume.tex
|
||||
cv.tex
|
||||
latexmk_use_xelatex: false
|
||||
- name: Compile LaTeX
|
||||
run: |
|
||||
latexmk -pdf -file-line-error -halt-on-error -interaction=nonstopmode resume.tex
|
||||
latexmk -pdf -file-line-error -halt-on-error -interaction=nonstopmode cv.tex
|
||||
|
||||
- name: List generated PDFs
|
||||
run: ls -la *.pdf
|
||||
|
||||
- name: Upload Private PDFs
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: private-documents
|
||||
path: |
|
||||
|
||||
@@ -15,8 +15,12 @@ This project demonstrates professional DevOps practices while providing a beauti
|
||||
## Latest PDFs
|
||||
|
||||
The most recent public versions are always available at:
|
||||
- Resume: `https://github.com/USERNAME/resume-cv/releases/download/latest/resume.pdf`
|
||||
- CV: `https://github.com/USERNAME/resume-cv/releases/download/latest/cv.pdf`
|
||||
- Resume: `https://github.com/soconnor0919/resume-cv/releases/download/latest/resume.pdf`
|
||||
- CV: `https://github.com/soconnor0919/resume-cv/releases/download/latest/cv.pdf`
|
||||
|
||||
If mirroring to Gitea:
|
||||
- Resume: `https://git.soconnor.dev/soconnor/resume-cv/releases/download/latest/resume.pdf`
|
||||
- CV: `https://git.soconnor.dev/soconnor/resume-cv/releases/download/latest/cv.pdf`
|
||||
|
||||
Replace `USERNAME` with your GitHub username after forking.
|
||||
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Check if building specific CV variant
|
||||
CV_VARIANT=""
|
||||
if [ "$1" = "cv-upenn" ]; then
|
||||
CV_VARIANT="cv-upenn"
|
||||
echo "Building UPenn-optimized CV..."
|
||||
fi
|
||||
|
||||
# Source secrets if the file exists
|
||||
if [ -f .secrets ]; then
|
||||
source .secrets
|
||||
@@ -78,7 +85,7 @@ EOL
|
||||
|
||||
build_local resume.tex
|
||||
build_local cv.tex
|
||||
|
||||
|
||||
mv resume.pdf output/resume-private.pdf 2>/dev/null || true
|
||||
mv cv.pdf output/cv-private.pdf 2>/dev/null || true
|
||||
fi
|
||||
@@ -99,12 +106,19 @@ cat > personal_info.tex << EOL
|
||||
\newcommand{\personalSchoolAddressLineThree}{~}
|
||||
EOL
|
||||
|
||||
build_local resume.tex
|
||||
build_local cv.tex
|
||||
# Build specific CV variant if requested
|
||||
if [ "$CV_VARIANT" = "cv-upenn" ]; then
|
||||
build_local cv-upenn.tex
|
||||
mv cv-upenn.pdf output/cv-upenn.pdf
|
||||
echo "UPenn CV build complete! Generated: output/cv-upenn.pdf"
|
||||
else
|
||||
build_local resume.tex
|
||||
build_local cv.tex
|
||||
|
||||
mv resume.pdf output/resume-public.pdf
|
||||
mv cv.pdf output/cv-public.pdf
|
||||
mv resume.pdf output/resume-public.pdf
|
||||
mv cv.pdf output/cv-public.pdf
|
||||
|
||||
echo "Build complete!"
|
||||
echo "Generated files in output/:"
|
||||
ls -l output/
|
||||
echo "Build complete!"
|
||||
echo "Generated files in output/:"
|
||||
ls -l output/
|
||||
fi
|
||||
|
||||
1
cv.tex
1
cv.tex
@@ -32,6 +32,7 @@ I'm passionate about human-robot interaction and developing technologies that ma
|
||||
\item Developing HRIStudio, a novel web-based platform addressing reproducibility challenges in Wizard-of-Oz HRI studies, with two first-author publications at IEEE RO-MAN 2024 and 2025
|
||||
\item Designed modular architecture enabling cross-platform robot control without specialized programming knowledge, lowering technical barriers for HRI researchers across disciplines
|
||||
\item Implemented comprehensive data logging and playback capabilities for experimental analysis, supporting rigorous scientific methodology in human-robot interaction studies
|
||||
\item Currently developing honors thesis evaluating platform effectiveness and impact on interdisciplinary HRI research accessibility
|
||||
\item Conducted literature review identifying key challenges in WoZ methodology reproducibility, informing platform design decisions and feature prioritization
|
||||
\end{itemize}
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
|
||||
\textbf{beenvoice - Professional Invoicing Application} \hfill \textbf{TypeScript/Next.js}
|
||||
\begin{itemize}[noitemsep,topsep=2pt]
|
||||
\item Built full-stack invoicing app with secure authentication, client management, and invoice generation deployed at beenvoice.vercel.app
|
||||
\item Built full-stack invoicing app with secure authentication, client management, and invoice generation
|
||||
\end{itemize}
|
||||
|
||||
\textbf{Formula One Performance Prediction Using Machine Learning} \hfill \textbf{Python/ML}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
\setlength{\parindent}{0pt}
|
||||
\setlength{\parskip}{0em}
|
||||
\usepackage{enumitem}
|
||||
\usepackage{hyperref}
|
||||
\usepackage[colorlinks=true,linkcolor=black,urlcolor=black,citecolor=black]{hyperref}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage[letterpaper,left=0.5in,top=0.5in,right=0.5in,bottom=0.5in]{geometry}
|
||||
|
||||
Reference in New Issue
Block a user