Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions .github/workflows/test-snap-can-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: 🧪 Test snap can be built on x86_64

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]

jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20.x]

steps:
- uses: actions/checkout@v2

- uses: snapcore/action-build@v1
id: build

- uses: diddlesnaps/snapcraft-review-action@v1
with:
snap: ${{ steps.build.outputs.snap }}
isClassic: 'false'
# Plugs and Slots declarations to override default denial (requires store assertion to publish)
# plugs: ./plug-declaration.json
# slots: ./slot-declaration.json
11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# cmprss

<a href="https://snapcraft.io/cmprss"><img src="https://snapcraft.io/cmprss/badge.svg" alt="Snap Status"></a>

**Status: Alpha.**
CLI is relatively stable but likely contains bugs, and there may be future breaking changes.

Expand All @@ -20,6 +22,15 @@ Installation is available through source code and cargo. `cargo install cmprss`

For Nix users, the repository contains a flake and an overlay. `nix run github:arcuru/cmprss`

To install the snap, run: `sudo snap install cmprss`

Be sure to connect the interfaces:

```
sudo snap connect cmprss:removable-media
sudo snap connect cmprss:system-backup
```

## Usage

The primary goal is to infer behavior based on the input, so that you don't need to remember esoteric CLI arguments.
Expand Down
51 changes: 51 additions & 0 deletions snap/snapcraft.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: cmprss
adopt-info: cmprss
summary: A compression multi-tool for the command line
description: |
Status: Alpha. CLI is relatively stable but likely contains bugs, and there may be
future breaking changes. A compression multi-tool for the command line. Replace tar
with something you can remember. Relevant XKCD.

Currently supports:
bzip2
gzip
tar
xz

Basic usage:
cmprss file.txt file.txt.gz

For more info, please visit: https://github.com/arcuru/cmprss

license: MIT
base: core22
grade: stable
confinement: strict

apps:
cmprss:
command: bin/cmprss
environment:
PATH: $SNAP/bin/:$PATH
plugs:
- home
- network
- network-bind
- removable-media
- system-backup

parts:
cmprss:
source: https://github.com/arcuru/cmprss
source-type: git
plugin: rust

override-pull: |
snapcraftctl pull
snapcraftctl set-version "$(git describe --tags | sed 's/^v//' | cut -d "_" -f2 | cut -d "-" -f1)"

build-packages:
- cargo
- rustc
- pkg-config
- librust-openssl-sys-dev