-
Notifications
You must be signed in to change notification settings - Fork 4
Support GHC range from 9.0.2 to 9.12.2 #54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
4d15bce
286bfbe
058fc0e
8704a6c
97aa541
1216371
2cf9603
0b4cf95
3411d89
33161c7
6af939b
b2427a3
2dec50c
7a67311
c01025b
5809eda
1dcb30a
929d766
1657003
de62054
2aaf470
7a5fe5b
0268011
a707a42
7bce43c
77d8420
39ae489
5ade54b
3b1abf3
4473715
6d63f23
46a2c0f
b265b7c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -5,20 +5,15 @@ on: | |
| pull_request: { branches: [main] } | ||
| create: { tags: [v*] } | ||
|
|
||
| concurrency: | ||
| group: ${{ github.workflow }}-${{ github.ref }} | ||
| cancel-in-progress: true | ||
|
|
||
| defaults: | ||
| run: | ||
| shell: bash | ||
|
|
||
| jobs: | ||
| cancel: | ||
| name: Cancel redundant actions already in progress | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Cancel actions in progress of same workflow and same branch | ||
| uses: styfle/[email protected] | ||
| with: | ||
| access_token: ${{ github.token }} | ||
|
|
||
| # Check that Haskell code is formatted. | ||
| code-formatter: | ||
| runs-on: ubuntu-latest | ||
|
|
@@ -31,6 +26,7 @@ jobs: | |
| runs-on: ${{ matrix.os }} | ||
| needs: code-formatter | ||
| strategy: | ||
| fail-fast: false | ||
sodic marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| matrix: | ||
| os: | ||
| - ubuntu-latest | ||
|
|
@@ -44,14 +40,14 @@ jobs: | |
| # If you change it, make sure to adjust lower bounds there to reflect the change. | ||
| # Also, make sure to adjust tested-with field in package.yaml so that it contains | ||
| # corresponding GHC version. | ||
| stack-resolver: lts-18.21 | ||
| stack-resolver: lts-19.33 | ||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Lower bound for testing, corresponds to GHC 9.0.2., three years old. This ensures that there are no GHC versions that don't have an appropriate StrongPath version. In other words, there's no "gap" in supported GHC versions. Whichever version of GHC you are using, there's a Strong Path version for you:
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I didn't quite get the second part of the message (everything beyond first sentence), could you explain in simpler way?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The sentence was non-sensical due to edits, so no wonder you couldn't understand it. Edited :) |
||
|
|
||
| steps: | ||
| - name: Checkout the repo | ||
| uses: actions/checkout@v2 | ||
| uses: actions/checkout@v4 | ||
|
|
||
| - name: Cache (Unix) | ||
| uses: actions/cache@v2 | ||
| uses: actions/cache@v4 | ||
| if: runner.os == 'Linux' || runner.os == 'macOS' | ||
| with: | ||
| path: | | ||
|
|
@@ -77,7 +73,7 @@ jobs: | |
| restore-keys: | | ||
| haskell-${{ runner.os }}-${{ hashFiles('stack.yaml') }}- | ||
| - name: Cache (Windows) | ||
| uses: actions/cache@v2 | ||
| uses: actions/cache@v4 | ||
| if: runner.os == 'Windows' | ||
| with: | ||
| # C\:sr is where stack installs compiled dependencies. | ||
|
|
@@ -95,32 +91,11 @@ jobs: | |
| if: runner.os == 'macOS' | ||
| run: rm -rf ~/.stack/setup-exe-cache | ||
|
|
||
| # We are setting up haskell via ghcup instead of using haskell/actions/setup | ||
| # because the mentioned gh action can be months late with the latest versions | ||
| # of Stack. | ||
| - name: Set up Haskell (Stack) via ghcup (Unix) | ||
| if: runner.os == 'Linux' || runner.os == 'macOS' | ||
| run: | | ||
| export BOOTSTRAP_HASKELL_NONINTERACTIVE=1 | ||
| export BOOTSTRAP_HASKELL_INSTALL_STACK=1 | ||
| curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh | ||
|
|
||
| - name: Set up Haskell (Stack) via ghcup (Win) | ||
| if: runner.os == 'Windows' | ||
| run: | | ||
| Set-ExecutionPolicy Bypass -Scope Process -Force | ||
| [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072 | ||
| Invoke-Command -ScriptBlock ([ScriptBlock]::Create(".{$(Invoke-WebRequest https://www.haskell.org/ghcup/sh/bootstrap-haskell.ps1 -UseBasicParsing)} -InstallStack")) | ||
| shell: powershell | ||
|
|
||
| # NOTE: I commented out this in favor of manual setup above, since with this action we | ||
| # couldn't get the latest version of Stack. | ||
| # - name: Set up Haskell (Stack) | ||
| # uses: haskell/actions/setup@v1 | ||
| # with: | ||
| # ghc-version: latest | ||
| # enable-stack: true | ||
| # stack-version: latest | ||
sodic marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| - uses: haskell-actions/setup@v2 | ||
| with: | ||
| ghc-version: latest | ||
| enable-stack: true | ||
| stack-version: latest | ||
|
|
||
| - name: Set Stack resolver | ||
| if: matrix.stack-resolver != 'from-stack-yaml' | ||
|
|
@@ -134,10 +109,10 @@ jobs: | |
| stack path --stack-root | ||
| stack ghc -- --version | ||
| ghc --version | ||
| - name: Build dependencies | ||
|
|
||
| - name: Build dependencies | ||
| run: stack --install-ghc test --only-dependencies | ||
|
|
||
| - name: Build StrongPath & Run tests | ||
| run: stack test | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,5 @@ | ||
| name: strong-path | ||
| version: 1.1.4.0 | ||
| version: 1.2.0.0 | ||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We're updating the lower bounds for some libraries, so this is a breaking change. We're dropping support for GHC 8.10.7, which was a big one. |
||
| github: "wasp-lang/strong-path" | ||
| license: MIT | ||
| author: "Martin Sosic" | ||
|
|
@@ -15,28 +15,51 @@ category: System, Filesystem, FilePath | |
|
|
||
| description: Replacement for a FilePath that enables you to handle filepaths in your code in a type-safe manner. You can specify at type level if they are relative, absolute, file, directory, posix, windows, and even to which file or directory they point to or are relative to. | ||
|
|
||
| tested-with: GHC == 8.10.7, GHC == 9.0.1 # lts-18.21, nightly-2022-01-04 | ||
| tested-with: GHC == 9.0.2, GHC == 9.12.2 # lts-19.33, nightly-2025-10-29 | ||
|
|
||
| dependencies: | ||
| - base >= 4.7 && < 5 | ||
| - hashable >=1.3 && < 1.6 | ||
| - path >=0.9.2 && <0.10 | ||
| - filepath >=1.4 && <1.6 | ||
|
|
||
| library: | ||
| source-dirs: src | ||
| ghc-options: | ||
| - -Wall | ||
| dependencies: | ||
| # NOTE: Version bounds here and in tests are defined so that they cover the latest LTS snapshot | ||
| # (lts-18.21) (lower bounds) and the nightly snapshot defined in stack.yaml (upper bounds). | ||
| # Those two are also tested in the CI, and corresponding GHC versions are mentioned above | ||
| # in the tested-with field. | ||
| # In case you decide to cover a different LTS with the lower bounds, | ||
| # make sure to also update the CI to use the correct LTS for testing and also update | ||
| # tested-with field above. | ||
| - path >=0.9.2 && <0.10 | ||
| # NOTE: Version bounds here and in tests are defined so that they cover the | ||
| # latest LTS snapshot (lts-19.33) (lower bounds) and the nightly snapshot | ||
| # defined in stack.yaml (upper bounds). We are ignoring the minor | ||
| # versions on the lower bound for better flexibility. | ||
| # | ||
| # Those two LTS snapshots are also tested in the CI, and corresponding | ||
| # GHC versions are mentioned above in the tested-with field. | ||
| # | ||
| # If you decide to cover a different LTS with the lower bounds, make sure | ||
| # to also update the CI to use the correct LTS for testing and also | ||
| # update tested-with field above. | ||
| # | ||
| # When doing a GHC update: | ||
| # - Read this to learn more about the process: | ||
| # https://github.com/wasp-lang/haskell-handbook/blob/master/dependencies-version-bounds.md | ||
| # - Ensure you don't leave a gap in supported GHC versions. Each GHC/base | ||
| # should have a version of StrongPath to go with it. | ||
| # - Go through the breaking changes version of all libraries that need to | ||
| # be bumped and double check they don't affect us. | ||
| # | ||
| # The current situation: | ||
| # - Lower bounds match GHC 9.0.2 (Stack's LTS 19.33, major digits only) | ||
| # - Upper bounds match GHC 9.12.2 (Stack's nightly-2025-10-29). The | ||
| # exclusive upper limit is set to the next breaking change version. | ||
| # | ||
| # For example: | ||
| # - `LTS 19.33` has the version of `filepath` set to `1.4.2.2` | ||
| # - `nighly-2025-10-29` says has a version of `filepath` set to `1.5.4.0` | ||
| # - Strong path requires `filepath >=1.4 && <1.6` | ||
| # | ||
| - exceptions >=0.10 && <0.11 | ||
| - filepath >=1.4 && <1.5 | ||
| - template-haskell >=2.16 && <2.18 | ||
| - hashable >=1.3 && < 1.4 | ||
| - template-haskell >=2.17 && <2.24 | ||
|
|
||
| tests: | ||
| strong-path-test: | ||
|
|
@@ -48,11 +71,8 @@ tests: | |
| - -with-rtsopts=-N | ||
| dependencies: | ||
| - strong-path | ||
| - path | ||
| - filepath | ||
| - hashable >=1.3 && < 1.4 | ||
| - tasty >=1.4 && <1.5 | ||
| - tasty-hspec >=1.1 && <1.3 | ||
| - tasty-quickcheck >=0.10 && <0.11 | ||
| - tasty-discover >=4.2 && <4.3 | ||
| - hspec >=2.7 && <2.10 | ||
| - tasty >=1.4 && <1.6 | ||
| - tasty-hspec >=1.2 && <1.3 | ||
| - tasty-quickcheck >=0.10 && <0.12 | ||
| - tasty-discover >=4.2 && <5.3 | ||
| - hspec >=2.8 && <2.12 | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,19 +1,12 @@ | ||
| # This file was autogenerated by Stack. | ||
| # You should not edit this file by hand. | ||
| # For more information, please see the documentation at: | ||
| # https://docs.haskellstack.org/en/stable/lock_files | ||
| # https://docs.haskellstack.org/en/stable/topics/lock_files | ||
|
|
||
| packages: [] | ||
| snapshots: | ||
| - original: nightly-2022-01-04 | ||
| completed: | ||
| url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/nightly/2022/1/4.yaml | ||
| sha256: ea584edfba307b5a88b51fc1db7c0c1b7da5f714fd30d69699fc78e3e1ce5212 | ||
| size: 623654 | ||
| packages: | ||
| - original: | ||
| hackage: path-0.9.2 | ||
| completed: | ||
| pantry-tree: | ||
| sha256: 2acf94a62daeeb0aee9b77d044ece55b5e03445b574e6980a2e84a5a514f5517 | ||
| size: 1206 | ||
| hackage: path-0.9.2@sha256:2f2a7f01737cd350b30381b619e1a862601c83f10ede4d6935f76f66e63ae0c7,3273 | ||
| - completed: | ||
| sha256: e527e879a59ab8d2408960c7da3e2fc5edf4fb433a0f2fe65f0c79736f2e10e8 | ||
| size: 705114 | ||
| url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/nightly/2025/10/29.yaml | ||
| original: nightly-2025-10-29 |
Uh oh!
There was an error while loading. Please reload this page.