Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
8eb8609
Drop trigger.yml
JordanMartinez Mar 3, 2022
3400ca1
Update deps to versions listed in latest package set
JordanMartinez Mar 3, 2022
41bcde1
Update package-lock.json from v1 to v2
JordanMartinez Mar 3, 2022
e071477
Ignore additional files
JordanMartinez Mar 4, 2022
469b248
Fix Version arg; apply suggestions; code compiles
JordanMartinez Mar 4, 2022
c2461b9
Remove unused values/fns
JordanMartinez Mar 4, 2022
831bad5
Drop unused noPsa (handled by shouldUsePsa)
JordanMartinez Mar 4, 2022
bbfa686
Install psc-package via npm
JordanMartinez Mar 4, 2022
92b01d8
Run CI on ubuntu and windows
JordanMartinez Mar 4, 2022
3862469
Ignore unused arg
JordanMartinez Mar 4, 2022
eef4720
Sort imports
JordanMartinez Mar 4, 2022
2abfe7c
Drop unused import
JordanMartinez Mar 4, 2022
c82b118
Fix prelude import warning
JordanMartinez Mar 4, 2022
770a3a3
Fix more compiler warnings
JordanMartinez Mar 4, 2022
f2651c5
Test more PS versions
JordanMartinez Mar 7, 2022
534a023
Run all builds to completion
JordanMartinez Mar 7, 2022
fdc6cb9
Add v0.11.0 back
JordanMartinez Mar 7, 2022
40794bd
Fix indentation
JordanMartinez Mar 7, 2022
eb1ee70
Run unit and integration tests separately
JordanMartinez Mar 8, 2022
5fe1d6b
Non-standard scripts require 'run' command
JordanMartinez Mar 8, 2022
5fb2e5b
Use compiler-version-specific deps on init
JordanMartinez Mar 8, 2022
6b79581
Drop support for PureScript v0.11.0
JordanMartinez Mar 8, 2022
90841e1
Bump min psa version to v0.7.0
JordanMartinez Mar 8, 2022
dfccf2a
Add changelog entry
JordanMartinez Mar 8, 2022
eaf0e58
Delete commented out old code
JordanMartinez Mar 8, 2022
cf1469e
Merge windows build into ubuntu build
JordanMartinez Mar 8, 2022
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
124 changes: 90 additions & 34 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,59 +5,115 @@ on:
branches: [master]
pull_request:

defaults:
run:
shell: bash
env:
PURS_BUILD_VERSION: v0.14.5

jobs:
build:
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
PURS_TEST_VERSION: [v0.12.3, v0.12.5]
purs_test_version: [v0.12.0, v0.12.4, v0.12.5, v0.13.0, v0.14.0, v0.14.5]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It'd be nice to pull this out so that it can be reused by both the windowsBuild and the nonWindowsBuild, so that the test versions can't get out of sync between the windows and non-windows builds.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would, but it's not clear to me how to do that. I could use one build and then use a lot of if: runner.os != 'Windows' conditions, but I didn't like that. So, I split it into two.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤷‍♂️ I merged them back into one build because I did make the mistake of only updating one of those arrays in #401.

fail-fast: false
runs-on: ${{ matrix.os }}
env:
PURS_BUILD_VERSION: v0.12.5
PURS_TEST_VERSION: ${{ matrix.PURS_TEST_VERSION }}
PSC_PACKAGE_VERSION: v0.5.1
PURS_TEST_VERSION: ${{ matrix.purs_test_version }}
steps:
- uses: actions/checkout@v2

- uses: actions/setup-node@v1
with:
node-version: "12"

- name: Setup $HOME/bin folder
run: mkdir -p $HOME/bin
- name: "non-Windows - Download PureScript (Build version)"
shell: bash
if: runner.os != 'Windows'
run: |
DIR=$HOME/bin/purescript-$PURS_BUILD_VERSION
mkdir -p $DIR
wget -O $DIR/purescript.tar.gz https://github.com/purescript/purescript/releases/download/$PURS_BUILD_VERSION/linux64.tar.gz
tar -xvf $DIR/purescript.tar.gz -C $DIR --strip-components 1 purescript/purs
chmod a+x $DIR/purs

- name: "non-Windows - Download PureScript (Test version)"
if: runner.os != 'Windows' && env.PURS_BUILD_VERSION != env.PURS_TEST_VERSION
shell: bash
run: |
DIR=$HOME/bin/purescript-$PURS_TEST_VERSION
mkdir -p $DIR
wget -O $DIR/purescript.tar.gz https://github.com/purescript/purescript/releases/download/$PURS_TEST_VERSION/linux64.tar.gz
tar -xvf $DIR/purescript.tar.gz -C $DIR --strip-components 1 purescript/purs
chmod a+x $DIR/purs

- name: Download PureScript
- name: "non-Windows - Run NPM install"
if: runner.os != 'Windows'
run: |
function download_purescript() {
local DIR, VERSION
VERSION=$1
DIR=$HOME/bin/purescript-$VERSION
mkdir $DIR
wget -O $DIR/purescript.tar.gz https://github.com/purescript/purescript/releases/download/$VERSION/linux64.tar.gz
tar -xvf $DIR/purescript.tar.gz -C $DIR --strip-components 1 purescript/purs
chmod a+x $DIR/purs
}
download_purescript $PURS_BUILD_VERSION
if [ "$PURS_BUILD_VERSION" != "$PURS_TEST_VERSION" ]
then
download_purescript $PURS_TEST_VERSION
fi
echo "Using Purs with version:"
PATH="$HOME/bin/purescript-$PURS_BUILD_VERSION:$PATH"
purs --version
npm install

- name: Download psc-package
- name: "non-Windows - Run NPM test (unit)"
if: runner.os != 'Windows'
run: |
wget -O $HOME/bin/psc-package.tar.gz https://github.com/purescript/psc-package/releases/download/$PSC_PACKAGE_VERSION/linux64.tar.gz
tar -xvf $HOME/bin/psc-package.tar.gz -C $HOME/bin --strip-components 1 psc-package/psc-package
chmod a+x $HOME/bin/psc-package
echo "Using Purs with version:"
PATH="$HOME/bin/purescript-$PURS_BUILD_VERSION:$PATH"
purs --version
npm run test:unit

- name: Install NPM dependencies
run: npm install -g bower
- name: "non-Windows - Run NPM test (integration)"
if: runner.os != 'Windows'
run: |
echo "Using Purs with version:"
PATH="$HOME/bin/purescript-$PURS_TEST_VERSION:$PATH"
purs --version
npm run test:integration

- name: Run NPM install
run: PATH=$HOME/bin/purescript-$PURS_BUILD_VERSION:$PATH npm install

- name: Run NPM tests
run: PATH=$HOME/bin/purescript-$PURS_TEST_VERSION:$PATH npm test
- name: "Windows - Download PureScript (Build version)"
shell: bash
if: runner.os == 'Windows'
run: |
pushd C:\\tools
DIR=purescript-$PURS_BUILD_VERSION
mkdir -p $DIR
curl -opurescript.tar.gz -L https://github.com/purescript/purescript/releases/download/$PURS_BUILD_VERSION/win64.tar.gz
tar -xvzf purescript.tar.gz -C $DIR --strip-components 1 purescript/purs.exe
ls .
ls purescript-$PURS_BUILD_VERSION
popd

- name: "Windows - Download PureScript (Test version)"
if: runner.os == 'Windows' && env.PURS_BUILD_VERSION != env.PURS_TEST_VERSION
shell: bash
run: |
pushd C:\\tools
DIR=purescript-$PURS_TEST_VERSION
mkdir -p $DIR
curl -opurescript.tar.gz -L https://github.com/purescript/purescript/releases/download/$PURS_TEST_VERSION/win64.tar.gz
tar -xvzf purescript.tar.gz -C $DIR --strip-components 1 purescript/purs.exe
popd

- name: "Windows - Run NPM install"
if: runner.os == 'Windows'
run: |
echo "Using Purs with version:"
$env:Path="C:\tools\purescript-$env:PURS_BUILD_VERSION;$env:Path"
purs.exe --version
npm install

- name: "Windows - Run NPM test (unit)"
if: runner.os == 'Windows'
run: |
echo "Using Purs with version:"
$env:Path="C:\tools\purescript-$env:PURS_BUILD_VERSION;$env:Path"
purs.exe --version
npm run test:unit

- name: "Windows - Run NPM test (integration)"
if: runner.os == 'Windows'
run: |
echo "Using Purs with version:"
$env:Path="C:\tools\purescript-$env:PURS_TEST_VERSION;$env:Path"
purs.exe --version
npm run test:integration
31 changes: 0 additions & 31 deletions .github/workflows/trigger.yml

This file was deleted.

3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,6 @@
.browserify-cache.json
/.psvm/
/unit-tests.js
.psc*
.purs-repl

16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
# Pulp Release History

## 16.0.0

Breaking:
* Increased minimum `purs` version to `v0.12.0` and dropped support for all
compiler versions earlier than that. (#399 by @JordanMartinez)
* Increased minimum `psa` version to `v0.7.0` and dropped support for all
versions earlier than that. (#399 by @JordanMartinez)

Internal:
* Update project and its dependencies to use PureScript `v0.14.5` and
`v0.14.0`-compatible libraries. (#399 by @JordanMartinez)
* Migrated from Travis CI to GitHub Actions. (#399 by @JordanMartinez)
* Updated CI integration tests to verify `pulp` works when
the compiler version used is `v0.12.x`, `v0.13.x`, and `v0.14.x`.
(#399 by @JordanMartinez)

## 15.0.0

* Remove the check for `main` being an appropriate entry point when generating
Expand Down
37 changes: 18 additions & 19 deletions bower.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,25 +10,24 @@
"output"
],
"dependencies": {
"purescript-ansi": "^5.0.0",
"purescript-avar": "^3.0.0",
"purescript-effect": "^2.0.1",
"purescript-foreign-generic": "^10.0.0",
"purescript-foreign-object": "^2.0.2",
"purescript-globals": "^4.0.0",
"purescript-node-child-process": "^6.0.0",
"purescript-node-fs-aff": "^6.0.0",
"purescript-node-http": "^5.0.1",
"purescript-node-process": "^7.0.0",
"purescript-now": "^4.0.0",
"purescript-ordered-collections": "^1.6.1",
"purescript-prelude": "^4.1.1",
"purescript-simple-json": "^7.0.0",
"purescript-versions": "^5.0.0",
"purescript-argonaut-codecs": "^6.0.2",
"purescript-argonaut": "^6.0.0"
"purescript-ansi": "^6.1.0",
"purescript-avar": "^4.0.0",
"purescript-effect": "^3.0.0",
"purescript-foreign-generic": "^11.0.0",
"purescript-foreign-object": "^3.0.0",
"purescript-node-child-process": "^7.0.0",
"purescript-node-fs-aff": "^7.0.0",
"purescript-node-http": "^6.0.0",
"purescript-node-process": "^8.1.0",
"purescript-now": "^5.0.0",
"purescript-ordered-collections": "^2.0.0",
"purescript-prelude": "^5.0.0",
"purescript-simple-json": "^8.0.0",
"purescript-versions": "^6.0.0",
"purescript-argonaut-codecs": "^8.1.0",
"purescript-argonaut": "^8.0.0"
},
"devDependencies": {
"purescript-assert": "^4.0.0"
"purescript-assert": "^5.0.0"
}
}
}
Loading