action-gh-release
📦 :octocat: GitHub Action for creating GitHub Releases (by softprops)
golangci-lint-action
Official GitHub action for golangci-lint from its authors (by golangci)
Our great sponsors
action-gh-release | golangci-lint-action | |
---|---|---|
7 | 3 | |
3,577 | 958 | |
- | 2.7% | |
7.5 | 9.3 | |
9 days ago | 10 days ago | |
TypeScript | TypeScript | |
MIT License | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
action-gh-release
Posts with mentions or reviews of action-gh-release.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-06-01.
-
GitHub Action to compile binary and create release
While those actions are indeeded archived, they do recommend some other community actions to use. I have used https://github.com/softprops/action-gh-release and it works well. That said, you need to do your own due diligence on how comfortable you are using community actions.
-
Simple LaTeX CI/CD Template
Alternatively, if you do not want to use the LaTeX compilation process on GitHub Actions, you can omit the building process and track the locally generated PDF file as well. Usually binary files, PDF files in this case, are not tracked. You can remove the Compile LaTeX Document step in the .github/workflows/release.yml file, and start tracking the output PDF in your repository. By this way, you can move the compilation process to local. However, if you follow this path, by default, you will not have your output PDF listed under releases. It is possible to achieve this by editing the Release step in the workflow (see action-gh-release for more information).
-
Dart + GitHub Actions: Publish your command-line tools for Windows/macOS/Linux into GitHub Releases
action-gh-release really makes it easy to do these steps.
-
How to release built artifacts from one to another repo on GitHub?
softprops/action-gh-release able to achieve that in two lines of code.
-
Go Package CI/CD with GitHub Actions
Finally, we use a 3rd-party release creation Action for creating a release draft with the release notes and artifacts we just created:
golangci-lint-action
Posts with mentions or reviews of golangci-lint-action.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2024-01-05.
-
Using Private Go Modules with golangci-lint in GitHub Actions
# source: https://github.com/golangci/golangci-lint-action?tab=readme-ov-file#how-to-use name: golangci-lint on: push: branches: - master - main pull_request: permissions: contents: read # Optional: allow read access to pull request. Use with `only-new-issues` option. # pull-requests: read jobs: golangci: name: lint runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-go@v4 with: go-version: '1.21' cache: false - name: golangci-lint uses: golangci/golangci-lint-action@v3 with: # Require: The version of golangci-lint to use. # When `install-mode` is `binary` (default) the value can be v1.2 or v1.2.3 or `latest` to use the latest version. # When `install-mode` is `goinstall` the value can be v1.2.3, `latest`, or the hash of a commit. version: v1.54 # Optional: working directory, useful for monorepos # working-directory: somedir # Optional: golangci-lint command line arguments. # # Note: By default, the `.golangci.yml` file should be at the root of the repository. # The location of the configuration file can be changed by using `--config=` # args: --timeout=30m --config=/my/path/.golangci.yml --issues-exit-code=0 # Optional: show only new issues if it's a pull request. The default value is `false`. # only-new-issues: true # Optional: if set to true, then all caching functionality will be completely disabled, # takes precedence over all other caching options. # skip-cache: true # Optional: if set to true, then the action won't cache or restore ~/go/pkg. # skip-pkg-cache: true # Optional: if set to true, then the action won't cache or restore ~/.cache/go-build. # skip-build-cache: true # Optional: The mode to install golangci-lint. It can be 'binary' or 'goinstall'. # install-mode: "goinstall"
-
Go Package CI/CD with GitHub Actions
Finally, we can use golangci-lint's provided GitHub Action for linting - it runs golangci-lint on the workflow runner's clone of the repo and outputs an error code if any Go file in the repo fails rules of any linters in golangci-lint. Note that golangci-lint fails if the AST cannot be parsed (i.e. if there are any syntax errors), so it can also be used for checking syntax correctness, which itself is a good proxy for checking for merge conflict strings. We can fail-fast with any checks this way - there's no need to spin up a compilation and a go test invocation if there are syntax errors.
-
CLI for Windows with Go
If you want to run golangci-lint in CI, you can use golangci-lint-action same as other actions.
What are some alternatives?
When comparing action-gh-release and golangci-lint-action you can also consider the following projects:
golangci-lint - Fast linters Runner for Go
setup-go - Set up your GitHub Actions workflow with a specific version of Go
virtual-environments - GitHub Actions runner images [Moved to: https://github.com/actions/runner-images]
tokens
cargo-install - GitHub action for cached Rust crates installation.
cli-for-windows
checkout - Action for checking out a repo
2goarray - A simple utility to encode a file (or any other data) into a Go byte array.
gather-town-desktop-releases - Pseudo-repo for holding releases of the Gather desktop app
golangci-lint-action vs golangci-lint
golangci-lint-action vs setup-go
action-gh-release vs virtual-environments
action-gh-release vs tokens
action-gh-release vs setup-go
golangci-lint-action vs cargo-install
golangci-lint-action vs cli-for-windows
golangci-lint-action vs checkout
action-gh-release vs golangci-lint
golangci-lint-action vs 2goarray
action-gh-release vs gather-town-desktop-releases
golangci-lint-action vs virtual-environments