This commit builds the magefile into a binary during the docker build
stage.
The Dockerfile is updated to include a multi-stage build where the first
stage compiles the binary and the second stage builds the final
cv-builder image.
The final image is now based on debian:buster instead of
golang:<VERSION>-buster which significantly reduces the image's size.
Changes include:
- update current job title.
- update personal summary.
- add configuration management category for skills section.
- add Terraform and Vault to the skills section.
- add details on Experian experience.
- refactor details on other experiences.
- remove learning Japanese from hobbies.
- add some details regarding personal projects.
This commit integrates the Tex generator functionality from main.go into
the mage system. Changes include:
- Movd helper functions to the new helpers package.
- Move the tex generator from main.go to the helpers package.
- Update the Tex target to use the tex generator helper function.
This commit adds a release pipeline for publishing my CV online to the project's
release page and also privately to a mounted volume on my personal machine.
The release pipeline is triggered for every tagged commit that uses the date
versioning scheme (e.g. 2021.09.21).
Changes include:
- added tags to all jobs so private runners are used.
- added a build stage.
- added a build job to build the CV for merge requests.
- added a build job to build the CV for the release pipeline.
- the build job for the release pipeline adds the CV to an artifacts that expire after 1 year.
- created a publish job for publishing the CV online to the project's release page.
- created a publish job for publishing the CV privately to a mounted volume on the private runner.
- small updates in the README.
- removed the CV file from the repository.
- removed the job that publishes the CV PDF file to the master branch.
This commit removes the Makefile and uses mage to build the CV files and Docker images.
Changes include:
- All make targets are re-written in go in magefile.go
- The spellcheck script is now written in go and is part of the magefile
- Created mage.go to remove dependency on a mage binary
- Updated CI pipelines to use mage
- Removed unused Makefile
- Removed unused spellcheck bash script
- Cleaned up .gitignore
- Updated .aspell/.aspell.en.pws
NOTE: The updated pipeline for generating the docker image is untested for this MR.
- use upstream template workflow.
- always run CV test jobs unless certain files are changed.
- clean up Dockerfile test job rules.
- clean up publish job rules.
This commit brings the CI pipeline configuration up to date.
Changes include:
- add workflow rules.
- remove only/except syntax in favourof rules.
- update ref to CV builder image.
- add Dockerfile linting as part of the test stage.
- fix linting issues in Dockerfile.
This commit allows the user to specify a company that they are currently
employed at.
Changes include:
- add present field to the Duration type.
- add durationToString function to output the duration type as a
formatted string.
- if the present field is used and the value is either 'true' or 'yes'
(case insensitive) this will be reflected on the CV.
- add durationToString to fmap.
- updated CV template to use the durationToString function.
This commit includes updates to the summary section to
highlight my desire to continue as a Software Engineer
in the Automation space.
This commit also removes the hyperlinks from the GitHub
and GitLab URLs.
This commit adds a spell checking job to the testing
stage of the GitLab CI pipeline.
GNU Aspell is used to check the spelling of the JSON
CV.
The following changes are made in this commit:
- created a wrapper script that uses GNU Aspell to check
the word spellings in the CV. Errors are printed to the screen.
- created a make target to run the spellcheck script.
- created a new job in the test stage to run the new make target.
- create a custom word list for this project.
- corrections made in CV.
The start and end dates for employment and
education experiences were free-form strings.
This commit changes adds a Date struct with Year and Month
variables and declares the Duration field as a type Date.
The TEX template is updated to reflect the change. The resulting
PDF will not change.
This documentation provides an overview
of the project, dependencies needed to
generate the PDF document, information
about the Docker image and instructions
on building the CV.
The following changes are included in this commit:
- add a pipeline for publishing the output CV to
the master branch when a change has been
committed to the master branch.
- split the CI configuration into two files:
one for the docker build pipeline and the other
for the CV build pipeline.
This is the first of a few commits for creating
the GitLab CI pipeline for building and publishing my CV.
This commit adds a pipeline for building and publishing the cv-builder
docker image to the GitLab container registry.
Additions:
- The cv-builder docker image: This commit adds a Dockerfile for
building the cv-builder docker image. The image is based on the
golang (buster) image and installs ConTeXt (standalone version)
and the Carlito font.
- The gitlab-ci.yml file: This commit adds the gitlab-ci.yml file for
running the pipeline for building and publishing the docker image
to the GitLab Container Registry.
Changes:
- The Makefile now includes targets for building and publishing docker images.
JSON does not support splitting a string into multiple lines so I've
changed the Summary field from string to []string. I've created a func
called join that uses strings.Join() to concatenate all elements of
Summary into a single string.
- ConTeXt is used for the CV template.
- CV data is stored in a JSON document.
- A small Go script is used to parse the JSON data and render
the final cv.tex file.
- ConTeXt is then used to render the CV in PDF (other formats to be
supported soon).