From c0264c4dfaee14607afe4cda701609a669566dbf Mon Sep 17 00:00:00 2001 From: Thomas Honeyman Date: Wed, 2 Dec 2020 18:50:16 -0800 Subject: [PATCH 1/4] Migrate to GitHub Actions and update installation instructions. --- .github/workflows/ci.yml | 31 +++++++++++++++++++++++++++++++ .gitignore | 2 +- .travis.yml | 24 ------------------------ README.md | 4 ++-- 4 files changed, 34 insertions(+), 27 deletions(-) create mode 100644 .github/workflows/ci.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..e2972ba --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,31 @@ +name: CI + +on: push + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - uses: purescript-contrib/setup-purescript@main + with: + purescript: "0.14.0-rc3" + + - uses: actions/setup-node@v1 + with: + node-version: "12" + + - name: Install dependencies + run: | + npm install -g bower + npm install + bower install --production + + - name: Build source + run: npm run-script build + + - name: Run tests + run: | + bower install + npm run-script test --if-present diff --git a/.gitignore b/.gitignore index b215c44..7ebd961 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ /.* !/.gitignore -!/.travis.yml +!/.github/ /bower_components/ /node_modules/ /output/ diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 22aab31..0000000 --- a/.travis.yml +++ /dev/null @@ -1,24 +0,0 @@ -language: node_js -sudo: required -dist: trusty -node_js: stable -env: - - PATH=$HOME/purescript:$PATH -install: - # - TAG=$(basename $(curl --location --silent --output /dev/null -w %{url_effective} https://github.com/purescript/purescript/releases/latest)) - - TAG=v0.14.0-rc3 - - curl --location --output $HOME/purescript.tar.gz https://github.com/purescript/purescript/releases/download/$TAG/linux64.tar.gz - - tar -xvf $HOME/purescript.tar.gz -C $HOME/ - - chmod a+x $HOME/purescript - - npm install -g bower - - npm install -script: - - bower install --production - - npm run -s build - - bower install - - npm -s test -after_success: -- >- - test $TRAVIS_TAG && - echo $GITHUB_TOKEN | pulp login && - echo y | pulp publish --no-push diff --git a/README.md b/README.md index 86d3952..84af230 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # purescript-lists [![Latest release](http://img.shields.io/github/release/purescript/purescript-lists.svg)](https://github.com/purescript/purescript-lists/releases) -[![Build status](https://travis-ci.org/purescript/purescript-lists.svg?branch=master)](https://travis-ci.org/purescript/purescript-lists) +[![Build status](https://github.com/purescript/purescript-lists/workflows/CI/badge.svg?branch=master)](https://github.com/purescript/purescript-lists/actions?query=workflow%3ACI+branch%3Amaster) This library defines strict and lazy linked lists, and associated helper functions and type class instances. @@ -10,7 +10,7 @@ _Note_: This module is an improvement over `Data.Array` when working with immuta ## Installation ``` -bower install purescript-lists +spago install lists ``` ## Licensing From 359d415dd77b3705c97aa86ba1f009c9af9275bc Mon Sep 17 00:00:00 2001 From: Thomas Honeyman Date: Wed, 2 Dec 2020 18:55:06 -0800 Subject: [PATCH 2/4] Remove MonadZero instances. --- src/Data/List/Lazy/Types.purs | 3 --- src/Data/List/Types.purs | 3 --- 2 files changed, 6 deletions(-) diff --git a/src/Data/List/Lazy/Types.purs b/src/Data/List/Lazy/Types.purs index 57f9d26..9ed5716 100644 --- a/src/Data/List/Lazy/Types.purs +++ b/src/Data/List/Lazy/Types.purs @@ -8,7 +8,6 @@ import Control.Comonad (class Comonad) import Control.Extend (class Extend) import Control.Lazy as Z import Control.MonadPlus (class MonadPlus) -import Control.MonadZero (class MonadZero) import Control.Plus (class Plus) import Data.Eq (class Eq1, eq1) import Data.Foldable (class Foldable, foldMap, foldl, foldr) @@ -185,8 +184,6 @@ instance plusList :: Plus List where instance alternativeList :: Alternative List -instance monadZeroList :: MonadZero List - instance monadPlusList :: MonadPlus List instance extendList :: Extend List where diff --git a/src/Data/List/Types.purs b/src/Data/List/Types.purs index acd5aa1..d7efe23 100644 --- a/src/Data/List/Types.purs +++ b/src/Data/List/Types.purs @@ -14,7 +14,6 @@ import Control.Apply (lift2) import Control.Comonad (class Comonad) import Control.Extend (class Extend) import Control.MonadPlus (class MonadPlus) -import Control.MonadZero (class MonadZero) import Control.Plus (class Plus) import Data.Eq (class Eq1, eq1) import Data.Foldable (class Foldable, foldl, foldr, intercalate) @@ -173,8 +172,6 @@ instance plusList :: Plus List where instance alternativeList :: Alternative List -instance monadZeroList :: MonadZero List - instance monadPlusList :: MonadPlus List instance extendList :: Extend List where From 40412493e04a5878ed28b2c878c1ab43cc5e4ba2 Mon Sep 17 00:00:00 2001 From: Thomas Honeyman Date: Fri, 4 Dec 2020 14:43:19 -0800 Subject: [PATCH 3/4] Revert "Remove MonadZero instances." This reverts commit 359d415dd77b3705c97aa86ba1f009c9af9275bc. --- src/Data/List/Lazy/Types.purs | 3 +++ src/Data/List/Types.purs | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/Data/List/Lazy/Types.purs b/src/Data/List/Lazy/Types.purs index 9ed5716..57f9d26 100644 --- a/src/Data/List/Lazy/Types.purs +++ b/src/Data/List/Lazy/Types.purs @@ -8,6 +8,7 @@ import Control.Comonad (class Comonad) import Control.Extend (class Extend) import Control.Lazy as Z import Control.MonadPlus (class MonadPlus) +import Control.MonadZero (class MonadZero) import Control.Plus (class Plus) import Data.Eq (class Eq1, eq1) import Data.Foldable (class Foldable, foldMap, foldl, foldr) @@ -184,6 +185,8 @@ instance plusList :: Plus List where instance alternativeList :: Alternative List +instance monadZeroList :: MonadZero List + instance monadPlusList :: MonadPlus List instance extendList :: Extend List where diff --git a/src/Data/List/Types.purs b/src/Data/List/Types.purs index d7efe23..acd5aa1 100644 --- a/src/Data/List/Types.purs +++ b/src/Data/List/Types.purs @@ -14,6 +14,7 @@ import Control.Apply (lift2) import Control.Comonad (class Comonad) import Control.Extend (class Extend) import Control.MonadPlus (class MonadPlus) +import Control.MonadZero (class MonadZero) import Control.Plus (class Plus) import Data.Eq (class Eq1, eq1) import Data.Foldable (class Foldable, foldl, foldr, intercalate) @@ -172,6 +173,8 @@ instance plusList :: Plus List where instance alternativeList :: Alternative List +instance monadZeroList :: MonadZero List + instance monadPlusList :: MonadPlus List instance extendList :: Extend List where From d1c295b674b24835c813ced63e91df00ec2dad82 Mon Sep 17 00:00:00 2001 From: Thomas Honeyman Date: Fri, 4 Dec 2020 16:03:10 -0800 Subject: [PATCH 4/4] Censor user-defined warnings to accommodate MonadZero deprecation --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index cc57628..88257c4 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "private": true, "scripts": { "clean": "rimraf output && rimraf .pulp-cache", - "build": "pulp build -- --censor-lib --strict", + "build": "pulp build -- --censor-lib --strict --censor-codes='UserDefinedWarning'", "test": "pulp test", "bench:build": "purs compile 'bench/**/*.purs' 'src/**/*.purs' 'bower_components/*/src/**/*.purs'",