{"id":21227790,"url":"https://github.com/rfprod/rust-workspace","last_synced_at":"2025-03-15T01:42:25.473Z","repository":{"id":37976309,"uuid":"487476840","full_name":"rfprod/rust-workspace","owner":"rfprod","description":"Rust workspace with workflow automation.","archived":false,"fork":false,"pushed_at":"2024-06-11T06:13:41.000Z","size":333,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-21T17:47:34.694Z","etag":null,"topics":["github-actions-ci","rust-workspace","workflow-automation"],"latest_commit_sha":null,"homepage":"https://rfprod.github.io/rust-workspace/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rfprod.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-05-01T07:48:17.000Z","updated_at":"2024-06-11T06:13:45.000Z","dependencies_parsed_at":"2023-12-30T17:51:49.188Z","dependency_job_id":"25b2adb9-7f2d-4f5a-b1cc-fe7394d07e03","html_url":"https://github.com/rfprod/rust-workspace","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rfprod%2Frust-workspace","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rfprod%2Frust-workspace/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rfprod%2Frust-workspace/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rfprod%2Frust-workspace/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rfprod","download_url":"https://codeload.github.com/rfprod/rust-workspace/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243672370,"owners_count":20328762,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["github-actions-ci","rust-workspace","workflow-automation"],"created_at":"2024-11-20T23:03:59.644Z","updated_at":"2025-03-15T01:42:25.450Z","avatar_url":"https://github.com/rfprod.png","language":"Rust","readme":"# Rust workspace\n\nRust workspace with workflow automation.\n\n[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n\n## Workflows\n\n|                                                                              | Trigger                             | Badge                                                                                                                                                                                                      |\n| ---------------------------------------------------------------------------- | ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| [:information_source:](# 'Full testing, deliverables build and deployment.') | PR merge event (destination: trunk) | [![trunk](https://github.com/rfprod/rust-workspace/actions/workflows/trunk.yml/badge.svg)](https://github.com/rfprod/rust-workspace/actions/workflows/trunk.yml)                                           |\n| [:information_source:](# 'Code ownership validation.')                       | Scheduled (weekly)                  | [![validate-codeowners](https://github.com/rfprod/rust-workspace/actions/workflows/validate-codeowners.yml/badge.svg)](https://github.com/rfprod/rust-workspace/actions/workflows/validate-codeowners.yml) |\n| [:information_source:](# 'Quality gates: pull request validation.')          | PR open event (destination: trunk)  | [![validate-pr](https://github.com/rfprod/rust-workspace/actions/workflows/validate-pr.yml/badge.svg)](https://github.com/rfprod/rust-workspace/actions/workflows/validate-pr.yml)                         |\n\n## Requirements\n\nIn order to run own copy of the project one must fulfill the following requirements.\n\n### Supported operating systems\n\n- :trophy: [Debian based Linux](https://en.wikipedia.org/wiki/List_of_Linux_distributions#Debian-based)\n  - install all dependencies required to work with the project except NodeJS: rustup, commitizen, shellcheck\n    ```bash\n    bash tools/shell/install.sh all\n    ```\n  - see help for available options\n    ```bash\n    bash tools/shell/install.sh ?\n    ```\n- :ok: [OSX](https://en.wikipedia.org/wiki/MacOS)\n  - install all dependencies required to work with the project except Python: rustup, commitizen, shellcheck\n    ```bash\n    bash tools/shell/install.sh all osx\n    ```\n  - see help for available options\n    ```bash\n    bash tools/shell/install.sh ?\n    ```\n- 🤷 [Windows](https://en.wikipedia.org/wiki/Microsoft_Windows)\n  - install shellcheck\n    ```powershell\n    iwr -useb get.scoop.sh | iex\n    scoop install shellcheck\n    ```\n  - recommended shell: [Git for Windows](https://gitforwindows.org/) \u003e `Git BASH`\n  - configure Git to use LF as a carriage return\n    ```bash\n    git config --global core.autocrlf false\n    git config --global core.eol lf\n    ```\n  - one will have to figure out oneself how to install the `commitizen` package, the instructions for Linux will possibly work (see below)\n\n### Integrated development environment\n\n:trophy: [Visual Studio Code](https://code.visualstudio.com/) - recommended for all operating systems\n\n### Core dependencies\n\n- [Bash 5](https://www.gnu.org/software/bash/)\n- [Python 3.6+](https://www.python.org/) - `for OSX to use the global commitizen installation`\n- [NodeJS](https://nodejs.org/) - `for Linux to use the global commitizen installation`\n- [Git](https://git-scm.com/)\n- [Rust](https://www.rust-lang.org/)\n\n## Committing changes to the repo\n\n### Linux\n\nUsing [commitizen cli](https://github.com/commitizen/cz-cli) is mandatory.\n\nThe commit message are validated during the premerge checks.\n\nIt is assumed that [Node.js](https://nodejs.org/) is installed.\n\nGiven the [NodeJS](https://nodejs.org/) is installed, and [commitizen cli is installed as a global dependency](https://github.com/commitizen/cz-cli#conventional-commit-messages-as-a-global-utility), the following command should be used to initiate the commit process\n\n```bash\ngit cz\n```\n\nAlternatively, given there are no conflicts with other projects that use [the commitizen npm package](https://www.npmjs.com/package/commitizen), one could install commitizen globally via `pypi` like this\n\n```bash\nsudo pip3 install -U Commitizen\n```\n\n### OSX\n\nUsing [commitizen](https://pypi.org/project/commitizen/) is mandatory.\n\nThe commit message are validated during the premerge checks.\n\nAfter installing the package as a global utility using the following command\n\n```bash\nbrew install commitizen\n```\n\none can use one of the following commands to initiate the commit process\n\n```bash\ncz commit\n```\n\nor\n\n```bash\ncz c\n```\n\n## General Tooling\n\nThis project was generated using [Cargo](https://doc.rust-lang.org/cargo/).\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://doc.rust-lang.org/cargo/images/Cargo-Logo-Small.png\" width=\"450\"\u003e\u003c/p\u003e\n\u003csmall\u003eThe Rust and Cargo logos (bitmap and vector) are owned by the Rust Foundation and distributed under the terms of the \u003ca href=\"https://creativecommons.org/licenses/by/4.0/\" target=\"_blank\" rel=\"noreferer\"\u003eCreative Commons Attribution license (CC-BY)\u003c/a\u003e. The logos are used in compliance with the \u003ca href=\"https://foundation.rust-lang.org/policies/logo-policy-and-media-guide/\" target=\"_blank\" rel=\"noreferer\"\u003eRust Foundation Logo Policy and Media Guide\u003c/a\u003e. No changes have been made to the original logos used by \u003ca href=\"https://github.com/rfprod/rust-workspace\" target=\"_blank\" rel=\"noreferer\"\u003ethe project\u003c/a\u003e. \u003ca href=\"https://github.com/rfprod/rust-workspace\" target=\"_blank\" rel=\"noreferer\"\u003eThe project\u003c/a\u003e was created for educational purposes.\u003c/small\u003e\n\n### What is Cargo\n\n**Cargo is the [Rust](https://www.rust-lang.org/) [package manager](https://doc.rust-lang.org/cargo/appendix/glossary.html#package-manager). Cargo downloads your Rust [package's](https://doc.rust-lang.org/cargo/appendix/glossary.html#package) dependencies, compiles your packages, makes distributable packages, and uploads them to [crates.io](https://crates.io/), the Rust community [package registry](https://doc.rust-lang.org/cargo/appendix/glossary.html#package-registry).**\n\n### Quick Start \u0026 Documentation\n\n- [The Rust language documentation](https://www.rust-lang.org/tools/install)\n\n### Further help\n\n```bash\nrustup --help\n```\n\n```bash\ncargo --help\n```\n\n## Technology Reference\n\n### Workspace\n\n- [rustup](https://rust-lang.github.io/rustup/)\n- [Rust](https://doc.rust-lang.org/book/)\n- [Cargo](https://doc.rust-lang.org/cargo)\n\n### CI\n\n- [GitHub Actions](https://github.com/features/actions)\n\n### Development methodology\n\n- [Trunk based development](https://trunkbaseddevelopment.com/)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frfprod%2Frust-workspace","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frfprod%2Frust-workspace","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frfprod%2Frust-workspace/lists"}