From 8516844d00530b82698236a16c19c77a6e5fe212 Mon Sep 17 00:00:00 2001 From: Gertjan van den Burg Date: Mon, 28 Dec 2020 14:25:37 +0000 Subject: Add tentative support for Github Actions --- .github/scripts/test_p2r.sh | 60 +++++++++++++++++++++++++++++++++++++++++++++ .github/workflows/test.yml | 21 ++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 .github/scripts/test_p2r.sh create mode 100644 .github/workflows/test.yml diff --git a/.github/scripts/test_p2r.sh b/.github/scripts/test_p2r.sh new file mode 100644 index 0000000..e7c1139 --- /dev/null +++ b/.github/scripts/test_p2r.sh @@ -0,0 +1,60 @@ +#!/bin/bash +# +# Setup environment and run unit tests for paper2remarkable +# +# After Travis effectively removed support for open source projects I've +# decided to capture all testing facilities in a single script, to ensure we +# can more easily move between CI providers. +# +# This script is intended to be run inside a virtual machine (or equivalent) +# that runs Ubuntu Xenial. It will affect the system installed packages. +# +# Author: G.J.J. van den Burg +# Date: 2020-11-06 +# + +set -e -u -x -o pipefail + +NODE_VERSION="v12.18.1" +NVM_VERSION="v0.36.0" + +echo "Setting up environment" +echo -e "\tUpdating system ..." + +sudo apt-get update + +echo -e "\tInstalling system dependencies for paper2remarkable" + +sudo apt-get install ghostscript pdftk poppler-utils qpdf + +echo -e "\tInstalling nvm ..." + +sudo apt-get install build-essential libssl-dev -y + +curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" | bash + +source ~/.nvm/nvm.sh + +echo -e "\tInstalling node version ${NODE_VERSION}" + +nvm install ${NODE_VERSION} + +echo -e "\tActivating node version ${NODE_VERSION}" + +nvm use ${NODE_VERSION} + +echo -e "Installing pre-commit" + +pip install pre-commit + +echo -e "Install package" + +pip install -e .[test] + +echo -e "Run pre-commit" + +pre-commit run --all-files --show-diff-on-failure + +echo -e "Run unit tests" + +green -vv -a ./tests diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..d69f3eb --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,21 @@ +name: Test paper2reMarkable + +on: push + +jobs: + p2r-test: + name: Unit tests for paper2remarkable + runs-on: ubuntu-xenial + + steps: + - name: Install Python 3.6 + uses: actions/setup-python@v2 + with: + python-version: '3.6' + + - name: Checkout code + uses: actions/checkout@v2 + + - name: Run unit test script + run: ./.github/scripts/test_p2r.sh + shell: bash -- cgit v1.2.3