ci: # The CI provider to use. Currently only GitHub Actions is supported. provider: github_actions repo_owner: ThomasLaPiana repo_name: rox token_env_var: GITHUB_TOKEN # Add documentation to your Rox CLI docs: - name: "release" description: "Documentation around cutting releases" kind: markdown path: "docs/release.md" - name: "markdown" description: "Development-related documentation" # Markdown files are rendered in a special viewer within the terminal kind: markdown path: "docs/dev_docs.md" - name: "readme" description: "Development-related documentation" kind: markdown path: "README.md" - name: "text" description: "Development-related documentation" # Text files are printed directly to stdout kind: text path: "docs/dev_docs.txt" - name: "url" description: "Development-related documentation" # URLs are opened in the default browser kind: url path: "http://google.com" templates: - name: docker_build command: "docker build {path} -t rox:{image_tag}" symbols: ["{path}", "{image_tag}"] pipelines: - name: build-release-all description: "Build a release artifact binary and Docker image" stages: - ["build-release-binary", "build-release-image"] - name: ci description: "Run all CI-related tasks" stages: - ["fmt", "clippy-ci"] - ["test"] tasks: - name: "wt" command: "cargo watch -c -x test" description: "Rerun tests on every file change" - name: "wc" command: "cargo watch -c -x check" description: "Rerun checks on every file change" - name: "clippy-ci" description: "Run Clippy with a non-zero exit if warnings are found." command: "cargo clippy -- -D warnings" - name: fmt command: "cargo fmt" - name: test command: "cargo nextest run" description: "Run tests" - name: build-binary command: "cargo build" description: "Build the dev binary" - name: run description: "Runs the 'help' command as a basic test" command: "cargo run help" # Release-related - name: build-release-binary description: "Build a release binary with cargo." command: "cargo build --release" - name: build-release-image description: "Build a production image for Docker." command: "docker build tests/files/ -t rox:latest"