From 3139bf4db5e78571fb5ae345c7bd62ebaf362607 Mon Sep 17 00:00:00 2001 From: Sean O'Connor Date: Tue, 10 Dec 2024 16:01:59 -0500 Subject: [PATCH] Add secrets template, update local and remote build. --- .github/workflows/compile-latex.yml | 66 ++++++++++++++--------------- .secrets-template | 9 ++++ build-local.sh | 41 +++++++++--------- personal_info_template.tex | 19 --------- 4 files changed, 62 insertions(+), 73 deletions(-) create mode 100644 .secrets-template delete mode 100644 personal_info_template.tex diff --git a/.github/workflows/compile-latex.yml b/.github/workflows/compile-latex.yml index d7534ee..ffda753 100644 --- a/.github/workflows/compile-latex.yml +++ b/.github/workflows/compile-latex.yml @@ -16,22 +16,6 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Cache TeX Live - uses: actions/cache@v3 - with: - path: /tmp/texlive - key: texlive-${{ runner.os }}-${{ hashFiles('**/*.tex') }} - restore-keys: | - texlive-${{ runner.os }}- - - - name: Set up TeX Live - uses: xu-cheng/latex-action@v3 - with: - root_file: | - resume.tex - cv.tex - latexmk_use_xelatex: false - - name: Create public info file env: PERSONAL_NAME: ${{ secrets.PERSONAL_NAME || github.repository_owner }} @@ -54,6 +38,22 @@ jobs: EOL envsubst < personal_info.tex > personal_info.tex.tmp mv personal_info.tex.tmp personal_info.tex + + - name: Cache TeX Live + uses: actions/cache@v3 + with: + path: /tmp/texlive + key: texlive-${{ runner.os }}-${{ hashFiles('**/*.tex') }} + restore-keys: | + texlive-${{ runner.os }}- + + - name: Set up TeX Live + uses: xu-cheng/latex-action@v3 + with: + root_file: | + resume.tex + cv.tex + latexmk_use_xelatex: false - name: Upload Public PDFs as Release uses: softprops/action-gh-release@v1 @@ -75,29 +75,13 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Cache TeX Live - uses: actions/cache@v3 - with: - path: /tmp/texlive - key: texlive-${{ runner.os }}-${{ hashFiles('**/*.tex') }} - restore-keys: | - texlive-${{ runner.os }}- - - - name: Set up TeX Live - uses: xu-cheng/latex-action@v3 - with: - root_file: | - resume.tex - cv.tex - latexmk_use_xelatex: false - - name: Create private info file env: PERSONAL_NAME: ${{ secrets.PERSONAL_NAME || github.repository_owner }} PERSONAL_EMAIL: ${{ secrets.PERSONAL_EMAIL || '' }} - PERSONAL_PHONE: ${{ secrets.PERSONAL_PHONE || '' }} PERSONAL_WEBSITE: ${{ secrets.PERSONAL_WEBSITE || '' }} PERSONAL_SCHOOL_EMAIL: ${{ secrets.PERSONAL_SCHOOL_EMAIL || '' }} + PERSONAL_PHONE: ${{ secrets.PERSONAL_PHONE || '' }} PERSONAL_HOME_ADDRESS_LINE1: ${{ secrets.PERSONAL_HOME_ADDRESS_LINE1 || '' }} PERSONAL_HOME_ADDRESS_LINE2: ${{ secrets.PERSONAL_HOME_ADDRESS_LINE2 || '' }} PERSONAL_SCHOOL_ADDRESS_LINE1: ${{ secrets.PERSONAL_SCHOOL_ADDRESS_LINE1 || '' }} @@ -119,6 +103,22 @@ jobs: EOL envsubst < personal_info.tex > personal_info.tex.tmp mv personal_info.tex.tmp personal_info.tex + + - name: Cache TeX Live + uses: actions/cache@v3 + with: + path: /tmp/texlive + key: texlive-${{ runner.os }}-${{ hashFiles('**/*.tex') }} + restore-keys: | + texlive-${{ runner.os }}- + + - name: Set up TeX Live + uses: xu-cheng/latex-action@v3 + with: + root_file: | + resume.tex + cv.tex + latexmk_use_xelatex: false - name: Upload Private PDFs uses: actions/upload-artifact@v4 diff --git a/.secrets-template b/.secrets-template new file mode 100644 index 0000000..25f2701 --- /dev/null +++ b/.secrets-template @@ -0,0 +1,9 @@ +PERSONAL_EMAIL="" +PERSONAL_PHONE="" +PERSONAL_SCHOOL_EMAIL="" +PERSONAL_HOME_ADDRESS_LINE1="" +PERSONAL_HOME_ADDRESS_LINE2="" +PERSONAL_SCHOOL_ADDRESS_LINE1="" +PERSONAL_SCHOOL_ADDRESS_LINE2="" +PERSONAL_SCHOOL_ADDRESS_LINE3="" + diff --git a/build-local.sh b/build-local.sh index ac3e09a..90f649b 100755 --- a/build-local.sh +++ b/build-local.sh @@ -5,28 +5,29 @@ if [ -f .secrets ]; then source .secrets else echo "Warning: .secrets file not found. Building public version only." - PERSONAL_PHONE="" - PERSONAL_HOME_ADDRESS_LINE1="" - PERSONAL_HOME_ADDRESS_LINE2="" - PERSONAL_SCHOOL_ADDRESS_LINE1="" - PERSONAL_SCHOOL_ADDRESS_LINE2="" - PERSONAL_SCHOOL_ADDRESS_LINE3="" fi +# Set defaults for missing variables +PERSONAL_NAME=${PERSONAL_NAME:-$(whoami)} +PERSONAL_EMAIL=${PERSONAL_EMAIL:-""} +PERSONAL_WEBSITE=${PERSONAL_WEBSITE:-""} +PERSONAL_SCHOOL_EMAIL=${PERSONAL_SCHOOL_EMAIL:-""} +PERSONAL_PHONE=${PERSONAL_PHONE:-""} +PERSONAL_HOME_ADDRESS_LINE1=${PERSONAL_HOME_ADDRESS_LINE1:-""} +PERSONAL_HOME_ADDRESS_LINE2=${PERSONAL_HOME_ADDRESS_LINE2:-""} +PERSONAL_SCHOOL_ADDRESS_LINE1=${PERSONAL_SCHOOL_ADDRESS_LINE1:-""} +PERSONAL_SCHOOL_ADDRESS_LINE2=${PERSONAL_SCHOOL_ADDRESS_LINE2:-""} +PERSONAL_SCHOOL_ADDRESS_LINE3=${PERSONAL_SCHOOL_ADDRESS_LINE3:-""} + # Function to cleanup cleanup() { - # Clean up LaTeX artifacts rm -f *.aux *.log *.out *.fls *.fdb_latexmk *.synctex.gz *.bbl *.blg *.pdf - # Only restore backup if it exists if [ -f personal_info.tex.bak ]; then mv personal_info.tex.bak personal_info.tex fi } -# Ensure cleanup runs even if script fails trap cleanup EXIT - -# Create output directory mkdir -p output # Backup current personal_info.tex if it exists @@ -39,11 +40,11 @@ if [ -n "$PERSONAL_PHONE" ] || [ -n "$PERSONAL_HOME_ADDRESS_LINE1" ] || [ -n "$P echo "Building private version..." cat > personal_info.tex << EOL % Private version of personal information -\\newcommand{\\personalName}{Sean O'Connor} -\\newcommand{\\personalEmail}{sean@soconnor.dev} +\\newcommand{\\personalName}{${PERSONAL_NAME}} +\\newcommand{\\personalEmail}{${PERSONAL_EMAIL}} \\newcommand{\\personalPhone}{${PERSONAL_PHONE}} -\\newcommand{\\personalWebsite}{soconnor.dev} -\\newcommand{\\personalSchoolEmail}{sso005@bucknell.edu} +\\newcommand{\\personalWebsite}{${PERSONAL_WEBSITE}} +\\newcommand{\\personalSchoolEmail}{${PERSONAL_SCHOOL_EMAIL}} \\newcommand{\\personalHomeAddressLineOne}{${PERSONAL_HOME_ADDRESS_LINE1}} \\newcommand{\\personalHomeAddressLineTwo}{${PERSONAL_HOME_ADDRESS_LINE2}} \\newcommand{\\personalSchoolAddressLineOne}{${PERSONAL_SCHOOL_ADDRESS_LINE1}} @@ -57,7 +58,6 @@ EOL -v "$(pwd)/output:/workspace/output" \ resume-builder bash -c "latexmk -pdf -file-line-error -halt-on-error -interaction=nonstopmode resume.tex cv.tex && mv *.pdf output/" - # Move files to final names mv output/resume.pdf output/resume-private.pdf 2>/dev/null || true mv output/cv.pdf output/cv-private.pdf 2>/dev/null || true fi @@ -66,11 +66,11 @@ fi echo "Building public version..." cat > personal_info.tex << EOL % Public version of personal information -\\newcommand{\\personalName}{Sean O'Connor} -\\newcommand{\\personalEmail}{sean@soconnor.dev} +\\newcommand{\\personalName}{${PERSONAL_NAME}} +\\newcommand{\\personalEmail}{${PERSONAL_EMAIL}} \\newcommand{\\personalPhone}{} -\\newcommand{\\personalWebsite}{soconnor.dev} -\\newcommand{\\personalSchoolEmail}{sso005@bucknell.edu} +\\newcommand{\\personalWebsite}{${PERSONAL_WEBSITE}} +\\newcommand{\\personalSchoolEmail}{${PERSONAL_SCHOOL_EMAIL}} \\newcommand{\\personalHomeAddressLineOne}{} \\newcommand{\\personalHomeAddressLineTwo}{} \\newcommand{\\personalSchoolAddressLineOne}{} @@ -83,7 +83,6 @@ docker run --platform linux/arm64 --rm \ -v "$(pwd)/output:/workspace/output" \ resume-builder bash -c "latexmk -pdf -file-line-error -halt-on-error -interaction=nonstopmode resume.tex cv.tex && mv *.pdf output/" -# Move files to final names mv output/resume.pdf output/resume-public.pdf 2>/dev/null || true mv output/cv.pdf output/cv-public.pdf 2>/dev/null || true diff --git a/personal_info_template.tex b/personal_info_template.tex deleted file mode 100644 index 2d3da12..0000000 --- a/personal_info_template.tex +++ /dev/null @@ -1,19 +0,0 @@ -% Template for personal information -% Copy this file to personal_info_private.tex and fill in your private information -% The personal_info_private.tex file is ignored by git - -% Basic Information -\newcommand{\personalName}{Your Name} -\newcommand{\personalEmail}{your.email@example.com} -\newcommand{\personalPhone}{+1 (XXX) XXX-XXXX} -\newcommand{\personalWebsite}{example.com} - -% School Information -\newcommand{\personalSchoolEmail}{your.school@university.edu} -\newcommand{\personalSchoolAddressLineOne}{University Name} -\newcommand{\personalSchoolAddressLineTwo}{Street Address} -\newcommand{\personalSchoolAddressLineThree}{City, State ZIP} - -% Home Information -\newcommand{\personalHomeAddressLineOne}{Street Address} -\newcommand{\personalHomeAddressLineTwo}{City, State ZIP} \ No newline at end of file