Skip to content
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

Implement v2-outdated command #9373

Draft
wants to merge 207 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
207 commits
Select commit Hold shift + click to select a range
8fe6122
CI: dogfooding should run on the same Mac runner as validate (#10101)
ulysses4ever Jun 10, 2024
9af466d
add the applicable new (version 9.10) GHC flags to normaliseGhcArgs (…
MangoIV Jun 12, 2024
7e47c6d
solver: Prevent ghc-internal from being reinstalled (see #10087) (#10…
adamgundry Jun 13, 2024
a26db4f
update requests per CVE-2024-35195
geekosaur May 21, 2024
da53b52
external commands: Wait for process to finish before exiting (#10100)
mpickering Jun 14, 2024
a72bea0
Use SetupHooks for Configure build-type
sheaf May 3, 2024
6f1ff97
Fix recomp bug by invalidating cache on build exception
alt-romes Jun 12, 2024
413d2fd
testsuite: Pass pkgdb of store used for intree Cabal
alt-romes May 3, 2024
12c8d19
Change packages default to empty
philderbeast Jun 10, 2024
010eca9
cabal-install configureCompiler: configure progdb
sheaf Mar 25, 2024
5442cd9
configureRequiredProgram: take care if program already configured
sheaf May 3, 2024
bebf1fd
SetupWrapper: configure progs when building Setup
sheaf May 3, 2024
53e4193
Remove haskell-suite-dummy-program hack
sheaf May 3, 2024
6c5e096
Add MHS as a recognized compiler. (#9878)
augustss Jun 15, 2024
e478f12
perf: Group together packages by repo when verifying tarballs
mpickering Jun 14, 2024
d780adc
Bump index state to allow tar-0.6.3.0
mpickering Jun 17, 2024
9b44f12
Update bootstrap plans to include tar-0.6.3
mpickering Jun 17, 2024
08adfc9
Use `msys2` shell on Windows GHA runners
jasagredo Jun 19, 2024
2018e30
Don't use tasty-quickcheck 0.11
geekosaur Jun 23, 2024
e6362e6
Disable arch-native flag when building releases that we distribute (#…
Kleidukos Jun 24, 2024
c932a1c
Add support for profiled dynamic way
mpickering Apr 12, 2024
06a5280
Changelogs for 3.12.1.0 (backport #10124) (#10132)
mergify[bot] Jun 25, 2024
7d3cfc5
Use `--io-manager=native` in `lib-suite` on Windows
jasagredo Jun 14, 2024
437ef55
Remove a stray line from cabal-install changelog
geekosaur Jun 24, 2024
e7d483d
Return Maybe PkgConfigDb rather than PkgConfigDb
andreabedini Jun 20, 2024
0b960d6
Make clear when pkg-config is not present
jasagredo Jun 18, 2024
1789093
Cabal: Add flag to ignore build tool dependencies
alt-romes Jun 20, 2024
dc3ff8f
haddock-project: fixed main library name
coot Oct 21, 2023
ed54689
haddock-project: support for sublibraries
coot Mar 19, 2024
c2f0a0e
haddock-project: copy extra-doc-files to the right directory
coot Jun 18, 2024
9bfa1f6
haddock: added argComponentName to HaddockArgs
coot Oct 21, 2023
aacc2b6
haddock: added --use-unicode flag
coot Jun 18, 2024
eb16010
haddock: refactored prologue args
coot Jun 20, 2024
759325a
haddock-project: test suites and benchmarks
coot Jun 19, 2024
8fb01ec
haddock-project: added changelog.d entry
coot Mar 22, 2024
a228d35
Improve online docs for `includes:` field
mpilgrem Jun 24, 2024
0f0d24f
cabal-testsuite.cabal: bump custom-setup bounds on Cabal(-syntax) aft…
ulysses4ever Jul 3, 2024
0f6b776
ci: Use latest cabal-install for quick-jobs
mpickering Jul 4, 2024
6ca27be
haddock-project: added `--all` switch
coot Jul 1, 2024
fa05c79
Updated CONTRIBUTING guide
coot Jul 1, 2024
fbc511b
copy: Take into account extra-dyn-lib-flavours when copying bundled l…
mpickering Jul 2, 2024
0e7a126
missed the two changelog pointers (#10138) (#10139)
mergify[bot] Jul 6, 2024
634fba2
fix non-POSIX [[ ]]
geekosaur Jul 4, 2024
b98a1b0
Lookup main-is C sources in hs-source-dirs
alt-romes Jul 3, 2024
d8dd7c3
CI: don't allow-newer for GHC 9.10 (#10194)
ulysses4ever Jul 13, 2024
f7f4116
Fix Haddock docs for `Distribution.Types.Dependency` (#10197)
mpilgrem Jul 16, 2024
f4726b8
Update cabal-commands.rst (#10198)
sol Jul 16, 2024
e06cc21
ci(validate.yml): Allow workflow_dispatch with no allow-newer or cons…
andreabedini Jul 10, 2024
38eed47
ghc-latest.config: rere is up to date with GHC 9.10 now (#10202)
ulysses4ever Jul 17, 2024
00f3abd
Document program-options
jasagredo Jul 3, 2024
59c719e
Document `PROG-options`
jasagredo Jul 5, 2024
87b559b
Clarify why we can't run .bat files
jasagredo Jul 8, 2024
c94c062
Fix local+noindex repos on Windows
jasagredo Jul 8, 2024
05155c5
Provide `skip*IO` functions and report issue in known failures
jasagredo Jul 8, 2024
f40f979
Fix some output normalization issues on Windows
jasagredo Jul 8, 2024
71ad637
Rework how the skipping and expected functions work
jasagredo Jul 8, 2024
aa6ec82
Un-ignore .bat files
jasagredo Jul 8, 2024
d578533
Docs: Clarify MSYS2 complications
jasagredo Jul 15, 2024
a136189
Fix a bunch of Windows tests, clarify why others are broken
jasagredo Jul 15, 2024
bba83e6
make cabal-install integration tests hermetic
geekosaur Jul 16, 2024
693bdb3
Fix ForeignLibs test for Windows
jasagredo Jul 18, 2024
d68c407
Fix write-ghc-environment-files documentation
noughtmare Jul 19, 2024
6948203
Die if dynamic executable is requested on Windows
jasagredo Jul 22, 2024
04c3408
Add tests for unsupported builds on Windows
jasagredo Jul 22, 2024
f6946b9
rm-old-base: remove ifdefs for pre-4.13 bases (#10092)
NadiaYvette Jul 26, 2024
554fd65
Makefile: Use `cabal doctest`
sol Jul 27, 2024
857cb9c
regenerate bootstrap files without arch-native
geekosaur Jun 24, 2024
b5b953c
New `extra-files` field for neutral sdist files
tbidne Jul 8, 2024
cdf14c5
clarify "configure" messages from Cabal (#9476)
geekosaur Aug 3, 2024
10b4bfe
reorder Haddock markup for dynprof constructor
geekosaur Jul 23, 2024
bae3383
Update cabal-install-solver synopsis (fix #10183) (#10192)
ulysses4ever Aug 3, 2024
15c6a28
Add MultilineStrings extension
brandonchinn178 Aug 3, 2024
5f4b56e
Add simple QuickCheck test for solver exceptions
grayjay Jul 30, 2024
63954d9
3.14 pre-flight checks: bump dependencies (#10244)
ulysses4ever Aug 7, 2024
4d68109
Update haskell packages to launch nix-shell in CONTRIBUTING.md (#10221)
taimoorzaeem Aug 8, 2024
9c7a2f3
use fixed cabal version per #10175
geekosaur Aug 8, 2024
38e317b
CI: skip cli-suite on Windows due to #9571 (#10257)
ulysses4ever Aug 13, 2024
f027a21
Filter out -dinitial-unique and -dunique-increment from hash flags
mpickering Aug 2, 2024
45d088d
hpc: Don't cover non-dependency libraries
alt-romes Aug 7, 2024
2fb68e8
Always pass `ghc-options` (#8717)
9999years Aug 19, 2024
55bd381
Mergify and actions upgrades (#10260)
geekosaur Aug 19, 2024
8d421c8
git:// protocol check: add test files
ffaf1 Aug 17, 2024
911bf54
git:// protocol check: add docs
ffaf1 Aug 17, 2024
c87abde
Implement git:// protocol check
ffaf1 Aug 17, 2024
87d11a6
Add changelog for #10261
ffaf1 Aug 17, 2024
3d60fdd
Specify GitHub does not support git://
ffaf1 Aug 17, 2024
65c10cd
Let `cabal init` remember chosen language within current session (#10…
bcardiff Aug 22, 2024
5eda1fc
cabal-install: update curl transport to support Basic authentication …
frasertweedale Aug 22, 2024
7dd8e8f
index Paths and Paths_ (resp. for PackageInfo)
geekosaur Aug 20, 2024
46b9494
Update changelog-d to 1.0.1 (#10266)
fgaz Aug 23, 2024
f52f546
Ignore VSCodium work directory
geekosaur Aug 21, 2024
160dda0
implement mergify rules for release branches (#10135)
geekosaur Aug 24, 2024
9ba9228
validate dependabot configuration
geekosaur Aug 22, 2024
c34d821
tests: Make structured hash tests invariant to GHC version
mpickering Aug 21, 2024
6972c6d
Add check on project root file and fail if broken link (#10103)
albertodvp Aug 26, 2024
5b83f86
hackage-tests: Add --index-state argument to fix the cabal files
mpickering Aug 27, 2024
c8ff66e
ci: Fix --index-state for hackage roundtrip tests
mpickering Aug 27, 2024
912efae
update the pinned index-state to get the new `rere`
geekosaur Aug 26, 2024
c212577
add "ready and waiting" Mergify label
geekosaur Jul 23, 2024
ed881ec
Include package version in --promised-dependency flag
mpickering Aug 5, 2024
18442e3
Fix Cabal macro bound in test
mpickering Aug 12, 2024
d314367
clean: Fix usage of flags vs flags'
mpickering Aug 8, 2024
90f7e9c
Interpret argument to `--gen-pkg-config` relative to `--working-dir`
mpickering Aug 8, 2024
b8f1cdc
Replace FilePath in PackageDB with SymbolicPath in Cabal
mpickering Aug 8, 2024
8b0f2d5
Introduce AbsolutePath to symbolic path abstraction
mpickering Aug 8, 2024
70e4196
Interpret register script file name relative to working-dir
mpickering Aug 13, 2024
5159042
Remove last uses of runDbProgram
mpickering Aug 19, 2024
b77e031
Test --working-dir in the testsuite
mpickering Aug 8, 2024
fe031d1
Add test for --working-dir and hsc2s
mpickering Aug 8, 2024
6ddd7e6
make sure cabal-install is compatible with Cabal
geekosaur Aug 20, 2024
72e6a06
CI: validate: the matrix won't fail-fast
ulysses4ever Aug 29, 2024
0d694ef
Re-enable Windows CI
jasagredo Aug 28, 2024
63389a0
Various `cabal-testsuite` improvements (#10225)
jasagredo Sep 2, 2024
5fada30
Enable symlink creation on tests on Windows
jasagredo Jul 31, 2024
0b0546b
Add shims on tests
jasagredo Jul 31, 2024
f8cef65
Enable autoreconf tests on Windows
jasagredo Jul 31, 2024
6e58a77
Fix GHCJS BuildRunner test on Windows
jasagredo Jul 31, 2024
3865256
Install autotools on Windows too
jasagredo Aug 27, 2024
2e17ab1
Reenable PkgConfigParse on Windows
jasagredo Aug 27, 2024
d2a6ddb
Do not advertise `git://` in docs
jasagredo Sep 1, 2024
43c6cd2
Support ARM / M1 macOS in `validate.sh`
9999years Aug 29, 2024
b3fecbb
Bump actions/cache from 3 to 4 (#9646)
dependabot[bot] Sep 6, 2024
0621118
Custom-build: Document breaking change on built comps.
alt-romes Sep 3, 2024
9394c35
validate.sh: `--jobs` should default to `nproc`
9999years Sep 5, 2024
ecca683
validate.sh: Use Bash explicitly
9999years Sep 5, 2024
7f2156a
Fix `cabal-install:long-tests` with Git >=2.38.1
9999years Sep 6, 2024
e367cc3
Bump version numbers to 3.15 (#10309)
ffaf1 Sep 9, 2024
0befd1d
Bump deepseq bounds to allow 1.6
ffaf1 Sep 8, 2024
cd3a42e
Warn that scripts cannot be package executables
philderbeast Sep 6, 2024
20ba4eb
Link to error index
philderbeast Sep 9, 2024
659ebbe
Remove read-only and force-remove on Windows
jasagredo Sep 12, 2024
555fc81
Add OrPatterns extensions (#10339)
ffaf1 Sep 15, 2024
81186ac
Update SPDX license list to version 3.25 (#10341)
ffaf1 Sep 16, 2024
9c75d37
Add changelogs for 3.14
ulysses4ever Sep 10, 2024
499d8a0
changelogs are docs
geekosaur Sep 14, 2024
d736aa8
Gitignore `testdb/.../lx-*.lock` files
9999years Sep 5, 2024
82e579c
make LTS branch pre-releases
geekosaur Sep 17, 2024
98936bf
CI: fix-whitespace: show violations (verbose mode)
ulysses4ever Sep 18, 2024
9b85208
add Mergify config for high priority PRs
geekosaur Sep 14, 2024
a7e470b
add missing sdist skip job
geekosaur Sep 18, 2024
e26e23e
Add warning and note about cabal init and script
philderbeast Sep 6, 2024
e21acd4
Fix `--accept` flag in `cabal-testsuite`
9999years Sep 25, 2024
5e1e2d3
Add `testExpectAcceptFile`
9999years Sep 25, 2024
5ab4247
try Apple AArch64 again
geekosaur Sep 16, 2024
81fec84
Use standard Markdown headings
9999years Sep 24, 2024
66ad2ee
headings
9999years Sep 24, 2024
842d602
Make Markdown example a code block
9999years Sep 24, 2024
85ecb80
headings
9999years Sep 24, 2024
2a50624
Point out `validate.sh` in `CONTRIBUTING.md`
9999years Sep 24, 2024
a85094a
add Makefile targets for fix-whitespace
geekosaur Sep 20, 2024
242933b
Filter `CommonSetupFlags` more consistently in UnpackedPackage
9999years Sep 27, 2024
73f719b
cabal-testsuite: Add glob helpers
9999years Sep 26, 2024
aa259d1
cabal-testsuite: Add `assert{Any,No}FileContains` helpers
9999years Sep 27, 2024
2c85a7c
Fix `withFileContents` documentation
9999years Sep 27, 2024
d47be97
update changelog.d format and Matrix link (#10383)
geekosaur Sep 30, 2024
e35fd92
Prefer ErrorCall to ErrorCallWithLocation
alt-romes Oct 1, 2024
82a5b8d
Improve assertions in `IntegrationTests2` `testConfigOptionComments`
9999years Sep 5, 2024
b32ebf9
Show installed versions when configuring fails
9999years Sep 23, 2024
231bec9
Add tests
9999years Sep 23, 2024
3e143b1
Reorder import
9999years Sep 25, 2024
b0dcd3b
Add changelog entry
9999years Sep 26, 2024
b4a9815
Escape braces in changelog entry
9999years Sep 26, 2024
267834d
Use Markdown changelog entry
9999years Sep 26, 2024
9341953
`packages` needs to be an array
9999years Sep 26, 2024
f62699d
keep running tests even if earlier ones failed
geekosaur Sep 16, 2024
683ab08
CI: cabal-head prerelease: move to a current GitHub Action for prerel…
ulysses4ever Sep 6, 2024
b53aae3
Fix Unicode output in `cabal-testsuite`
9999years Sep 27, 2024
f4d7839
Set LC_ALL=en_US.UTF-8 in tests
9999years Sep 30, 2024
35a57e7
Add `repl --keep-temp-files` test
9999years Sep 26, 2024
a018eb1
Add `repl --keep-temp-files` test with custom `Setup.hs`
9999years Sep 26, 2024
0da821b
avoid incomplete record selection warning
geekosaur Oct 1, 2024
83ba50d
Convert `validate.sh` to `cabal-validate`
9999years Sep 5, 2024
0c8fa10
Split `cabal-validate` into modules
9999years Sep 7, 2024
6c519df
cabal-validate: Add Haddock documentation + README
9999years Sep 9, 2024
09f84e4
Remove `ansi-terminal` dependency
9999years Sep 30, 2024
9658752
Use `unlines` in `printConfig`
9999years Sep 30, 2024
03de992
optsParser -> rawOptsParser
9999years Sep 30, 2024
2c96048
withTiming: take `startTime` explicitly
9999years Sep 30, 2024
c27f977
Add `cabal-validate` to `format` job
9999years Sep 30, 2024
908db24
Build test suites explicitly
9999years Sep 30, 2024
9d1ff83
fixup! Remove `ansi-terminal` dependency
9999years Sep 30, 2024
e712c9e
fixup! Build test suites explicitly
9999years Sep 30, 2024
18156af
fixup! fixup! Build test suites explicitly
9999years Sep 30, 2024
7f2408a
Create temp files in temp directory
jasagredo Sep 25, 2024
254e9a8
Add `.editorconfig`
9999years Oct 1, 2024
700103c
Add `haddock --keep-temp-files` test
9999years Sep 27, 2024
c3a271c
Cabal: Take into account compilerBuildWay when computing final librar…
mpickering Oct 3, 2024
a7eacfa
patchups to `changelog.d` file descriptions
geekosaur Oct 1, 2024
9d9bf65
Fix `HaddockKeepTmpsCustom` test for merge skew
9999years Oct 4, 2024
f3db2f7
Fix ./setup install comand
mpickering Oct 3, 2024
b8affe6
have Mergify insist on all-green CI
geekosaur Oct 5, 2024
e29f49a
Add type and documentation to `toSavedConfig`
9999years Sep 27, 2024
d83d024
Handle SPDX licences starting with a digit (#10356)
ffaf1 Oct 8, 2024
da3ab8e
Fix build ways for foreign libs
alt-romes Oct 7, 2024
f3f5a11
README: add Cabal-hooks to the list of packages
ulysses4ever Oct 7, 2024
ef35dd8
Avoid partial last in autogen Paths_<pkg>.hs
mpilgrem Oct 6, 2024
77184c9
switch validate to 22.04 for now
geekosaur Oct 11, 2024
43ace9c
haddock-project: add CommonSetupFlags
9999years Sep 27, 2024
c102b5b
try to fix LTS prerelease workflow
geekosaur Oct 5, 2024
9a0d55a
round out local Makefile checks
geekosaur Oct 4, 2024
b16a2ce
kill a `continue-on-error`
geekosaur Oct 13, 2024
4e35624
Revert "have Mergify insist on all-green CI"
geekosaur Oct 16, 2024
f0acc67
restore up-to-date condition for no-rebase
geekosaur Oct 16, 2024
a2c09d7
Add `--tasty-arg` to `validate.sh`
9999years Oct 4, 2024
332c1d2
Bump base bound to 4.21 for GHC 9.12
wz1000 Oct 11, 2024
4776451
change the backport label
geekosaur Oct 14, 2024
a41517e
Rename module CmdOutdated.hs to Outdated.hs
erikd Oct 17, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
12 changes: 12 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# See: https://editorconfig.org
root = true

[*]
charset = utf-8

[*.hs]
indent_style = space
indent_size = 2

[Makefile]
indent_style = tab
1 change: 1 addition & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,4 @@ updates:
schedule:
# Check for updates to GitHub Actions every week
interval: "weekly"

117 changes: 97 additions & 20 deletions .github/mergify.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
# Note: We do not use the rebase strategy to merge PRs, because that
# loses information needed by changelog-d to associate commits with PRs.

priority_rules:

- name: high priority
conditions:
- 'label=priority: high :fire:'
priority: high

# The idea is we slightly prioritize those PRs because we're in
# a release cycle if a PR matches.
- name: release branch
conditions:
- 'base~=^3\.'
- 'label!=backport'
# 'normal' is 2000, 'high' is 3000
priority: 2500

pull_request_rules:

# implementing PR delay logic: apply a label after 2 days of inactivity
Expand All @@ -8,42 +27,68 @@ pull_request_rules:
- merge delay passed
name: Wait for 2 days before validating merge
conditions:
- updated-at<2 days ago
- or:
- 'label=priority: high :fire:'
- updated-at<2 days ago
- or:
- label=merge me
- label=squash+merge me
- label=merge+no rebase
- '#approved-reviews-by>=2'

# label when Mergify is ready but waiting for the above
- actions:
label:
add:
- ready and waiting
name: Waiting out merge delay (used by bot)
conditions:
- base=master
- -draft
- -closed
- or:
- label=merge me
- label=squash+merge me
- label=merge+no rebase
- '#approved-reviews-by>=2'
- '#changes-requested-reviews-by=0'
# oy
# lifted these from branch protection imports
- check-success=fourmolu
- check-success=hlint
- check-success=Meta checks
- check-success=Doctest Cabal
- check-success=Validate post job
- check-success=Bootstrap post job
- 'check-success=docs/readthedocs.org:cabal'

# rebase+merge strategy
- actions:
queue:
name: default
# Merge into master with a merge commit
method: merge
# Update the pr branch with rebase, so the history is clean
update_method: rebase
name: Put pull requests in the rebase+merge queue
conditions:
- base=master
- label=merge me
- label=merge delay passed
- '#approved-reviews-by>=2'
- '-label~=^blocked:'

# merge+squash strategy
- actions:
queue:
name: default
method: squash
# both update methods get absorbed by the squash, so we use the most
# reliable
update_method: merge
name: squash-merge
name: Put pull requests in the squash+merge queue
conditions:
- base=master
- label=squash+merge me
- label=merge delay passed
- '#approved-reviews-by>=2'
- '-label~=^blocked:'
# unlike the others, we need to force this one to be up to date
# because it's intended for when Mergify doesn't have permission
# to rebase
- '#commits-behind=0'

# merge+no rebase strategy
- actions:
Expand All @@ -55,36 +100,55 @@ pull_request_rules:
- label=merge+no rebase
- label=merge delay passed
- '#approved-reviews-by>=2'
- '-label~=^blocked:'

# rebase+merge strategy for backports: require 1 approver instead of 2
# merge strategy for release branches
- actions:
queue:
name: default
name: Put release branch pull requests in the rebase+merge queue
conditions:
- label=merge me
- base!=master
- -body~=backport
- '#approved-reviews-by>=2'
- '-label~=^blocked:'

# merge+squash strategy for release branches
- actions:
queue:
name: squash-merge
name: Put release branch pull requests in the squash+merge queue
conditions:
- base!=master
- label=squash+merge me
- -body~=backport
- '#approved-reviews-by>=2'
- '-label~=^blocked:'

# merge strategy for backports: require 1 approver instead of 2
- actions:
queue:
name: default
# Merge with a merge commit
method: merge
# Update the pr branch with rebase, so the history is clean
update_method: rebase
name: Put backports in the rebase+merge queue
conditions:
- label=merge me
- base!=master
- body~=backport
- '#approved-reviews-by>=1'
- '-label~=^blocked:'

# merge+squash strategy for backports: require 1 approver instead of 2
- actions:
queue:
name: default
method: squash
# both update methods get absorbed by the squash, so we use the most
# reliable
update_method: merge
name: squash-merge
name: Put backports in the squash+merge queue
conditions:
- label=squash+merge me
- base!=master
- body~=backport
- '#approved-reviews-by>=1'
- '-label~=^blocked:'

# backports should be labeled as such
- actions:
Expand All @@ -96,5 +160,18 @@ pull_request_rules:
- body~=automatic backport

queue_rules:
# Mergify now requires different queues for different strategies
- name: default
update_bot_account: Mikolaj
merge_method: merge
update_method: rebase

- name: squash-merge
update_bot_account: Mikolaj
merge_method: squash
update_method: merge

defaults:
actions:
backport:
title: "Backport #{{ number }}: {{ title }}"
9 changes: 9 additions & 0 deletions .github/workflows/bootstrap.skip.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,22 @@ on:
- 'doc/**'
- '**/README.md'
- 'CONTRIBUTING.md'
- "changelog.d/**"
# only top level for these, because various test packages have them too
- "*/ChangeLog.md"
- "*/changelog.md"
- "release-notes/**"
branches:
- master
pull_request:
paths:
- 'doc/**'
- '**/README.md'
- 'CONTRIBUTING.md'
- "changelog.d/**"
- "*/ChangeLog.md"
- "*/changelog.md"
- "release-notes/**"
release:
types:
- created
Expand Down
15 changes: 12 additions & 3 deletions .github/workflows/bootstrap.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,22 @@ on:
- 'doc/**'
- '**/README.md'
- 'CONTRIBUTING.md'
- "changelog.d/**"
# only top level for these, because various test packages have them too
- "*/ChangeLog.md"
- "*/changelog.md"
- "release-notes/**"
branches:
- master
pull_request:
paths-ignore:
- 'doc/**'
- '**/README.md'
- 'CONTRIBUTING.md'
- "changelog.d/**"
- "*/ChangeLog.md"
- "*/changelog.md"
- "release-notes/**"
release:
types:
- created
Expand All @@ -30,7 +39,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest]
ghc: ["8.10.7", "9.0.2", "9.2.8", "9.4.8", "9.6.4", "9.8.2"]
ghc: ["9.0.2", "9.2.8", "9.4.8", "9.6.6", "9.8.2"]
include:
- os: macos-latest
ghc: "9.2.8"
Expand All @@ -43,7 +52,7 @@ jobs:
rm -rf ~/.config/cabal
rm -rf ~/.cache/cabal

- uses: actions/cache@v3
- uses: actions/cache@v4
name: Cache the downloads
id: bootstrap-cache
with:
Expand All @@ -69,7 +78,7 @@ jobs:
run: |
_build/bin/cabal --version

- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: cabal-${{ matrix.os }}-${{ matrix.ghc }}-bootstrapped
path: _build/artifacts/*
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/changelogs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ jobs:

- name: Install changelog-d
run: |
curl --create-dirs -o "$HOME/.local/bin/changelog-d" "https://codeberg.org/fgaz/changelog-d/releases/download/v1.0/changelog-d-v1.0-x86_64-linux"
curl --create-dirs -o "$HOME/.local/bin/changelog-d" -sS --fail \
"https://codeberg.org/fgaz/changelog-d/releases/download/v1.0.1/changelog-d-v1.0.1-x86_64-linux"
chmod +x "$HOME/.local/bin/changelog-d"
# https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#adding-a-system-path
echo "$HOME/.local/bin" >> $GITHUB_PATH
Expand Down
48 changes: 48 additions & 0 deletions .github/workflows/check-sdist.skip.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Check sdist 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 "check sdist" 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 check sdist jobs, namely
# "paths-ignore: doc/**". But the "Check sdist 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'
- "changelog.d/**"
# only top level for these, because various test packages have them too
- "*/ChangeLog.md"
- "*/changelog.md"
- "release-notes/**"
branches:
- master
pull_request:
paths:
- 'doc/**'
- '**/README.md'
- 'CONTRIBUTING.md'
- "changelog.d/**"
- "*/ChangeLog.md"
- "*/changelog.md"
- "release-notes/**"
release:
types:
- created

jobs:
check-sdist-post-job:
if: always()
name: Check sdist post job
runs-on: ubuntu-latest
steps:
- run: exit 0
Loading