diff --git a/.packcheck.ignore b/.packcheck.ignore index 8c71d77..408fc72 100644 --- a/.packcheck.ignore +++ b/.packcheck.ignore @@ -1,3 +1,4 @@ +appveyor.yml .github/workflows/haskell.yml .gitignore .packcheck.ignore diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000..395dd48 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,95 @@ +# packcheck-0.4.2 +# You can use any of the options supported by packcheck as environment +# variables here. See https://github.com/harendra-kumar/packcheck for all +# options and their explanation. +branches: + only: + - master + +environment: + # ------------------------------------------------------------------------ + # Global options, you can use these per build as well + # ------------------------------------------------------------------------ + global: + # ------------------------------------------------------------------------ + # Common options + # ------------------------------------------------------------------------ + # GHC 9.2.7 onwards redundant constraint warnings are incompatible with + # older versions + GHC_OPTIONS: "-Werror" + CABAL_REINIT_CONFIG: "y" + LC_ALL: "C.UTF-8" + + # ------------------------------------------------------------------------ + # What to build + # ------------------------------------------------------------------------ + # DISABLE_TEST: "y" + # DISABLE_BENCH: "y" + # DISABLE_DOCS: "y" + DISABLE_SDIST_BUILD: "y" + DISABLE_DIST_CHECKS: "y" + ENABLE_INSTALL: "y" + + # ------------------------------------------------------------------------ + # stack options + # ------------------------------------------------------------------------ + # Note requiring a specific version of stack using STACKVER may fail due to + # github API limit while checking and upgrading/downgrading to the specific + # version. + # STACKVER: "1.6.5" + STACK_UPGRADE: "y" + # RESOLVER: "lts-18.27" + STACK_ROOT: "c:\\sr" + STACK_BUILD_OPTIONS: "--flag streamly-benchmarks:-opt" + STACK_YAML: "stack.yaml" + + # ------------------------------------------------------------------------ + # cabal options + # ------------------------------------------------------------------------ + CABAL_CHECK_RELAX: "y" + + # ------------------------------------------------------------------------ + # Where to find the required tools + # ------------------------------------------------------------------------ + PATH: "%PATH%;%APPDATA%\\local\\bin" + LOCAL_BIN: "%APPDATA%\\local\\bin" + + # ------------------------------------------------------------------------ + # Location of packcheck.sh (the shell script invoked to perform CI tests ). + # ------------------------------------------------------------------------ + # You can either commit the packcheck.sh script at this path in your repo or + # you can use it by specifying the PACKCHECK_REPO_URL option below in which + # case it will be automatically copied from the packcheck repo to this path + # during CI tests. In any case it is finally invoked from this path. + PACKCHECK_LOCAL_PATH: "./packcheck.sh" + # If you have not committed packcheck.sh in your repo at PACKCHECK_LOCAL_PATH + # then it is automatically pulled from this URL. + PACKCHECK_GITHUB_URL: "https://raw.githubusercontent.com/composewell/packcheck" + PACKCHECK_GITHUB_COMMIT: "101c73b53473ddfb763d65058b80123991cfeb4f" + + # Override the temp directory to avoid sed escaping issues + # See https://github.com/haskell/cabal/issues/5386 + TMP: "c:\\tmp" + +cache: + - "%STACK_ROOT%" + - "%LOCAL_BIN%" + - "%APPDATA%\\cabal" + - "%APPDATA%\\ghc" +# - "%LOCALAPPDATA%\\Programs\\stack" + +clone_folder: "c:\\pkg" +build: off + +before_test: +- if not exist %PACKCHECK_LOCAL_PATH% curl -sSkL -o%PACKCHECK_LOCAL_PATH% %PACKCHECK_GITHUB_URL%/%PACKCHECK_GITHUB_COMMIT%/packcheck.sh +- if not exist %LOCAL_BIN% mkdir %LOCAL_BIN% +- where stack.exe || curl -sSkL -ostack.zip http://www.stackage.org/stack/windows-x86_64 && 7z x stack.zip stack.exe && move stack.exe %LOCAL_BIN% +- if defined STACKVER (stack upgrade --binary-only --binary-version %STACKVER%) else (stack upgrade --binary-only || ver > nul) +- stack --version + +test_script: +- stack setup > nul +- for /f "usebackq tokens=*" %%i in (`where 7z.exe`) do set PATH7Z=%%i\.. +- for /f "usebackq tokens=*" %%i in (`where git.exe`) do set PATHGIT=%%i\.. +- chcp 65001 && stack exec bash -- -c "chmod +x %PACKCHECK_LOCAL_PATH%; %PACKCHECK_LOCAL_PATH% stack PATH=/usr/bin:\"%PATH7Z%\":\"%PATHGIT%\""