Add Windows and macOS Support (#1)

* Re-base onto upstream master

* Use os over operating-system per json schema suggestion

* Upgrade dependencies

* Update action.yml syntax

* Restructure repo on latest typescript-action

* Update workflow.yml to use same node version as action.yml

* Pull in improvements from open PRs. Fix package.json scripts

* Type function return arguments

* Don't eslint automatic formatting changes

* Initial implementation of ghc+cabal install for linux/mac/windows

* Update README

* Fix cabal version in action.yml

* Implement initial simplistic test suite

* Test action with CI

* Use chocolatey directly to install ghc and cabal

* Try pre-installed tool on linux first

* Clean up documentation

* Expand README

* Test super old GHC on ubuntu

* Implement support for stack

* Update documentation about Stack support

* Test stack install in Github Actions CI

authored-by: Jared Weakly <jweakly@galois.com>
This commit is contained in:
jared-w
2020-03-23 11:18:29 -07:00
committed by Jared Weakly
parent a6006d2c28
commit 8154472447
195 changed files with 12947 additions and 15942 deletions

View File

@@ -3,12 +3,17 @@
"version": "1.0.0",
"private": true,
"description": "setup haskell action",
"main": "lib/setup-haskell.js",
"main": "src/setup-haskell.ts",
"scripts": {
"build": "tsc",
"format": "prettier --write **/*.ts",
"format-check": "prettier --check **/*.ts",
"test": "jest"
"check:type": "tsc --noEmit",
"check:format": "prettier --check **/*.{ts,json}",
"check:lint": "eslint src/**/*.ts",
"test": "jest",
"format": "prettier --write **/*.{ts,json}",
"pack": "ncc build",
"_git-add": "git add dist",
"pre-push": "run-p check:* test",
"pre-commit": "npm-run-all format pack _git-add"
},
"repository": {
"type": "git",
@@ -24,27 +29,32 @@
"author": "GitHub",
"license": "MIT",
"dependencies": {
"@actions/core": "^1.1.1",
"@actions/tool-cache": "^1.1.1",
"semver": "^6.1.1"
"@actions/core": "^1.2.3",
"@actions/io": "^1.0.2",
"@actions/tool-cache": "^1.3.3",
"js-yaml": "^3.13.1"
},
"devDependencies": {
"@actions/io": "^1.0.1",
"@types/jest": "^24.0.18",
"@types/node": "^12.7.5",
"@types/semver": "^6.0.2",
"husky": "^2.3.0",
"jest": "^24.9.0",
"jest-circus": "^24.9.0",
"prettier": "^1.17.1",
"ts-jest": "^24.1.0",
"typescript": "^3.6.3"
"@types/jest": "^25.1.4",
"@types/js-yaml": "^3.12.2",
"@types/node": "^13.9.1",
"@typescript-eslint/parser": "^2.24.0",
"@zeit/ncc": "^0.21.1",
"eslint": "^6.8.0",
"eslint-plugin-github": "^3.4.1",
"eslint-plugin-jest": "^23.8.2",
"husky": "^4.2.3",
"jest": "^25.1.0",
"jest-circus": "^25.1.0",
"npm-run-all": "^4.1.5",
"prettier": "^1.19.1",
"ts-jest": "^25.2.1",
"typescript": "^3.8.3"
},
"husky": {
"skipCI": true,
"hooks": {
"pre-commit": "npm run build && npm run format",
"post-commit": "npm prune --production && git add -u node_modules && git commit -m \"Husky commit correct node modules\""
"pre-commit": "npm run pre-commit",
"pre-push": "npm run pre-push"
}
}
}