Blog
GitLab
GitLab CI/CD is a tool built into GitLab for software development for Continuous Integration (CI) and Continuous Delivery/Deployment (CD).
April 25, 2024
Julia in GitHub actions
Official Julia GitHub actions https://github.com/julia-actions/setup-julia action downloads julia and adds it to PATH. https://github.com/julia-actions/julia-buildpkg runs build scripts and installs dependencies for the Julia package. https://github.com/julia-actions/julia-runtest runs unit test for the Julia project. https://github.com/julia-actions/cache is a shortcut action to cache Julia artifacts, packages, and registries. https://github.com/julia-actions/julia-docdeploy deploys documentation. https://github.com/julia-actions/julia-processcoverage generates test coverage data.
April 25, 2024
NodeJS in GitHub actions
The https://github.com/actions/setup-node action installs Node.js and caches package dependencies.
April 25, 2024
Python in GitHub actions
https://github.com/actions/setup-python https://github.com/mamba-org/setup-micromamba
April 25, 2024
Release in GitHub actions
https://github.com/softprops/action-gh-release : A GitHub Action for creating GitHub Releases on Linux, Windows, and macOS virtual environments. https://github.com/release-drafter/release-drafter : Drafts your next release notes as pull requests are merged into master. https://github.com/robinraju/release-downloader : Github action to download release assets from private or public repositories. https://github.com/actions/delete-package-versions : This action deletes versions of a package from GitHub Packages. This action will only delete a maximum of 100 versions in one run.
April 25, 2024
Setup docker in Github actions
Building and publishing docker images Docker documentation: Configure GitHub Actions How to publish a docker image into the Github package registry
April 25, 2024
Status check for a multi-stage workflow
If you run a multi-stage workflow with status checks in branch protection rules, you might found that skipped jobs are treated as “passed”. That is, if you have a workflow with a chain of dependent jobs A -> B -> C. When B fails and C is skipped, it still counts as passed when checking job C. Thus, auto-merging may merge broken code.
April 25, 2024
Dynamic parallel matrix
Job matrix creates multiple job runs that are based on the combinations of the variables. Sometimes we want a dynamic number of matrix jobs, which requires a JSON array as an output. Here we use json and glob modules in Python to generate that JSON list.12
April 24, 2024
Mount NAS drive in Linux at boot
Add the following entry to /etc/fstab to automatically mount NAS drives at boot
April 23, 2024