gnu: Add actionlint.
Actionlint is a linter for GitHub Action workflow files. * gnu/packages/check.scm (actionlint): New variable. Signed-off-by: Leo Famulari <leo@famulari.name>
This commit is contained in:
		
							parent
							
								
									ec8c7370df
								
							
						
					
					
						commit
						eb87d2c4a0
					
				
					 1 changed files with 52 additions and 0 deletions
				
			
		| 
						 | 
					@ -1047,6 +1047,58 @@ but it works for any C/C++ project.")
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0nv31m3940d9kf38lw2zs4hpj435bdi9mmim098rb3n4l07qrvva"))))))
 | 
					                "0nv31m3940d9kf38lw2zs4hpj435bdi9mmim098rb3n4l07qrvva"))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public actionlint
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "actionlint")
 | 
				
			||||||
 | 
					    (version "1.6.23")
 | 
				
			||||||
 | 
					    (source (origin
 | 
				
			||||||
 | 
					              (method git-fetch)
 | 
				
			||||||
 | 
					              (uri (git-reference
 | 
				
			||||||
 | 
					                    (url "https://github.com/rhysd/actionlint")
 | 
				
			||||||
 | 
					                    (commit (string-append "v" version))))
 | 
				
			||||||
 | 
					              (file-name (git-file-name name version))
 | 
				
			||||||
 | 
					              (sha256
 | 
				
			||||||
 | 
					               (base32
 | 
				
			||||||
 | 
					                "07is4920a40zrl7mfldg0az2pisi7f6dv4vh3ijn3nzb4i7fqbni"))))
 | 
				
			||||||
 | 
					    (build-system go-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     '(#:import-path "github.com/rhysd/actionlint/cmd/actionlint"
 | 
				
			||||||
 | 
					       #:unpack-path "github.com/rhysd/actionlint"
 | 
				
			||||||
 | 
					       #:install-source? #f))
 | 
				
			||||||
 | 
					    (inputs (list go-github-com-fatih-color
 | 
				
			||||||
 | 
					                  go-github-com-mattn-go-colorable
 | 
				
			||||||
 | 
					                  go-github-com-mattn-go-runewidth
 | 
				
			||||||
 | 
					                  go-github-com-robfig-cron-1.2
 | 
				
			||||||
 | 
					                  go-golang.org-x-sync-errgroup
 | 
				
			||||||
 | 
					                  go-golang.org-x-sync-semaphore
 | 
				
			||||||
 | 
					                  go-gopkg-in-yaml-v3))
 | 
				
			||||||
 | 
					    (native-inputs (list go-github-com-google-go-cmp-cmp))
 | 
				
			||||||
 | 
					    (home-page "https://rhysd.github.io/actionlint/")
 | 
				
			||||||
 | 
					    (synopsis "Static checker for GitHub Actions workflow files")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "actionlint is a static checker for GitHub Actions
 | 
				
			||||||
 | 
					workflow files.  Features include:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@itemize
 | 
				
			||||||
 | 
					@item Syntax check for workflow files to check unexpected or missing
 | 
				
			||||||
 | 
					keys following workflow syntax
 | 
				
			||||||
 | 
					@item Strong type check for @code{$@{@{ @}@}} expressions to catch
 | 
				
			||||||
 | 
					several semantic errors like access to not existing property, type
 | 
				
			||||||
 | 
					mismatches, ...
 | 
				
			||||||
 | 
					@item Actions usage check to check that inputs at @code{with:} and
 | 
				
			||||||
 | 
					outputs in @code{steps.@{id@}.outputs} are correct
 | 
				
			||||||
 | 
					@item Reusable workflow check to check inputs/outputs/secrets of
 | 
				
			||||||
 | 
					reusable workflows and workflow calls
 | 
				
			||||||
 | 
					@item shellcheck and pyflakes integrations for scripts at @code{run:}
 | 
				
			||||||
 | 
					@item Security checks; script injection by untrusted inputs,
 | 
				
			||||||
 | 
					hard-coded credentials
 | 
				
			||||||
 | 
					@item Other several useful checks; glob syntax validation,
 | 
				
			||||||
 | 
					dependencies check for @code{needs:}, runner label validation, cron
 | 
				
			||||||
 | 
					syntax validation, ...
 | 
				
			||||||
 | 
					@end itemize
 | 
				
			||||||
 | 
					")
 | 
				
			||||||
 | 
					    (license license:expat)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public python-parameterized
 | 
					(define-public python-parameterized
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "python-parameterized")
 | 
					    (name "python-parameterized")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue