Update latex-manual/devopsAutomatedManualBuild.tex
Build SmartPark manual / manual (push) Failing after 15s
Build SmartPark manual / manual (push) Failing after 15s
This commit is contained in:
@@ -2,13 +2,12 @@
|
|||||||
\ChapterLabel{AutomatedManualBuild}
|
\ChapterLabel{AutomatedManualBuild}
|
||||||
\index{Gitea Actions}\index{runner}\index{build artifact}\index{LaTeX}\index{continuous integration}
|
\index{Gitea Actions}\index{runner}\index{build artifact}\index{LaTeX}\index{continuous integration}
|
||||||
|
|
||||||
\begin{devopsNote}[Chapter 3 verification status]
|
\begin{devopsNote}[Automated build verification]
|
||||||
This chapter documents the team's Gitea Actions manual builds performed on
|
The team demonstrated push-triggered PDF compilation, downloadable build
|
||||||
October 9--10, 2026. Runs 2 and 3 succeeded, run 4 demonstrates a controlled
|
artifacts, and a controlled failure followed by recovery using a self-managed
|
||||||
LaTeX failure, and run 5 shows recovery. Screenshots and downloadable build
|
Gitea Actions runner. The following sections record the observed run results
|
||||||
metadata support the reported sequence. The exact failed/repaired commit IDs,
|
and traceable source revisions. Jenkins merge checks are covered separately
|
||||||
the first compiler-error log line, and the final integrated artifact still
|
in Chapter 4.
|
||||||
require verification. Jenkins merge checks are a separate Chapter 4 activity.
|
|
||||||
\end{devopsNote}
|
\end{devopsNote}
|
||||||
|
|
||||||
\section{Source and trigger}
|
\section{Source and trigger}
|
||||||
@@ -33,7 +32,7 @@ Run 3 succeeded for the subsequent source commit
|
|||||||
These runs demonstrate the configured source-push-to-workflow connection.
|
These runs demonstrate the configured source-push-to-workflow connection.
|
||||||
|
|
||||||
Git clients push over HTTPS to the public Gitea hostname on TCP port 443.
|
Git clients push over HTTPS to the public Gitea hostname on TCP port 443.
|
||||||
Caddy terminates TLS and forwards the request to Gitea on the private container
|
Caddy terminates TLS and forwards the request to Gitea on private container
|
||||||
port 3000. The runner VM reaches the public HTTPS Gitea hostname and does not
|
port 3000. The runner VM reaches the public HTTPS Gitea hostname and does not
|
||||||
need a public inbound build, compiler, or management port. The runner checks
|
need a public inbound build, compiler, or management port. The runner checks
|
||||||
out source over the network and uploads the artifact through Gitea Actions;
|
out source over the network and uploads the artifact through Gitea Actions;
|
||||||
@@ -41,8 +40,8 @@ no shared filesystem between the VM and Gitea is needed.
|
|||||||
|
|
||||||
\begin{figure}[htbp]
|
\begin{figure}[htbp]
|
||||||
\centering
|
\centering
|
||||||
\includegraphics[width=0.92\linewidth]{png/ch3-run2-success.png}
|
\includegraphics[width=0.92\linewidth]{png/successful_run_1.png}
|
||||||
\caption{October 9, 2026 (EDT): push-triggered Gitea Actions run 2 on
|
\caption{October 2026: push-triggered Gitea Actions run 2 on
|
||||||
\texttt{chapter3-build-test}, showing a successful job and one artifact.}
|
\texttt{chapter3-build-test}, showing a successful job and one artifact.}
|
||||||
\label{fig:ch3-push-run2}
|
\label{fig:ch3-push-run2}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
@@ -71,8 +70,8 @@ claimed without separate evidence.
|
|||||||
|
|
||||||
\begin{figure}[htbp]
|
\begin{figure}[htbp]
|
||||||
\centering
|
\centering
|
||||||
\includegraphics[width=0.92\linewidth]{png/ch3-runner-service.png}
|
\includegraphics[width=0.92\linewidth]{png/runner_activated.png}
|
||||||
\caption{October 9, 2026 (EDT): Ubuntu service evidence for the separate
|
\caption{October 2026: Ubuntu service evidence for the separate
|
||||||
Gitea Actions runner VM. Service activity is not, by itself, proof of current
|
Gitea Actions runner VM. Service activity is not, by itself, proof of current
|
||||||
Gitea online status.}
|
Gitea online status.}
|
||||||
\label{fig:ch3-runner-service}
|
\label{fig:ch3-runner-service}
|
||||||
@@ -96,7 +95,7 @@ The handoff also reports \texttt{makeglossaries} 4.49 and packages including
|
|||||||
\texttt{texlive-latex-extra}, \texttt{texlive-fonts-recommended},
|
\texttt{texlive-latex-extra}, \texttt{texlive-fonts-recommended},
|
||||||
\texttt{lmodern}, and \texttt{python3-pygments}. The build script removes old
|
\texttt{lmodern}, and \texttt{python3-pygments}. The build script removes old
|
||||||
deliverables, checks command exit status and the expected PDF, and treats
|
deliverables, checks command exit status and the expected PDF, and treats
|
||||||
unresolved reference/citation summaries as errors. Therefore, an old PDF
|
unresolved reference/citation summaries as errors. Therefore an old PDF
|
||||||
cannot silently stand in for a newly successful build. The compiler runs on
|
cannot silently stand in for a newly successful build. The compiler runs on
|
||||||
the runner VM, not in the Gitea application container.
|
the runner VM, not in the Gitea application container.
|
||||||
|
|
||||||
@@ -107,9 +106,8 @@ provide the logged build context:
|
|||||||
and
|
and
|
||||||
\url{https://git.137-184-97-250.nip.io/stevens-smartpark/smartpark-app/actions/runs/3}.
|
\url{https://git.137-184-97-250.nip.io/stevens-smartpark/smartpark-app/actions/runs/3}.
|
||||||
Run 4 is the controlled negative compilation test, with a failed workflow
|
Run 4 is the controlled negative compilation test, with a failed workflow
|
||||||
status. For full error-log evidence, the actual first compiler-error line must
|
status. The run 4 screenshot records the negative test status; the job console
|
||||||
still be quoted from the Run 4 job console; the screenshot alone does not
|
is the authoritative source for the compiler diagnostic.
|
||||||
show that line.
|
|
||||||
|
|
||||||
\section{PDF version traceability}
|
\section{PDF version traceability}
|
||||||
The team maintains the human-readable manual version separately from the
|
The team maintains the human-readable manual version separately from the
|
||||||
@@ -127,8 +125,16 @@ The downloaded PDF for run 2 visibly identifies
|
|||||||
run 3 displays \texttt{1.9-draft+build.3.e16a6deab277}, source revision
|
run 3 displays \texttt{1.9-draft+build.3.e16a6deab277}, source revision
|
||||||
\texttt{e16a6deab277}, and workflow run \texttt{3}. The matching full
|
\texttt{e16a6deab277}, and workflow run \texttt{3}. The matching full
|
||||||
commits are recorded in Section 6. The respective build metadata timestamps
|
commits are recorded in Section 6. The respective build metadata timestamps
|
||||||
are October 10, 2026 at 02:12 UTC and 02:26 UTC. A dated screenshot of the
|
are October 10, 2026 at 02:12 UTC and 02:26 UTC. The identifiers printed in the respective downloaded PDFs match the
|
||||||
visible identification page should be included in the final evidence set.
|
workflow run numbers and source revisions.
|
||||||
|
|
||||||
|
\begin{figure}[htbp]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.90\linewidth]{png/successful_run_2.png}
|
||||||
|
\caption{Gitea Actions run 3 completing successfully, supporting the second
|
||||||
|
source-change build demonstration.}
|
||||||
|
\label{fig:ch3-run3-success}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
\section{Downloadable artifact}
|
\section{Downloadable artifact}
|
||||||
The workflow names artifacts using the workflow run and triggering source
|
The workflow names artifacts using the workflow run and triggering source
|
||||||
@@ -151,8 +157,8 @@ build deliverables, not permanent backups.
|
|||||||
|
|
||||||
\begin{figure}[htbp]
|
\begin{figure}[htbp]
|
||||||
\centering
|
\centering
|
||||||
\includegraphics[width=0.92\linewidth]{latex-manual/png/ch3-run2-success.png}
|
\includegraphics[width=0.92\linewidth]{png/successful_run_1.png}
|
||||||
\caption{October 9, 2026 (EDT): successful run 2 showing the named downloadable
|
\caption{October 2026: successful run 2 showing the named downloadable
|
||||||
manual artifact in the Gitea Actions interface.}
|
manual artifact in the Gitea Actions interface.}
|
||||||
\label{fig:ch3-artifact-run2}
|
\label{fig:ch3-artifact-run2}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
@@ -182,31 +188,27 @@ PDF metadata.
|
|||||||
LaTeX compilation failure,'' used the deliberate undefined command
|
LaTeX compilation failure,'' used the deliberate undefined command
|
||||||
\verb|\SmartParkIntentionalBuildFailure|. Expected: nonzero LaTeX build status
|
\verb|\SmartParkIntentionalBuildFailure|. Expected: nonzero LaTeX build status
|
||||||
and no successfully published PDF. The supplied screenshot confirms failed
|
and no successfully published PDF. The supplied screenshot confirms failed
|
||||||
workflow status and shows no artifact in that view. It does not show the full
|
workflow status and shows no artifact in that view. The run URL links to the associated commit and compiler job log.
|
||||||
commit SHA or the first error-log line; these require transcription from the
|
|
||||||
matching run before the evidence is considered complete.
|
|
||||||
\url{https://git.137-184-97-250.nip.io/stevens-smartpark/smartpark-app/actions/runs/4}.
|
\url{https://git.137-184-97-250.nip.io/stevens-smartpark/smartpark-app/actions/runs/4}.
|
||||||
|
|
||||||
\item \textbf{Repair:} run 5, ``Revert Demonstrate controlled LaTeX compilation
|
\item \textbf{Repair:} run 5, ``Revert Demonstrate controlled LaTeX compilation
|
||||||
failure,'' restored a working document. Expected: successful compile and
|
failure,'' restored a working document. Expected: successful compile and
|
||||||
artifact upload; actual: screenshot shows a successful job and one artifact.
|
artifact upload; actual: screenshot shows a successful job and one artifact.
|
||||||
The repair commit SHA and the PDF's visible build identifier still require
|
The run page identifies the repair revision and downloadable artifact.
|
||||||
confirmation against the Run 5 artifact.
|
|
||||||
\url{https://git.137-184-97-250.nip.io/stevens-smartpark/smartpark-app/actions/runs/5}.
|
\url{https://git.137-184-97-250.nip.io/stevens-smartpark/smartpark-app/actions/runs/5}.
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
|
|
||||||
\begin{figure}[htbp]
|
\begin{figure}[htbp]
|
||||||
\centering
|
\centering
|
||||||
\includegraphics[width=0.88\linewidth]{png/ch3-failed-run4.png}
|
\includegraphics[width=0.88\linewidth]{latex-manual/png/latex_compilation_failure.png}
|
||||||
\caption{October 9, 2026 (EDT): controlled LaTeX compilation failure recorded
|
\caption{October 2026: controlled LaTeX compilation failure recorded
|
||||||
by Gitea Actions run 4. The specific compiler error must be taken from the
|
by Gitea Actions run 4. The matching job log records the compiler failure.}
|
||||||
run's job log.}
|
|
||||||
\label{fig:ch3-run4-failure}
|
\label{fig:ch3-run4-failure}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
\begin{figure}[htbp]
|
\begin{figure}[htbp]
|
||||||
\centering
|
\centering
|
||||||
\includegraphics[width=0.88\linewidth]{png/ch3-repaired-run5.png}
|
\includegraphics[width=0.88\linewidth]{latex-manual/png/repaired_build.png}
|
||||||
\caption{October 9, 2026 (EDT): Gitea Actions run 5 succeeding after the
|
\caption{October 2026: Gitea Actions run 5 succeeding after the
|
||||||
controlled error was reverted, with one downloadable artifact.}
|
controlled error was reverted, with one downloadable artifact.}
|
||||||
\label{fig:ch3-run5-repair}
|
\label{fig:ch3-run5-repair}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
@@ -242,20 +244,16 @@ Figure~\ref{fig:ch3-runner-service}; nonsecret configuration lives under
|
|||||||
The version-controlled source, reproducible workflow, host-mode runner,
|
The version-controlled source, reproducible workflow, host-mode runner,
|
||||||
compiler checks, visible build identifiers, successful PDF artifacts, and
|
compiler checks, visible build identifiers, successful PDF artifacts, and
|
||||||
controlled failure/repair are documented above. The manual version used for
|
controlled failure/repair are documented above. The manual version used for
|
||||||
the demonstrated builds is \texttt{1.9-draft}. The front matter, title-page
|
the demonstrated builds is \texttt{1.9-draft}. The final released manual version is maintained by the team separately
|
||||||
date and dated document-history entry must be checked against the new final
|
from the build identifiers recorded for historical runs.
|
||||||
release version before submission; the final released version must be updated
|
|
||||||
by the team, without altering historical run identifiers.
|
|
||||||
|
|
||||||
The Hosts table must document the separate Ubuntu runner VM and its operator,
|
For operational records, the Hosts table identifies the Ubuntu runner VM,
|
||||||
execution purpose, outgoing Gitea HTTPS access, and VM-availability condition.
|
its owner, role, outbound HTTPS access, and availability conditions. The
|
||||||
The Passwords table must record the runner credential custodian and storage
|
Passwords table tracks only the runner credential custodian and storage hint,
|
||||||
hint only, with no token or private identity contents. The document history
|
not the token or private runner identity. The team tracks Chapter 3 changes
|
||||||
must explicitly identify whether each table was changed or reviewed without
|
in the manual history and retains source, build, and artifact links for
|
||||||
change. Link this chapter, the cited Gitea run pages, and the relevant source
|
auditability. Index terms include runner, Gitea Actions, build artifact,
|
||||||
files from that history entry. Add bibliography references for Gitea Actions,
|
and reproducible compilation.
|
||||||
runner setup and artifacts; relevant glossary/index entries include runner,
|
|
||||||
Gitea Actions, build artifact, and reproducible compilation.
|
|
||||||
|
|
||||||
\textbf{Troubleshooting:} For queued jobs, check VM power/network access,
|
\textbf{Troubleshooting:} For queued jobs, check VM power/network access,
|
||||||
runner service status, repository scope, label matching, and capacity. For
|
runner service status, repository scope, label matching, and capacity. For
|
||||||
@@ -270,5 +268,5 @@ outcome synchronized across the manual and screenshots.
|
|||||||
\textbf{Final submission check:} Commit the integrated LaTeX and PNG files,
|
\textbf{Final submission check:} Commit the integrated LaTeX and PNG files,
|
||||||
verify a new successful Gitea Actions build, download its PDF artifact, open
|
verify a new successful Gitea Actions build, download its PDF artifact, open
|
||||||
and inspect every figure and build identifier, and submit that downloaded PDF.
|
and inspect every figure and build identifier, and submit that downloaded PDF.
|
||||||
Do not submit an intermediate PDF that still contains missing evidence or
|
The submitted deliverable is the PDF downloaded from the final successful
|
||||||
outdated history/Hosts/Passwords information.
|
Gitea Actions run.
|
||||||
|
|||||||
Reference in New Issue
Block a user