Commit Graph

3 Commits (ca1c5124c57e083eb9c2cdfac6b8818ed69b27b8)

Author SHA1 Message Date
Dustin ca1c5124c5 ci: publish-client: Use Linux arch name
The `ARCH` environment varible set by the Jenkins pipeline uses the
Kubernetes names for CPU architectures.  RPMs use the Linux kernel
names, which are not the same.  Using the former, therefore, in the
`include` filter for `rsync` results in no packages being uploaded to
the repository.
2023-11-11 06:39:53 -06:00
Dustin 5f85a5a4fe ci: Build CLI RPMs for aarch64
dustin/sshca/pipeline/pr-master This commit looks good Details
dustin/sshca/pipeline/head This commit looks good Details
In order to automate certificate issuance and renewal for Raspberry Pi
devices, we need aarch64 builds of the `sshca` tool.  Using the `matrix`
feature of Jenkins pipelines lets us reuse the same stage definition for
building the client on both platforms.  Unfortunately, the `matrix`
block has to encompass the server stage as well, as `matrix` cannot be
nested below `parallel`, and we don't want to build the server and
clients sequentially.  This makes the code a bit less clear, as the
server and client stages are now conditional based on the matrix
intersection, but it is cleaner than duplicating the entire client
stage.
2023-11-10 19:36:46 -06:00
Dustin 2243e9e41d ci: Add Jenkins pipeline
dustin/sshca/pipeline/head There was a failure building this commit Details
The CI pipeline builds both the SSHCA server and client CLI.  The server
is published as an OCI image, while the latter uses RPMs.  Since
multiple RPMs with the same version cannot exist in the same repository,
and since RPM versions cannot be arbitrarily set after they have been
built, the RPMs are only published when building the *master* branch.
Server container images are published from every branch, as each image
is tagged with the branch name and build number.
2023-11-10 11:46:06 -06:00