11 Commits

Author SHA1 Message Date
8aeb6a4745 fix: downgrade upload-artifact to v3 for gitea compatibility 2025-11-30 19:31:50 -05:00
7749d8c332 fix: use glob pattern for release artifacts 2025-11-30 18:50:35 -05:00
0549f77c4d docs: add gitea release urls 2025-11-30 18:49:33 -05:00
7bebaea133 fix: install nodejs for action compatibility 2025-11-30 18:37:26 -05:00
5f77e4e68c fix: switch to ncipollo/release-action for gitea compatibility 2025-11-30 18:36:31 -05:00
8f0ff2df68 refactor: use container job strategy for gitea compatibility 2025-11-30 18:32:06 -05:00
de9dfe2d7f Update README.md 2025-11-30 17:48:21 -05:00
dd9c4c09ee fix: correct typo in resume.tex itemize environment 2025-11-30 17:18:41 -05:00
eed1e8714b fix: update github actions runner and dependencies 2025-11-30 17:16:08 -05:00
7397a0177f Update build-local 2025-11-30 16:08:05 -05:00
d0813ce1c6 Enhance CV and resume with new project details and LaTeX package adjustments
- Added current honors thesis project to CV, focusing on platform effectiveness in HRI research
- Updated resume to correct formatting of beenvoice project description
- Modified LaTeX hyperref package options for improved link visibility
2025-10-08 10:35:12 -04:00
6 changed files with 65 additions and 51 deletions

View File

@@ -12,9 +12,13 @@ permissions:
jobs: jobs:
build-public: build-public:
runs-on: ubuntu-24.04 runs-on: ubuntu-latest
container: ghcr.io/xu-cheng/texlive-alpine:latest
steps: 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 - name: Create public info file
env: env:
@@ -40,7 +44,7 @@ jobs:
mv personal_info.tex.tmp personal_info.tex mv personal_info.tex.tmp personal_info.tex
- name: Cache TeX Live - name: Cache TeX Live
uses: actions/cache@v3 uses: actions/cache@v4
with: with:
path: | path: |
/tmp/texlive /tmp/texlive
@@ -52,56 +56,50 @@ jobs:
- name: Create TeX Live directory - name: Create TeX Live directory
run: mkdir -p /tmp/texlive run: mkdir -p /tmp/texlive
- name: Set up TeX Live - name: Compile LaTeX
uses: xu-cheng/latex-action@v3 run: |
with: latexmk -pdf -file-line-error -halt-on-error -interaction=nonstopmode resume.tex
root_file: | latexmk -pdf -file-line-error -halt-on-error -interaction=nonstopmode cv.tex
resume.tex
cv.tex
latexmk_use_xelatex: false
- name: Upload Public PDFs as Release - name: Upload Public PDFs as Release
uses: softprops/action-gh-release@v1 uses: ncipollo/release-action@v1.14.0
with: with:
files: | artifacts: "*.pdf"
resume.pdf
cv.pdf
name: Latest PDFs name: Latest PDFs
tag_name: latest tag: latest
body: | body: |
Latest version of resume and CV (public version) 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. This release is automatically updated with each push to main. For versioned releases, see the numbered releases.
prerelease: false prerelease: false
draft: false draft: false
fail_on_unmatched_files: true allowUpdates: true
generate_release_notes: false replacesArtifacts: true
env: token: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Create a numbered release for version history # Create a numbered release for version history
- name: Create Numbered Release - name: Create Numbered Release
uses: softprops/action-gh-release@v1 uses: ncipollo/release-action@v1.14.0
with: with:
files: | artifacts: "*.pdf"
resume.pdf
cv.pdf
name: Release ${{ github.run_number }} name: Release ${{ github.run_number }}
tag_name: release-${{ github.run_number }} tag: release-${{ github.run_number }}
body: | body: |
Version ${{ github.run_number }} of resume and CV (public version) Version ${{ github.run_number }} of resume and CV (public version)
prerelease: false prerelease: false
draft: false draft: false
fail_on_unmatched_files: true allowUpdates: true
generate_release_notes: false token: ${{ secrets.GITHUB_TOKEN }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
build-private: 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 if: github.actor == github.repository_owner
steps: 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 - name: Create private info file
env: env:
@@ -133,7 +131,7 @@ jobs:
mv personal_info.tex.tmp personal_info.tex mv personal_info.tex.tmp personal_info.tex
- name: Cache TeX Live - name: Cache TeX Live
uses: actions/cache@v3 uses: actions/cache@v4
with: with:
path: | path: |
/tmp/texlive /tmp/texlive
@@ -145,16 +143,13 @@ jobs:
- name: Create TeX Live directory - name: Create TeX Live directory
run: mkdir -p /tmp/texlive run: mkdir -p /tmp/texlive
- name: Set up TeX Live - name: Compile LaTeX
uses: xu-cheng/latex-action@v3 run: |
with: latexmk -pdf -file-line-error -halt-on-error -interaction=nonstopmode resume.tex
root_file: | latexmk -pdf -file-line-error -halt-on-error -interaction=nonstopmode cv.tex
resume.tex
cv.tex
latexmk_use_xelatex: false
- name: Upload Private PDFs - name: Upload Private PDFs
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: private-documents name: private-documents
path: | path: |

View File

@@ -15,8 +15,12 @@ This project demonstrates professional DevOps practices while providing a beauti
## Latest PDFs ## Latest PDFs
The most recent public versions are always available at: The most recent public versions are always available at:
- Resume: `https://github.com/USERNAME/resume-cv/releases/download/latest/resume.pdf` - Resume: `https://github.com/soconnor0919/resume-cv/releases/download/latest/resume.pdf`
- CV: `https://github.com/USERNAME/resume-cv/releases/download/latest/cv.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. Replace `USERNAME` with your GitHub username after forking.

View File

@@ -1,5 +1,12 @@
#!/bin/bash #!/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 # Source secrets if the file exists
if [ -f .secrets ]; then if [ -f .secrets ]; then
source .secrets source .secrets
@@ -99,6 +106,12 @@ cat > personal_info.tex << EOL
\newcommand{\personalSchoolAddressLineThree}{~} \newcommand{\personalSchoolAddressLineThree}{~}
EOL EOL
# 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 resume.tex
build_local cv.tex build_local cv.tex
@@ -108,3 +121,4 @@ mv cv.pdf output/cv-public.pdf
echo "Build complete!" echo "Build complete!"
echo "Generated files in output/:" echo "Generated files in output/:"
ls -l output/ ls -l output/
fi

1
cv.tex
View File

@@ -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 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 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 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 \item Conducted literature review identifying key challenges in WoZ methodology reproducibility, informing platform design decisions and feature prioritization
\end{itemize} \end{itemize}

View File

@@ -64,7 +64,7 @@
\textbf{beenvoice - Professional Invoicing Application} \hfill \textbf{TypeScript/Next.js} \textbf{beenvoice - Professional Invoicing Application} \hfill \textbf{TypeScript/Next.js}
\begin{itemize}[noitemsep,topsep=2pt] \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} \end{itemize}
\textbf{Formula One Performance Prediction Using Machine Learning} \hfill \textbf{Python/ML} \textbf{Formula One Performance Prediction Using Machine Learning} \hfill \textbf{Python/ML}

View File

@@ -1,7 +1,7 @@
\setlength{\parindent}{0pt} \setlength{\parindent}{0pt}
\setlength{\parskip}{0em} \setlength{\parskip}{0em}
\usepackage{enumitem} \usepackage{enumitem}
\usepackage{hyperref} \usepackage[colorlinks=true,linkcolor=black,urlcolor=black,citecolor=black]{hyperref}
\usepackage[utf8]{inputenc} \usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc} \usepackage[T1]{fontenc}
\usepackage[letterpaper,left=0.5in,top=0.5in,right=0.5in,bottom=0.5in]{geometry} \usepackage[letterpaper,left=0.5in,top=0.5in,right=0.5in,bottom=0.5in]{geometry}