Repository that contains a collection of GitHub Actions for Greenbone projects
We offer several actions for linting, formatting, building and testing packages/modules/projects in different programming languages
- Install python, poetry and the project
- Install python, poetry, project and run coverage to create a code coverage report
- Install python, poetry, project and run linter
- Install python, poetry, project and and run mypy type checker
- Install python, poetry, build python package and upload it to PyPI
- Setup python and pontos
- name: Install JavaScript and the project [npm]
uses: greenbone/actions/install-npm@v3
with:
version: 3.9
token: ${{ secrets.FOO_BAR }}
- name: Install and check Lint and Format in JavaScript Projects [npm]
uses: greenbone/actions/lint-npm@v3
with:
version: 3.9
token: ${{ secrets.FOO_BAR }}
- name: Install, Build and Test JavaScript Projects [npm]
uses: greenbone/actions/test-npm@v3
with:
version: 3.9
token: ${{ secrets.FOO_BAR }}
- name: Run coverage for javascript
uses: greenbone/actions/coverage-js@v3
- name: Check Lint and Format in GoLang Projects
uses: greenbone/actions/lint-golang@v3
with:
version: "1.18"
generate: go generate # mocks, docs, etc
golangci-lint: v1.50 # specify golangci-lint version
- name: upload documentation coverage to codecov.io for C Lang repository
uses: greenbone/actions/doc-coverage-clang@v3
- Lock and unlock a branch in a GitHub repository
- Allow and disallow admin users bypassing protection rules
- Release a project in C, GoLang, JavaScript or Python
- Create and upload signatures for GitHub release files
- Report usage of conventional commits in a Pull Request
- Check for consistent versioning in a project
- Backport Pull Requests to other additional branches
- Workflow notifications in Mattermost channels
- Trigger Workflow Runs
- Download Workflow Artifacts from a different workflow or even repository
Update license header supporting many different filetypes
- name: Run update header
uses: greenbone/actions/update-header@v3
with:
github-user: ${{ secrets.FOO_BAR }}
github-user-mail: foo@bar.baz
github-user-token: bar
directories: foo tests
target: main
SHA256 file or GPG signature generation
- name: Create a sha256sums file for the foo directory
uses: greenbone/actions/hashsums@v3
with:
directory: ./foo
- name: Create a GPG signature
uses: greenbone/actions/signature@v3
with:
gpg-key: ${{ secrets.FOO_BAR }}
gpg-passphrase: ${{ secrets.FOO_BAZ }}
gpg-fingerprint: ${{ secrets.BAR_BAZ }}
file: ./foo/bar
For any question on the usage of the Greenbone actions please use the Greenbone Community Forum. If you found a problem with the software, please create an issue on GitHub.
This project is maintained by Greenbone AG.
Copyright (C) 2020-2023 Greenbone AG
Licensed under the GNU General Public License v3.0 or later.