Golang-CI Linter Setup API

Monteur provides a Golang-CI Linter setup recipe for setting up a localized Go Programming Language static analysis linter for repository development. This recipe allows Monteur to setup GolangCI-Lint locally inside the repository with a highly customizable method, easily and seamlessly.

The objective of distributing the recipe is simple: to setup golangci-lint locally in a highly customizable manner (e.g. different version) consistently with minimal to no further instructions.

golangci-lint is available at: https://golangci-lint.run/

All recipes are arranged based on its own semantic versioning and is not directly related to Monteur’s actual release version. Hence, feel free to explore each versions to suit your CI needs.

Recipe Versions

Here are the available Setup API recipe for golangci-lint. Please read through your selected version’s details on what has changed, what is required, and how to customize and used them.

The arrangement are the latest at the top or first.

Version 3.0.0

Version 3.0.0 golangci-lint Setup API is available for download here: golangci-lint-v3p0p0.toml

Min Requirements Values
Monteur Version v0.0.3
Supported Platforms native to Monteur

Installation Instructions

  1. You should download and place the recipe into your <config>/setup/jobs/ directory with the name golangci-lint.toml.
  2. That’s all. Unless golangci-lint releases a new version, you will need to update:
    1. Variables.Version - the new version number.
    2. Variables.BaseURL - the base URL changes if Go development team decided to change again.
    3. Sources.XXX.Checksum.Value - update each checksum values to match their respective package checksum values (look for a text file in the release download portal).

Changes

  1. Non-Backward Compatible - Refactored for friendly to arm development environment like using .SourceSystem instead of .ComputeSystem in [CMD] list.

Version 2.0.0

Version 2.0.0 golangci-lint Setup API is available for download here: golangci-lint-v2p0p0.toml

Min Requirements Values
Monteur Version v0.0.2
Supported Platforms native to Monteur

Installation Instructions

  1. You should download and place the recipe into your <config>/setup/jobs/ directory with the name golangci-lint.toml.
  2. That’s all. Unless golangci-lint releases a new version, you will need to update:
    1. Variables.Version - the new version number.
    2. Variables.BaseURL - the base URL changes if Go development team decided to change again.
    3. Sources.XXX.Checksum.Value - update each checksum values to match their respective package checksum values (look for a text file in the release download portal).

Changes

  1. Non-Backward Compatible - Replace [[Setup]] into [[CMD]].
  2. Non-Backward Compatible - Changed to use new Monteur setup alogrithms.
  3. Backward Compatible - supported continuous download between cancellations.
  4. Backward Compatible - delete target only when needed (right before copy).
  5. Backward Compatible - Added HTTPS headers table ([Sources.all-all.headers]) just in case of a needs.

Version 1.0.0

Version 1.0.0 golangci-lint Setup API is available for download here: golangci-lint-v1p0p0.toml

Min Requirements Values
Monteur Version v0.0.1
Supported Platforms native to Monteur

Installation Instructions

  1. You should download and place the recipe into your <config>/setup/programs/ directory with the name golangci-lint.toml.
  2. That’s all. Unless golangci-lint releases a new version, you will need to update:
    1. Variables.Version - the new version number.
    2. Variables.BaseURL - the base URL changes if Go development team decided to change again.
    3. Sources.XXX.Checksum.Value - update each checksum values to match their respective package checksum values (look for a text file in the release download portal).

For detailed information about each fields, visit: Setup Specification Data Structure for more info.

Changes

  1. Backward Compatible - Created the base TOML configuration recipe.
  2. Backward Compatible - Integrated with GitLab CI.
  3. Backward Compatible - Updated to golangci-lint version 1.43.0.

Epilogue

That’s all for Monteur setting up golangci-lint into the repository. If you found a bug or have any questions about the recipe, please feel free to raise your question at our Issue Section.