https://github.com/screenly/cli
Command Line Interface (CLI) and GitHub Actions workflow for Screenly.
https://github.com/screenly/cli
cli command-line command-line-tool github-actions
Last synced: 16 days ago
JSON representation
Command Line Interface (CLI) and GitHub Actions workflow for Screenly.
- Host: GitHub
- URL: https://github.com/screenly/cli
- Owner: Screenly
- License: mit
- Created: 2022-10-19T08:49:09.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2025-02-04T20:42:55.000Z (3 months ago)
- Last Synced: 2025-03-24T00:02:14.074Z (about 1 month ago)
- Topics: cli, command-line, command-line-tool, github-actions
- Language: Rust
- Homepage: https://screenly.io
- Size: 1.07 MB
- Stars: 27
- Watchers: 10
- Forks: 6
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
[](https://app.sbomify.com/component/UUzAdk8ixV)
[](https://github.com/Screenly/cli/actions/workflows/lint.yml)
[](https://github.com/Screenly/cli/actions/workflows/rust.yml)
[](https://github.com/Screenly/cli/actions/workflows/nix.yml)# Screenly Command Line Interface (CLI)
The Screenly CLI simplifies interactions with Screenly through your terminal, designed for both manual use and task automation.
## Installation
### From Releases
Download the latest release [here](https://github.com/Screenly/cli/releases/latest).
### Homebrew (macOS only)
```bash
$ brew tap screenly/screenly-cli
$ brew install screenly-cli
```### Nix
```bash
$ nix-shell -p screenly-cli
```### Docker
For other operating systems or Docker usage:
```bash
$ docker run --rm \
-e API_TOKEN=YOUR_API_TOKEN \
screenly/cli:latest help
```## Building from Source
To build the Screenly CLI from source, ensure you have [Rust](https://www.rust-lang.org) installed:
```bash
$ cargo build --release
```The `screenly` binary will be located in `target/release`.
To configure a non-production API server, set the `API_SERVER_NAME` environment variable:
```bash
$ API_SERVER_NAME=local cargo build --release
```## Commands
Explore available commands [here](https://developer.screenly.io/cli/#commands).
## GitHub Action
Integrate Screenly CLI into your GitHub workflows:
### Inputs
#### `screenly_api_token`
**Required** Screenly API token for your team.
#### `cli_commands`
**Required** Command to execute (e.g., `screen list`).
#### `cli_version`
Optional CLI version override.
### Example usage
```yaml
uses: screenly/cli@master
with:
screenly_api_token: ${{ secrets.SCREENLY_API_TOKEN }}
cli_commands: screen list
```## Protocol Buffers (Protobuf) Generation
Generate `pb_signature.rs` from `signature.proto`:
```bash
$ cargo install protobuf-codegen
$ protoc --rust_out . signature.proto
$ mv signature.rs src/pb_signature.rs
```## Release Process
- Merge PRs into `master`.
- Update version in `Cargo.toml`, `action.yml`, `Dockerfile`, and GitHub Actions configurations.
- Create release branch (e.g., `release-1.0.0`) and tag (e.g., `v1.0.0`).
- Update [Homebrew repo](https://github.com/Screenly/homebrew-screenly-cli) with the latest version.