From 11af20ff654ec65fe7d7ba08debe3b6d45ecb510 Mon Sep 17 00:00:00 2001 From: WaybackBot <200@anti.censorship> Date: Sat, 22 Aug 2020 02:02:36 +0800 Subject: [PATCH] Add snapcraft workflow --- .github/workflows/snapcraft.yml | 43 +++++++++++++++++++++++++++++++++ README.md | 6 +++++ snapcraft.yaml | 25 +++++++++++++++++++ 3 files changed, 74 insertions(+) create mode 100644 .github/workflows/snapcraft.yml create mode 100644 snapcraft.yaml diff --git a/.github/workflows/snapcraft.yml b/.github/workflows/snapcraft.yml new file mode 100644 index 00000000..c53deea3 --- /dev/null +++ b/.github/workflows/snapcraft.yml @@ -0,0 +1,43 @@ +name: Snapcraft Release + +on: + push: + tags: + - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10 + +jobs: + snapcraft-release: + runs-on: ubuntu-latest + + steps: + - name: Check out Git repository + uses: actions/checkout@v2 + + - name: Install Snapcraft + run: | + sudo snap install snapcraft --classic + sudo snap install lxd + sudo usermod --append --groups lxd $USER + echo "::add-path::/snap/bin" + sudo chown root:root / + sudo /snap/bin/lxd.migrate -yes + sudo /snap/bin/lxd waitready + sudo /snap/bin/lxd init --auto + + # You can now run Snapcraft shell commands + - name: Use Snapcraft + run: snapcraft --help + + - name: Login snapcraft + run: | + LOGIN_FILEPATH=/tmp/credential + echo "${{ secrets.SNAPCRAFT_TOKEN }}" > $LOGIN_FILEPATH + snapcraft login --with $LOGIN_FILEPATH + + - name: Build snap + run: sg lxd -c 'snapcraft --use-lxd' + + - name: Publish snap + run: | + snapcraft push wayback_0+git.$(git rev-parse --short HEAD)_amd64.snap --release=stable,edge + diff --git a/README.md b/README.md index acf106d4..b68bb0f4 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,12 @@ $ go get -u github.com/wabarc/wayback/cmd/wayback ``` +Using [Snapcraft](https://snapcraft.io/wayback) (on GNU/Linux) + +```sh +$ sudo snap install wayback +``` + ## Usage - Running as CLI command or Docker container diff --git a/snapcraft.yaml b/snapcraft.yaml new file mode 100644 index 00000000..1e7eb768 --- /dev/null +++ b/snapcraft.yaml @@ -0,0 +1,25 @@ +name: wayback + +version: 'git' + +summary: A toolkit to upload files to IPFS pinning services. + +description: | + A toolkit for snapshot webpage to the Wayback Machine. + Website https://github.com/wabarc/wayback + +grade: stable + +confinement: strict + +base: core18 + +parts: + wayback: + plugin: go + source: https://github.com/wabarc/wayback.git + go-importpath: github.com/wabarc/wayback/cmd/wayback + +apps: + wayback: + command: wayback