All Projects → arduino → setup-protoc

arduino / setup-protoc

Licence: GPL-3.0 license
GitHub Action to setup the protoc compiler for protocol buffers

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to setup-protoc

setup-arduino-cli
GitHub Action to setup Arduino CLI
Stars: ✭ 59 (+1.72%)
Mutual labels:  github-actions, tooling-team
compile-sketches
GitHub Actions action that checks whether Arduino sketches compile and produces a report of data from the compilations
Stars: ✭ 35 (-39.66%)
Mutual labels:  github-actions, tooling-team
aws-cdk-github-oidc
CDK constructs to use OpenID Connect for authenticating your Github Action workflow with AWS IAM
Stars: ✭ 59 (+1.72%)
Mutual labels:  github-actions
gatsby-personal-site
My personal site made with Gatsby
Stars: ✭ 31 (-46.55%)
Mutual labels:  github-actions
wordpress-skeleton
A base repository structure for rtCamp's WordPress sites, pre-configured to use Github Actions
Stars: ✭ 32 (-44.83%)
Mutual labels:  github-actions
gh-actions
A Github action for generating Terraform module documentation using terraform-docs and gomplate
Stars: ✭ 56 (-3.45%)
Mutual labels:  github-actions
bx-github-ci
This tutorial provides one example on how a CI (Continuous Integration) workflow with the IAR Build Tools for Linux can be set up on GitHub. The IAR Build Tools on Linux are available for Arm, RISC-V and Renesas (RH850, RL78 and RX).
Stars: ✭ 20 (-65.52%)
Mutual labels:  github-actions
jest-github-action
Jest action adding checks with annotations to your pull requests and coverage table as comments
Stars: ✭ 134 (+131.03%)
Mutual labels:  github-actions
prettier
🔨 Native, blazingly-fast Prettier CLI on Github Actions
Stars: ✭ 19 (-67.24%)
Mutual labels:  github-actions
hasura-action
GitHub Action wrapping the Hasura CLI
Stars: ✭ 39 (-32.76%)
Mutual labels:  github-actions
PowerPlatform-ALM-With-GitHub-Template
Template repository for the ALM of Power Platform solutions with GitHub
Stars: ✭ 21 (-63.79%)
Mutual labels:  github-actions
tarpaulin
📈 GitHub Action for code coverage reporting with tarpaulin
Stars: ✭ 69 (+18.97%)
Mutual labels:  github-actions
cloudflare-dns-action
A GitHub action to set a DNS record using Cloudflare on push to the master branch.
Stars: ✭ 41 (-29.31%)
Mutual labels:  github-actions
notionproxy
Notion as a web site, inspired by react-notion-x.
Stars: ✭ 24 (-58.62%)
Mutual labels:  github-actions
algoliasearch-crawler-github-actions
Algolia Crawler Github action
Stars: ✭ 24 (-58.62%)
Mutual labels:  github-actions
branch-protection-bot
A bot tool to disable and re-enable "Include administrators" option in branch protection
Stars: ✭ 57 (-1.72%)
Mutual labels:  github-actions
install-crystal
GitHub Action: Install Crystal programming language
Stars: ✭ 50 (-13.79%)
Mutual labels:  github-actions
code-owner-self-merge
A GitHub Action for letting CODEOWNERS merge PRs via green PR reviews
Stars: ✭ 43 (-25.86%)
Mutual labels:  github-actions
chart-testing-action
A GitHub Action to lint and test Helm charts
Stars: ✭ 139 (+139.66%)
Mutual labels:  github-actions
pytest-github-actions-annotate-failures
Pytest plugin to annotate failed tests with a workflow command for GitHub Actions
Stars: ✭ 58 (+0%)
Mutual labels:  github-actions

setup-protoc

test

This action makes the protoc compiler available to Workflows.

Usage

To get the latest stable version of protoc just add this step:

- name: Install Protoc
  uses: arduino/setup-protoc@v1

If you want to pin a major or minor version you can use the .x wildcard:

- name: Install Protoc
  uses: arduino/setup-protoc@v1
  with:
    version: '3.x'

You can also require to include releases marked as pre-release in Github using the include-pre-releases flag (the dafault value for this flag is false)

- name: Install Protoc
  uses: arduino/setup-protoc@v1
  with:
    version: '3.x'
    include-pre-releases: true

To pin the exact version:

- name: Install Protoc
  uses: arduino/setup-protoc@v1
  with:
    version: '3.9.1'

The action queries the GitHub API to fetch releases data, to avoid rate limiting, pass the default token with the repo-token variable:

- name: Install Protoc
  uses: arduino/setup-protoc@v1
  with:
    repo-token: ${{ secrets.GITHUB_TOKEN }}

Development

To work on the codebase you have to install all the dependencies:

# npm install

To run the tests:

# npm run test

Enable verbose logging for a pipeline

Additional log events with the prefix ::debug:: can be enabled by setting the secret ACTIONS_STEP_DEBUG to true.

See step-debug-logs for reference.

Release

We check in the node_modules to provide runtime dependencies to the system using the Action, so be careful not to git add all the development dependencies you might have under your local node_modules. To release a new version of the Action the workflow should be the following:

  1. npm install to add all the dependencies, included development.
  2. npm run test to see everything works as expected.
  3. npm run build to build the Action under the ./lib folder.
  4. rm -rf node_modules to remove all the dependencies.
  5. npm install --production to add back only the runtime dependencies.
  6. git add lib node_modules to check in the code that matters.
  7. If the release will increment the major version, update the action refs in the examples in README.md (e.g., uses: arduino/setup-protoc@v1 -> uses: arduino/setup-protoc@v2).
  8. open a PR and request a review.
  9. After PR is merged, create a release, following the vX.X.X tag name convention.
  10. After the release, rebase the release branch for that major version (e.g., v1 branch for the v1.x.x tags) on the tag. If no branch exists for the release's major version, create one.

Security

If you think you found a vulnerability or other security-related bug in this project, please read our security policy and report the bug to our Security Team 🛡️ Thank you!

e-mail contact: [email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].