-
Notifications
You must be signed in to change notification settings - Fork 696
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
225 changed files
with
6,963 additions
and
4,695 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
name: Bootstrap Skip | ||
|
||
# This Workflow is special and contains a workaround for a known limitation of GitHub CI. | ||
# | ||
# The problem: We don't want to run the "bootstrap" jobs on PRs which contain only changes | ||
# to the docs, since these jobs take a long time to complete without providing any benefit. | ||
# We therefore use path-filtering in the workflow triggers for the bootstrap jobs, namely | ||
# "paths-ignore: doc/**". But the "Bootstrap post job" is a required job, therefore a PR cannot | ||
# be merged unless the "Bootstrap post job" completes succesfully, which it doesn't do if we | ||
# filter it out. | ||
# | ||
# The solution: We use a second job with the same name which always returns the exit code 0. | ||
# The logic implemented for "required" workflows accepts if 1) at least one job with that name | ||
# runs through, AND 2) If multiple jobs of that name exist, then all jobs of that name have to | ||
# finish successfully. | ||
on: | ||
push: | ||
paths: | ||
- 'doc/**' | ||
- '**/README.md' | ||
- 'CONTRIBUTING.md' | ||
branches: | ||
- master | ||
pull_request: | ||
paths: | ||
- 'doc/**' | ||
- '**/README.md' | ||
- 'CONTRIBUTING.md' | ||
release: | ||
types: | ||
- created | ||
|
||
jobs: | ||
bootstrap-post-job: | ||
if: always() | ||
name: Bootstrap post job | ||
runs-on: ubuntu-latest | ||
steps: | ||
- run: exit 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
name: Validate Skip | ||
|
||
# This Workflow is special and contains a workaround for a known limitation of GitHub CI. | ||
# | ||
# The problem: We don't want to run the "validate" jobs on PRs which contain only changes | ||
# to the docs, since these jobs take a long time to complete without providing any benefit. | ||
# We therefore use path-filtering in the workflow triggers for the validate jobs, namely | ||
# "paths-ignore: doc/**". But the "Validate post job" is a required job, therefore a PR cannot | ||
# be merged unless the "Validate post job" completes succesfully, which it doesn't do if we | ||
# filter it out. | ||
# | ||
# The solution: We use a second job with the same name which always returns the exit code 0. | ||
# The logic implemented for "required" workflows accepts if 1) at least one job with that name | ||
# runs through, AND 2) If multiple jobs of that name exist, then all jobs of that name have to | ||
# finish successfully. | ||
on: | ||
push: | ||
paths: | ||
- 'doc/**' | ||
- '**/README.md' | ||
- 'CONTRIBUTING.md' | ||
branches: | ||
- master | ||
pull_request: | ||
paths: | ||
- 'doc/**' | ||
- '**/README.md' | ||
- 'CONTRIBUTING.md' | ||
release: | ||
types: | ||
- created | ||
|
||
jobs: | ||
validate-post-job: | ||
if: always() | ||
name: Validate post job | ||
runs-on: ubuntu-latest | ||
steps: | ||
- run: exit 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,22 +11,33 @@ concurrency: | |
group: ${{ github.ref }}-${{ github.workflow }} | ||
cancel-in-progress: true | ||
|
||
# Note: This workflow file contains the required job "Validate post job". We are using path filtering | ||
# here to ignore PRs which only change documentation. This can cause a problem, see the workflow file | ||
# "validate.skip.yml" for a description of the problem and the solution provided in that file. | ||
on: | ||
push: | ||
paths-ignore: | ||
- 'doc/**' | ||
- '**/README.md' | ||
- 'CONTRIBUTING.md' | ||
branches: | ||
- master | ||
pull_request: | ||
paths-ignore: | ||
- 'doc/**' | ||
- '**/README.md' | ||
- 'CONTRIBUTING.md' | ||
release: | ||
types: | ||
- created | ||
|
||
env: | ||
# We choose a stable ghc version across all os's | ||
# which will be used to do the next release | ||
GHC_FOR_RELEASE: '9.2.7' | ||
GHC_FOR_RELEASE: '9.2.8' | ||
# Ideally we should use the version about to be released for hackage tests and benchmarks | ||
GHC_FOR_SOLVER_BENCHMARKS: '9.2.7' | ||
GHC_FOR_COMPLETE_HACKAGE_TESTS: '9.2.7' | ||
GHC_FOR_SOLVER_BENCHMARKS: '9.2.8' | ||
GHC_FOR_COMPLETE_HACKAGE_TESTS: '9.2.8' | ||
COMMON_FLAGS: '-j 2 -v' | ||
|
||
jobs: | ||
|
@@ -38,7 +49,7 @@ jobs: | |
strategy: | ||
matrix: | ||
os: ["ubuntu-latest", "macos-latest", "windows-latest"] | ||
ghc: ["9.6.1", "9.4.4", "9.2.7", "9.0.2", "8.10.7", "8.8.4", "8.6.5", "8.4.4"] | ||
ghc: ["9.6.3", "9.4.7", "9.2.8", "9.0.2", "8.10.7", "8.8.4", "8.6.5", "8.4.4"] | ||
exclude: | ||
# corrupts GHA cache or the fabric of reality itself, see https://github.com/haskell/cabal/issues/8356 | ||
- os: "windows-latest" | ||
|
@@ -107,7 +118,7 @@ jobs: | |
echo "FLAGS=$FLAGS" >> $GITHUB_ENV | ||
- name: Allow newer dependencies when built with latest GHC | ||
if: ${{ matrix.ghc }} == '9.6.1' | ||
if: ${{ matrix.ghc }} == '9.6.3' | ||
run: | | ||
echo "allow-newer: rere:base, rere:transformers" >> cabal.project.validate | ||
|
@@ -161,15 +172,13 @@ jobs: | |
# Have to disable *-suite validation: | ||
# - the [email protected] problem is tracked at https://github.com/haskell/cabal/issues/8858 | ||
# - but curently can't run it with GHC 9.6, tracking: https://github.com/haskell/cabal/issues/8883 | ||
if: (runner.os != 'Windows') || (matrix.ghc != '9.6.1') | ||
run: sh validate.sh $FLAGS -s lib-suite | ||
|
||
- name: Validate cli-tests | ||
run: sh validate.sh $FLAGS -s cli-tests | ||
|
||
- name: Validate cli-suite | ||
# Have to disable *-suite validation, see above the comment for lib-suite | ||
if: (runner.os != 'Windows') || (matrix.ghc != '9.6.1') | ||
run: sh validate.sh $FLAGS -s cli-suite | ||
|
||
validate-old-ghcs: | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.