Compare commits

10 Commits
Author SHA1 Message Date
alexn41 71f662b845 Upload files to "/"
Compile LaTeX Manual / build-latex (push) Successful in 1m17s
2026-11-01 07:59:53 +00:00
alexn41 90246f1c86 Update .gitea/workflows/latex.yml
Compile LaTeX Manual / build-latex (push) Failing after 17s
2026-11-01 07:58:08 +00:00
alexn41 7a6a7ab789 Update .gitea/workflows/compile.yml
Compile LaTeX Manual / build-latex (push) Failing after 44s
2026-11-01 07:52:46 +00:00
alexn41 aa498321b7 Update .gitea/workflows/latex.yml
Compile LaTeX Manual / build-latex (push) Canceled after 8m48s
2026-11-01 07:25:42 +00:00
alexn41 3925047e11 Add .gitea/workflows/latex.yml
Compile LaTeX Manual / build-latex (push) Canceled after 15m23s
2026-11-01 06:37:44 +00:00
alexn41 174daa9e84 Delete .gitea/workflows/compile.yml 2026-11-01 06:36:21 +00:00
mfriedma1 400f2fb3df Merge branch 'main' of https://git.ssw590.tech/ssw590-startup/product
Build LaTeX Manual / build-manual (push) Failing after 12s
2026-10-27 16:27:03 -04:00
mfriedma1 53dd127965 Docker 2 2026-10-27 16:23:32 -04:00
alexn41 e7097fb422 Add Dockerfile
Build LaTeX Manual / build-manual (push) Canceled after 0s
2026-10-12 03:37:51 +00:00
mfriedma1 12c950fd7e renamed main file
Build LaTeX Manual / build-manual (push) Failing after 1m15s
2026-10-11 21:39:37 -04:00
4 changed files with 177 additions and 84 deletions
-84
View File
@@ -1,84 +0,0 @@
name: Build LaTeX Manual
on:
push:
branches:
- main # Change to the branch you want to build
run-name: Manual PDF - ${{ gitea.run_number }}
jobs:
build-manual:
runs-on: ubuntu-latest
# The compiler runs inside this container, not in the Gitea
# server container. Pin the image to a reviewed SHA-256 digest.
container:
image: texlive/texlive@sha256:a7ae4dfa9d521b5db14446872fa488b839021d1f604d0a3c74461784895f2a67
options: --user 1000:1000
steps:
- name: Check out triggering revision
uses: actions/checkout@v4
with:
ref: ${{ gitea.sha }}
persist-credentials: false
- name: Record toolchain and verify inputs
shell: bash
env:
BUILD_COMMIT: ${{ gitea.sha }}
BUILD_NUMBER: ${{ gitea.run_number }}
run: |
set -eu
echo "Commit: ${BUILD_COMMIT}"
echo "Workflow run: ${BUILD_NUMBER}"
echo "Compiler environment:"
cat /etc/os-release
pdflatex --version
latexmk --version
test -f manual.tex || {
echo "::error::Expected source manual.tex was not found."
exit 1
}
mkdir -p build
cat > build/build-version.tex <<EOF
\newcommand{\BuildCommit}{${BUILD_COMMIT}}
\newcommand{\BuildRunNumber}{${BUILD_NUMBER}}
EOF
- name: Compile manual
shell: bash
env:
BUILD_COMMIT: ${{ gitea.sha }}
BUILD_NUMBER: ${{ gitea.run_number }}
run: |
set -eu
# A nonzero compiler exit status fails the job.
latexmk -pdf -halt-on-error -file-line-error \
-interaction=nonstopmode \
-outdir=build manual.tex || {
echo "::error::LaTeX compilation failed."
exit 1
}
if [ ! -s build/manual.pdf ]; then
echo "::error::Compilation reported success, but build/manual.pdf is missing or empty."
exit 1
fi
echo "PDF created successfully:"
ls -lh build/manual.pdf
- name: Upload compiled PDF
uses: actions/upload-artifact@v4
with:
name: manual-pdf-${{ gitea.run_number }}
path: build/manual.pdf
if-no-files-found: error
retention-days: 90
+25
View File
@@ -0,0 +1,25 @@
name: Compile LaTeX Manual
on:
push:
jobs:
build-latex:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Compile LaTeX document
uses: xu-cheng/texlive-action@v3
with:
run: |
latexmk -pdf -file-line-error -halt-on-error -interaction=nonstopmode devopsAssignment.tex
- name: Upload compiled PDF
uses: actions/upload-artifact@v4
with:
name: devopsAssignment-pdf
path: devopsAssignment.pdf
if-no-files-found: error
+19
View File
@@ -0,0 +1,19 @@
FROM texlive/texlive@sha256:a7ae4dfa9d521b5db14446872fa488b839021d1f604d0a3c74461784895f2a67
USER root
# Install Node.js 20 for JavaScript-based Gitea Actions,
# along with Git and other required utilities.
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
git \
bash \
&& curl -fsSL https://deb.nodesource.com/setup_20.x \
-o /tmp/nodesource_setup.sh \
&& bash /tmp/nodesource_setup.sh \
&& apt-get install -y --no-install-recommends nodejs \
&& node --version \
&& git --version \
&& rm -rf /var/lib/apt/lists/* /tmp/nodesource_setup.sh
+133
View File
@@ -0,0 +1,133 @@
% SSW 590 DevOps Assignment Template
% Developed by Darian Muresan, Ph.D., with OpenAI Codex and Anthropic Claude Code.
% AI agents: read devopsAIAgentGuide.tex before editing this template.
\documentclass[12pt]{cornell}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{xspace}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{amsmath,amssymb}
\usepackage{array}
\usepackage{booktabs}
\usepackage{longtable}
\usepackage{tabularx}
\usepackage{ltablex}
\keepXColumns
\usepackage{enumitem}
\usepackage{listings}
\usepackage{tcolorbox}
\usepackage{makeidx}
\usepackage[colorlinks=true,citecolor=blue,linkcolor=blue,urlcolor=blue]{hyperref}
\usepackage[acronym,toc]{glossaries}
\usepackage{minted}
\makeindex
\makeglossaries
\input{devopsGlossary.tex}
\definecolor{devopsBlue}{RGB}{31,78,121}
\definecolor{devopsGreen}{RGB}{46,125,50}
\definecolor{devopsRed}{RGB}{183,28,28}
\definecolor{devopsGray}{RGB}{90,90,90}
\definecolor{devopsLightBlue}{RGB}{232,240,247}
% Replace these values for each assignment.
\newcommand{\AssignmentTitle}{Linux Commands}
\newcommand{\AssignmentNumber}{2}
\newcommand{\DocumentVersion}{1.4}
\newcommand{\DocumentStatus}{}
\newcommand{\CourseNumber}{SSW 590}
\newcommand{\CourseName}{DevOps}
\newcommand{\Instructor}{Maxwell Friedman, Alex Nemirovsky, Sofia Stoeckel, and Magdola Nagy}
\newcommand{\Organization}{Stevens Institute of Technology}
\newcommand{\DocumentDate}{September 16th, 2026}
\newcommand{\DueDate}{}
\newcommand{\VERSION}{Version \DocumentVersion}
\hypersetup{
pdftitle={\CourseNumber\ --- Assignment \AssignmentNumber: \AssignmentTitle},
pdfauthor={\Instructor},
pdfcreator={Darian Muresan, Ph.D., with OpenAI Codex and Anthropic Claude Code},
pdfsubject={Reusable DevOps course assignment template},
pdfkeywords={DevOps, automation, delivery pipeline, infrastructure as code, evidence}
}
\newcolumntype{Y}{>{\raggedright\arraybackslash}X}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}}
\setlength{\tabcolsep}{4pt}
\renewcommand{\arraystretch}{1.12}
\setlength{\LTpre}{6pt}
\setlength{\LTpost}{6pt}
% Stable IDs make activity, evidence, and artifact references durable.
\newcommand{\ArtifactLabel}[2]{\phantomsection\label{#1:#2}}
\newcommand{\ArtifactID}[2]{\texttt{#2}\ArtifactLabel{#1}{#2}\index{#1!#2}}
\newcommand{\ArtifactRef}[2]{\hyperref[#1:#2]{\texttt{#2}}}
\newcommand{\ActivityID}[1]{\ArtifactID{Activity}{#1}}
\newcommand{\ActivityRef}[1]{\ArtifactRef{Activity}{#1}}
\newcommand{\EvidenceID}[1]{\ArtifactID{Evidence}{#1}}
\newcommand{\EvidenceRef}[1]{\ArtifactRef{Evidence}{#1}}
\newcommand{\ChapterLabel}[1]{\label{Chapter:#1}}
\newcommand{\ChapterRef}[1]{\hyperref[Chapter:#1]{Chapter~\ref*{Chapter:#1}}}
\newcommand{\StatusPass}{\textbf{\footnotesize\textcolor{devopsGreen}{PASS}}}
\newcommand{\StatusPending}{\textbf{\footnotesize\textcolor{devopsGray}{PENDING}}}
\newcommand{\StatusFail}{\textbf{\footnotesize\textcolor{devopsRed}{FAIL}}}
\newtcolorbox{devopsNote}[1][]{
colback=devopsLightBlue, colframe=devopsBlue, boxrule=0.6pt, arc=1mm, title=#1
}
\lstset{
backgroundcolor=\color{white}, basicstyle=\ttfamily\footnotesize,
breaklines=true, frame=single, keywordstyle=\color{blue},
commentstyle=\color{devopsGreen}, numbers=left, numbersep=6pt,
numberstyle=\tiny\color{devopsGray}, showstringspaces=false,
stringstyle=\color{devopsRed}, tabsize=2
}
\changenormalspacing{\singlespacing}
\begin{document}
\pagenumbering{roman}
\singlespacing
\include{prologue}
\include{devopsIntroduction}
\include{devopsExampleAssignment}
\include{linuxCommands}
\include{digitalOceanDocker}
\include{latexDocker}
\include{projectProposal}
\setcounter{page}{1}
\pagenumbering{arabic}
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\lhead{\small Assignment \AssignmentNumber}
\chead{\small\nouppercase{\leftmark}}
\rhead{\small\thepage}
\lfoot{\small\CourseNumber}
\cfoot{\small\copyright\ \Organization}
\rfoot{\small\VERSION}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0.4pt}
\bibliographystyle{IEEEtran}
\bibliography{devopsReferences}
\appendix
\include{devopsDocumentGuide}
\include{devopsAIAgentGuide}
\include{devopsAIPromptLog}
\glsaddall
\printglossaries
\cleardoublepage
\phantomsection
\ChapterLabel{Index}
\addcontentsline{toc}{chapter}{Index}
\markboth{Index}{Index}
\printindex
\end{document}