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

Wip/cabal install v3.10.3.0 #2

Open
wants to merge 206 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
206 commits
Select commit Hold shift + click to select a range
b32aea3
elim warning spam from 8500
gbaz Jan 24, 2023
22a0257
Merge pull request #8698 from haskell/mergify/bp/3.10/pr-8697
mergify[bot] Jan 24, 2023
0dad9e3
testuite: doctest: move to ghc recommended
ulysses4ever Oct 26, 2022
ebfb302
Merge pull request #8731 from haskell/mergify/bp/3.10/pr-8710
mergify[bot] Feb 4, 2023
9eed20d
Hack around CI problems by sudo chown and disabling cache for Windows…
Mikolaj Feb 8, 2023
1b0c8bc
Merge pull request #8758 from haskell/mergify/bp/3.10/pr-8739
mergify[bot] Feb 13, 2023
aac50e9
Work around ghcup cache woes also in our tiny CI scripts (#8743)
Mikolaj Feb 8, 2023
647d863
Merge pull request #8759 from haskell/mergify/bp/3.10/pr-8743
mergify[bot] Feb 13, 2023
b0bda36
Work around ghcup cache woes also in our dogfooding CI scripts
Mikolaj Feb 9, 2023
80f7029
Merge pull request #8760 from haskell/mergify/bp/3.10/pr-8749
mergify[bot] Feb 13, 2023
e98b1b1
Ensure js-sources are used only with JavaScript arch
wismill Feb 9, 2023
f97c4bb
Add test
wismill Feb 9, 2023
ec5cb9a
Merge pull request #8761 from haskell/mergify/bp/3.10/pr-8748
mergify[bot] Feb 13, 2023
7a619e6
Fix repl discarding --build-depends (#8732)
wismill Feb 11, 2023
05b0630
Merge pull request #8762 from haskell/mergify/bp/3.10/pr-8732
mergify[bot] Feb 13, 2023
cc75891
cabal-install: check: Whitelist doc file extensions (#8747)
wismill Feb 12, 2023
b4d3ca1
Merge pull request #8766 from haskell/mergify/bp/3.10/pr-8747
mergify[bot] Feb 14, 2023
00537e3
Revert "Fix project-local build flags being ignored."
Mikolaj Feb 8, 2023
0ef9285
Mark the test we are retaining as expected broken
Mikolaj Feb 8, 2023
280a7a7
Merge pull request #8768 from haskell/mergify/bp/3.10/pr-8744
mergify[bot] Feb 14, 2023
b1b0e33
don't auto-download in hash validation phase
gbaz Feb 15, 2023
0888913
Merge pull request #8777 from haskell/mergify/bp/3.10/pr-8769
mergify[bot] Feb 17, 2023
c206d1e
Update © year (#8775)
ffaf1 Feb 19, 2023
9e7c6f2
Merge pull request #8786 from haskell/mergify/bp/3.10/pr-8775
mergify[bot] Feb 20, 2023
cd3113b
Bump cabal-bootstrap-gen to GHC 9.4.4 ecosystem
nmeum Feb 1, 2023
f5430a9
Merge pull request #8774 from haskell/mergify/bp/3.10/pr-8720
mergify[bot] Feb 21, 2023
964049b
Disallow GHC <8.0 for Cabal{,-syntax} & cabal-install-solver (#8794)
Kleidukos Feb 23, 2023
105196f
Merge pull request #8798 from haskell/mergify/bp/3.10/pr-8794
mergify[bot] Feb 23, 2023
44a53dd
Bump cabal version numbers and bounds to 3.10 for release
Mikolaj Feb 23, 2023
8315ea7
Update boostrap files temporarily, for CI to pass
Mikolaj Feb 23, 2023
7de5460
Merge pull request #8799 from Mikolaj/version-bumps-for-3.10
mergify[bot] Feb 23, 2023
6149c64
doctests: switch to the preffered method of calling the tool
ulysses4ever Feb 4, 2023
14550da
Merge pull request #8804 from haskell/mergify/bp/3.10/pr-8735
mergify[bot] Feb 24, 2023
faa0be3
GHC 9.6 compatibility
ulysses4ever Feb 12, 2023
50c4240
CI: update actions/cache to v3
ulysses4ever Feb 22, 2023
4acdf8a
CI: add validation against GHC pre-release (currently: 9.6alpha3)
ulysses4ever Feb 22, 2023
bc7a1f1
Merge pull request #8806 from haskell/mergify/bp/3.10/pr-8805
mergify[bot] Feb 24, 2023
e72a225
Apply command line flags to install packages (#8637) (#8779)
patrickdoc Feb 24, 2023
b3b206e
Merge pull request #8811 from haskell/mergify/bp/3.10/pr-8779
mergify[bot] Feb 24, 2023
f7b791c
Doc: rm `-none` from constraint section, make `installed` prominent
andreasabel Feb 20, 2023
d677e2b
Build user's guide: bump to Python 3.10
andreasabel Feb 20, 2023
2ae57c4
Bump Sphinx to 5.3.0 and force certifi >= 2022.12.7
andreasabel Feb 24, 2023
db03fe1
Merge pull request #8812 from haskell/mergify/bp/3.10/pr-8789
mergify[bot] Feb 25, 2023
65f13c7
Fix #8756: doc: `extra-source-files` are tracked by `cabal build` (#8…
andreasabel Feb 25, 2023
3986ee1
Merge pull request #8814 from haskell/mergify/bp/3.10/pr-8765
mergify[bot] Feb 25, 2023
d186bc2
Update GitLab CI (#8818)
chreekat Mar 2, 2023
d570547
Merge pull request #8827 from haskell/mergify/bp/3.10/pr-8818
mergify[bot] Mar 2, 2023
d2aeedf
Add 3.10.1.0 changelogs and remove the used up tiny changlog files
Mikolaj Mar 6, 2023
3699fa5
Merge pull request #8834 from Mikolaj/changelogs-of-3.10.1.0
mergify[bot] Mar 8, 2023
eb0b028
Stabilize use of brew
chreekat Mar 9, 2023
4e7f673
Cache brew and the things it installs
chreekat Mar 9, 2023
6c95f3f
Merge pull request #8837 from haskell/mergify/bp/3.10/pr-8836
mergify[bot] Mar 9, 2023
59229c2
Split PLATFORM into ARCH and OS
chreekat Mar 14, 2023
7dfcdd8
Add aarch64-linux jobs
chreekat Mar 14, 2023
3c67da2
Improve name of Linux matrix build
chreekat Mar 14, 2023
8c3c34b
CI: disable prerelease validation
ulysses4ever Mar 14, 2023
8b17e2d
Merge pull request #8868 from haskell/mergify/bp/3.10/pr-8852
mergify[bot] Mar 21, 2023
2467d33
Merge pull request #8867 from haskell/mergify/bp/3.10/pr-8851
mergify[bot] Mar 21, 2023
7c74d6e
docs: cabal repl fresh-up
ulysses4ever Apr 17, 2023
44c5604
Merge pull request #8911 from haskell/mergify/bp/3.10/pr-8907
mergify[bot] Apr 20, 2023
022f4a7
Regenerate Lexer.hs with latest Alex (fix #8892)
hsyl20 Apr 4, 2023
3103b87
Lexer: report indentation warnings at column 1
hsyl20 Apr 17, 2023
4bfd6a0
Merge pull request #8921 from haskell/mergify/bp/3.10/pr-8896
mergify[bot] Apr 26, 2023
8e71243
add base to cabal install --lib default env file (#8903)
gbaz May 7, 2023
da41393
Merge pull request #8941 from haskell/mergify/bp/3.10/pr-8903
mergify[bot] May 8, 2023
dd429ff
Fix default Nix configuration option in generated ~/.cabal/config fil…
erinclemmer May 18, 2023
1799728
Instead of giving empty string on error, give the whole file
erinclemmer May 18, 2023
f59feb7
Remove options associated with #8839
erinclemmer May 18, 2023
b26a1bf
Remove option associated with #8788
erinclemmer May 18, 2023
5a83705
Merge pull request #8955 from haskell/mergify/bp/3.10/pr-8878
mergify[bot] May 19, 2023
ef8b2ec
Ignore ~/.cabal if $XDG_CONFIG_HOME/cabal/config exists. (#8877)
athas May 24, 2023
ac912f8
Merge pull request #8971 from haskell/mergify/bp/3.10/pr-8877
mergify[bot] May 24, 2023
cb3fe49
Put back docs for code-generators (fix #8887)
ulysses4ever May 24, 2023
8b365fa
Merge pull request #8973 from haskell/mergify/bp/3.10/pr-8969
mergify[bot] May 27, 2023
21a68a3
allow building with ghc-9.6
juhp May 22, 2023
6baf1e4
Shorten script-builds paths (backport #8898) (#8970)
mergify[bot] May 30, 2023
ad8279f
Do not check PVP on internal targets (#9004)
Kleidukos Jun 12, 2023
584fc87
Fix import and style
Kleidukos Jun 12, 2023
b71d7a3
Merge pull request #9013 from Kleidukos/backport-no-check-pvp-interna…
mergify[bot] Jun 17, 2023
f9339e7
Revert workaround to filter JavaScriptFFI out on GHC versions where G…
JoshMeredith Jun 2, 2023
bbed869
fix conflict
Kleidukos Jun 17, 2023
0466138
Add `Distribution.Client.Main`
sol Feb 21, 2023
199852e
Renamed cabal-install/driver/Main.hs to cabal-install/main/Main.hs
sol Feb 24, 2023
9f9c84a
Return empty default when git fails
BasLaa Feb 12, 2023
84d0103
Fix switched name and email guess
BasLaa Mar 1, 2023
7cd58a5
use with compiler flags in key of cached project config (#8819)
gbaz May 19, 2023
2edb879
Merge pull request #9031 from haskell/mergify/bp/3.10/pr-8793
mergify[bot] Jun 17, 2023
b3a8632
Merge pull request #9029 from haskell/mergify/bp/3.10/pr-8979
mergify[bot] Jun 17, 2023
d01a51b
Merge pull request #9027 from haskell/mergify/bp/3.10/pr-8819
mergify[bot] Jun 17, 2023
7de6ac2
Merge pull request #9032 from haskell/mergify/bp/3.10/pr-8755
mergify[bot] Jun 18, 2023
c97e487
Update SPDX license Ids & exceptions to 3.20 (#9028)
Kleidukos Jun 20, 2023
14f66da
Update Cabal{,-install,-syntax} to 3.10.2.0 (#9033)
Kleidukos Jun 23, 2023
9accc33
check: allow "haiku" as a valid OS string. (#9048)
jessicah Jun 28, 2023
08e94a7
Do not always pass `--quickjump` to haddock (backport #9049) (#9073)
mergify[bot] Jun 30, 2023
c7915c2
Document the pkg: prefix for package targets (backport #9015) (#9079)
mergify[bot] Jul 1, 2023
7b53e65
cabal-install: update resolv to 0.2.0.2
jessicah Jun 22, 2023
3b34367
Merge pull request #9083 from haskell/mergify/bp/3.10/pr-9069
mergify[bot] Jul 5, 2023
9c223f6
Bump deepseq bounds to allow 1.5
bgamari Jun 30, 2023
79ffd51
Merge pull request #9093 from haskell/mergify/bp/3.10/pr-9078
mergify[bot] Jul 9, 2023
2722e81
Avoid dodgy Rep (..) import in Cabal-syntax (backport #9071) (#9077)
ulysses4ever Jul 12, 2023
4bc59df
Merge pull request #9077 from haskell/mergify/bp/3.10/pr-9071
mergify[bot] Jul 12, 2023
b4ee369
Add new root keys (backport #9068) (#9080)
ulysses4ever Jul 12, 2023
f247c0b
Don't add `extra-prog-path` to `~/.config/cabal/config` (#8951) (back…
Kleidukos Jul 12, 2023
9b011a4
Merge pull request #9080 from haskell/mergify/bp/3.10/pr-9068
mergify[bot] Jul 12, 2023
5d86771
Merge pull request #9050 from haskell/mergify/bp/3.10/pr-8952
mergify[bot] Jul 13, 2023
2c16e65
Remove v2-prefix from Quickstart guide (backport #9087) (#9124)
ulysses4ever Jul 14, 2023
e08b465
Fix parsing of password-command option (#6268)
frasertweedale Jun 5, 2023
36a7f2f
Merge pull request #9124 from haskell/mergify/bp/3.10/pr-9087
mergify[bot] Jul 14, 2023
9939338
fix conflicts
ulysses4ever Jul 14, 2023
529f850
Merge pull request #9125 from haskell/mergify/bp/3.10/pr-9002
mergify[bot] Jul 14, 2023
8078074
cabal-install: Fix non-reinstallable package set (backport #9092) (#9…
Kleidukos Jul 20, 2023
3dd0f33
Fix build
Kleidukos Jul 20, 2023
a989f6a
remove duplicates in the code
Kleidukos Jul 20, 2023
bcabe6f
Merge pull request #9141 from haskell/mergify/bp/3.10/pr-9092
mergify[bot] Jul 26, 2023
9faa4db
Add the ExtendedLiterals extension (backport of #8992)
Kleidukos Aug 20, 2023
47eb77b
Filter out files that are not ending in .c from c-sources (#9200)
Kleidukos Aug 24, 2023
dcfdc9c
cleanup and document a global repo flag
gbaz Jun 28, 2023
ec86ddc
cleanup and document a global repo flag
gbaz Jun 28, 2023
483350b
Add changelogs for 3.10.2.0 (#9207)
Kleidukos Aug 26, 2023
97567fb
bump the version of cabal-install-solver
Kleidukos Aug 26, 2023
459c75e
haddock-packages fixes (#9213)
coot Aug 27, 2023
852d255
Bump the version in cabal-install
Kleidukos Aug 29, 2023
87882fe
Fix `prefer-oldest` documentation
ffaf1 Apr 14, 2023
1714b07
Merge pull request #8913 from haskell/mergify/bp/3.10/pr-8904
mergify[bot] Sep 4, 2023
3b74b68
Support GHC 9.8 in cabal 3.10.2.0 (#9225)
Kleidukos Sep 5, 2023
9093f32
PD check: do not treat library names as package names (#9132)
fgaz Jul 24, 2023
29e80e9
Merge pull request #9145 from haskell/mergify/bp/3.10/pr-9132
fgaz Sep 6, 2023
628e2db
Support text-2.1 in Cabal and Cabal-syntax (backport #9242) (#9243)
mergify[bot] Sep 11, 2023
390dc1c
Allow bytestring-0.12 (backport #9241) (#9257)
mergify[bot] Sep 14, 2023
720b6b1
Future-proof against potential Prelude.foldl' (backport #8960) (#9265)
mergify[bot] Sep 18, 2023
a1095e3
Revert "Update SPDX license Ids & exceptions to 3.20" (#9259)
Kleidukos Sep 19, 2023
4712f85
Revert "Add the ExtendedLiterals extension (backport of #8992)" (#9260)
Kleidukos Sep 20, 2023
de8a79f
Remove ExtendedLiterals from changelog for 3.10.2.0 (#9279)
Kleidukos Sep 20, 2023
15a0010
Fix overzealous warnOnTwoConfigs (backport #9278) (#9283)
mergify[bot] Sep 22, 2023
e2cc066
Relax extension `.c` requirement for c-sources (#9285)
hamishmack Oct 4, 2023
0f2350c
Bump base in cabal-dev-scripts.cabal (backport #9303) (#9311)
mergify[bot] Oct 5, 2023
ef03eec
Release CI: fixes and improvements (backport #9348) (#9349)
mergify[bot] Oct 18, 2023
e10b778
Release Cabal-3.10.2.1 (#9350)
Kleidukos Oct 18, 2023
066ddd8
Amend version number in the 3.10.2.1 changelog
Kleidukos Oct 18, 2023
fdbaf1c
Fix markdown syntax in changelog
Kleidukos Oct 30, 2023
e29e9e7
Bump to latest dependencies for GHC 9.8.1
andreasabel Oct 25, 2023
30f57fa
cabal.project: clean out obsolete `allow-newer`s
andreasabel Oct 31, 2023
b17d6f2
Bump cabal-install{-solver,} to 3.10.2.1 for GHC 9.8 compat (#9416)
Kleidukos Nov 7, 2023
5d97fcf
Use Paths_cabal_install for cabal-install version number (backport #9…
mergify[bot] Nov 22, 2023
25f972d
Make `check` recognise `TypeAbstractions`
ffaf1 Dec 8, 2023
3f51173
Merge pull request #9504 from ffaf1/add-extension-3.10
mergify[bot] Dec 9, 2023
5f8cdfa
Revert #3639 (Don't pass -package-db and -package flags to --abi-hash…
andreabedini Nov 4, 2023
83ecb5c
Merge pull request #9503 from haskell/mergify/bp/3.10/pr-9384
mergify[bot] Dec 15, 2023
c21eef4
cabal-install-solver: fix pkgconf 1.9 --modversion regression
juhp Nov 3, 2023
204948f
Merge pull request #9520 from haskell/mergify/bp/3.10/pr-9391
mergify[bot] Dec 15, 2023
8a35837
Use Base16 hash for script path.
jasagredo Nov 18, 2023
ebf64c5
Merge pull request #9483 from haskell/mergify/bp/3.10/pr-9459
mergify[bot] Dec 15, 2023
61d3c18
Migrate to haskell-actions/setup
andreabedini Nov 22, 2023
7553f8a
Merge pull request #9485 from haskell/mergify/bp/3.10/pr-9463
mergify[bot] Dec 16, 2023
96fa406
Relax upper bounds on filepath
hasufell Dec 15, 2023
b14a01d
Merge pull request #9532 from haskell/mergify/bp/3.10/pr-9523
mergify[bot] Dec 17, 2023
5fefcf5
`check`: add PackageInfo warning (#9525) (#9525)
ffaf1 Dec 21, 2023
8af26e3
Set `PKG_CONFIG_ALLOW_SYSTEM_(CFLAGS|LIBS)` by default
jasagredo Sep 18, 2023
d09cd57
Merge pull request #9550 from haskell/mergify/bp/3.10/pr-9134
mergify[bot] Dec 22, 2023
68159bc
Relax `tar` upper bound
ffaf1 Dec 23, 2023
f1a168a
Merge pull request #9597 from ffaf1/tar-backport
ffaf1 Jan 8, 2024
c805ff1
Account for .buildinfo in repl when build-type: Configure (backport #…
mergify[bot] Jan 12, 2024
5b2f3f7
update jinja2 per CVE-2024-22195
geekosaur Jan 16, 2024
8fa3eae
fix conflicts
geekosaur Jan 18, 2024
767973d
Merge pull request #9630 from haskell/mergify/bp/3.10/pr-9619
mergify[bot] Jan 20, 2024
2c0ab5b
Fix extra-prog-path propagation in the codebase.
jasagredo Dec 15, 2023
e2b045f
Honor build-tool-depends in CmdRun
xsebek Oct 21, 2023
f8be891
Resolve backporting conflicts
jasagredo Jan 18, 2024
1ced344
Merge pull request #9629 from haskell/mergify/bp/3.10/pr-9527
mergify[bot] Jan 22, 2024
db41660
Allow containers-0.7
geekosaur Jan 24, 2024
5807b8d
Merge pull request #9652 from haskell/mergify/bp/3.10/pr-9297
mergify[bot] Jan 24, 2024
53e8c38
Relax `containers` upper bound
ffaf1 Jan 22, 2024
e5a204d
Merge pull request #9653 from haskell/mergify/bp/3.10/pr-9643
mergify[bot] Jan 24, 2024
d4dff63
Ignore invalid Unicode in pkg-config descriptions (#9609)
tomsmeding Jan 25, 2024
9f9b5bd
Merge pull request #9658 from haskell/mergify/bp/3.10/pr-9609
mergify[bot] Jan 25, 2024
40f9073
Add extraLibDirs to runtime lib search paths of library
alt-romes Nov 15, 2023
6af97ba
Merge pull request #9639 from haskell/mergify/bp/3.10/pr-9554
mergify[bot] Jan 25, 2024
1972a17
Generate changelogs for 3.10.3.0 (#9661)
Kleidukos Jan 31, 2024
5ba05c2
Cabal: Allow Win32-2.14
bgamari Jan 31, 2024
eba45a3
Merge pull request #9685 from haskell/mergify/bp/3.10/pr-9679
Mikolaj Feb 8, 2024
098036b
Bump a number of dependencies
ffaf1 Feb 1, 2024
a386599
Merge pull request #9698 from haskell/mergify/bp/3.10/pr-9686
Mikolaj Feb 8, 2024
1666013
Allow zlib-0.7 (backport #9703) (#9709)
mergify[bot] Feb 13, 2024
34b7558
Bump version numbers to 3.10.3.0
Kleidukos Feb 20, 2024
3d88dab
Revert "Bump version numbers to 3.10.3.0"
Kleidukos Feb 20, 2024
1da02f1
Bump version numbers to 3.10.3.0 (#9728)
Kleidukos Feb 21, 2024
b333a7e
Update .cabal files
ffaf1 Mar 1, 2024
3f82401
Merge pull request #9780 from haskell/mergify/bp/3.10/pr-9761
mergify[bot] Mar 5, 2024
ce72f63
backport: Find build-tool installed programs before programs in path …
alt-romes Mar 11, 2024
256f85d
Backport of #9443 "Use linker capability detection to improve linker …
Kleidukos Mar 12, 2024
38499c6
Migrate release CI back to github
hasufell Nov 13, 2023
d955fc6
Use cabal 3.6.2.0-p1 since the armv7 binary is better
hasufell Jan 4, 2024
086b810
Use GHC 9.2.1 on alpine 32bit, because 9.2.8 bindist doesn't install
hasufell Jan 4, 2024
16c7866
Remove void musl
hasufell Jan 4, 2024
372ecee
Install tar on void
hasufell Jan 4, 2024
a50e354
Fix yaml snippet script
hasufell Jan 4, 2024
b7c7cab
Set constraints to fix bugs in dependencies
hasufell Mar 19, 2024
18c4cab
Update actions and docker images
hasufell Mar 19, 2024
b271394
Updates/fixes
hasufell Mar 19, 2024
f270d8d
Fixes
hasufell Mar 19, 2024
546537f
Build against recent deps
hasufell Mar 19, 2024
85ae7ec
Fix zlib
hasufell Mar 19, 2024
6aade43
Update validate pipeline
hasufell Mar 19, 2024
0ed0328
Add FreeBSD
hasufell Mar 19, 2024
589a066
Update release scripts
hasufell Mar 19, 2024
05fe812
Fixes
hasufell Mar 19, 2024
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
  •  
  •  
  •  
31 changes: 31 additions & 0 deletions .cirrus.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# release CI for FreeBSD
compute_engine_instance:
image_project: freebsd-org-cloud-dev
image: family/freebsd-13-2
platform: freebsd
disk: 100 # Gb

build_task:
timeout_in: 120m
only_if: $CIRRUS_TAG != ''
env:
ADD_CABAL_ARGS: "--enable-split-sections"
ARCH: 64
ARTIFACT: "x86_64-portbld-freebsd"
CIRRUS_CLONE_SUBMODULES: true
DISTRO: na
GHC_VERSION: 9.2.8
GITHUB_WORKSPACE: ${CIRRUS_WORKING_DIR}
RUNNER_OS: FreeBSD
TARBALL_EXT: tar.xz
TZ: Asia/Singapore
install_script:
- sed -i.bak -e 's/quarterly/latest/' /etc/pkg/FreeBSD.conf
- pkg install -y ghc hs-cabal-install git bash misc/compat10x misc/compat11x misc/compat12x gmake llvm14 patchelf tree gmp libiconv
script:
- tzsetup Etc/GMT
- adjkerntz -a
- bash .github/scripts/build.sh
binaries_artifacts:
path: "out/*"

17 changes: 17 additions & 0 deletions .github/mergify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,23 @@ pull_request_rules:
- label=merge me
- base!=master
- body~=backport
- label=merge delay passed
- '#approved-reviews-by>=1'

# 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: Put pull requests in the squash+merge queue
conditions:
- label=merge me
- base!=master
- body~=backport
- label=merge delay passed
- '#approved-reviews-by>=1'

# backports should be labeled as such
Expand Down
28 changes: 28 additions & 0 deletions .github/scripts/brew.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/bin/sh

set -eux

# shellcheck disable=SC1091
. .github/scripts/env.sh

if [ -e "$HOME/.brew" ] ; then
(
cd "$HOME/.brew"
git fetch --depth 1
git reset --hard origin/master
)
else
git clone --depth=1 https://github.com/Homebrew/brew "$HOME/.brew"
fi
export PATH="$HOME/.brew/bin:$HOME/.brew/sbin:$PATH"

mkdir -p "$CI_PROJECT_DIR/.brew_cache"
export HOMEBREW_CACHE="$CI_PROJECT_DIR/.brew_cache"
mkdir -p "$CI_PROJECT_DIR/.brew_logs"
export HOMEBREW_LOGS="$CI_PROJECT_DIR/.brew_logs"
mkdir -p /private/tmp/.brew_tmp
export HOMEBREW_TEMP=/private/tmp/.brew_tmp

#brew update
brew install ${1+"$@"}

66 changes: 66 additions & 0 deletions .github/scripts/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
#!/bin/bash

set -eux

# shellcheck disable=SC1091
. .github/scripts/env.sh
# shellcheck disable=SC1091
. .github/scripts/common.sh

uname -a
uname -p
uname
pwd
env

# ensure ghcup
install_ghcup

# build
ghcup install ghc "${GHC_VERSION}"
ghcup set ghc "${GHC_VERSION}"
sed -i.bak -e '/DELETE MARKER FOR CI/,/END DELETE/d' cabal.project # see comment in cabal.project
ecabal update
ecabal user-config diff
ecabal user-config init -f
"ghc-${GHC_VERSION}" --info
"ghc" --info

# https://github.com/haskell/cabal/issues/7313#issuecomment-811851884
if [ "$(getconf LONG_BIT)" == "32" ] || [ "${DISTRO}" == "CentOS" ] ; then
echo 'constraints: lukko -ofd-locking' >> cabal.project.release.local
fi

# shellcheck disable=SC2206
args=(
-w "ghc-$GHC_VERSION"
--disable-profiling
--enable-executable-stripping
--project-file=cabal.project.release
${ADD_CABAL_ARGS}
)

run cabal v2-build "${args[@]}" cabal-install

mkdir -p "$CI_PROJECT_DIR/out"
# shellcheck disable=SC2154
cp "$(cabal list-bin "${args[@]}" cabal-install:exe:cabal)" "$CI_PROJECT_DIR/out/cabal$ext"
cp dist-newstyle/cache/plan.json "$CI_PROJECT_DIR/out/plan.json"
cd "$CI_PROJECT_DIR/out/"

# create tarball/zip
TARBALL_PREFIX="cabal-install-$("$CI_PROJECT_DIR/out/cabal" --numeric-version)"
case "${TARBALL_EXT}" in
zip)
zip "${TARBALL_PREFIX}-${ARTIFACT}.${TARBALL_EXT}" "cabal${ext}" plan.json
;;
tar.xz)
tar caf "${TARBALL_PREFIX}-${ARTIFACT}.${TARBALL_EXT}" "cabal${ext}" plan.json
;;
*)
fail "Unknown TARBALL_EXT: ${TARBALL_EXT}"
;;
esac

rm cabal plan.json

110 changes: 110 additions & 0 deletions .github/scripts/common.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
#!/bin/bash

# shellcheck disable=SC1091
. .github/scripts/env.sh

# Colors
RED="0;31"
LT_BROWN="1;33"
LT_BLUE="1;34"

ecabal() {
cabal "$@"
}

nonfatal() {
"$@" || "$* failed"
}

sha_sum() {
if [ "${RUNNER_OS}" = "FreeBSD" ] ; then
sha256 "$@"
else
sha256sum "$@"
fi
}

git_describe() {
git config --global --get-all safe.directory | grep '^\*$' || git config --global --add safe.directory "*"
git describe --always
}

install_ghcup() {
# find "$GHCUP_INSTALL_BASE_PREFIX"
mkdir -p "$GHCUP_BIN"
mkdir -p "$GHCUP_BIN"/../cache

if [ "${RUNNER_OS}" = "FreeBSD" ] ; then
curl -o ghcup https://downloads.haskell.org/ghcup/tmp/x86_64-portbld-freebsd-ghcup-0.1.18.1
chmod +x ghcup
mv ghcup "$HOME/.local/bin/ghcup"
else
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_MINIMAL=1 sh
source "$(dirname "${GHCUP_BIN}")/env"
ghcup install cabal --set "${BOOTSTRAP_HASKELL_CABAL_VERSION}"
fi
}

strip_binary() {
(
set -e
local binary=$1
case "$(uname -s)" in
"Darwin"|"darwin")
;;
MSYS_*|MINGW*)
;;
*)
strip -s "${binary}"
;;
esac
)
}

# GitLab Pipelines log section delimiters
# https://gitlab.com/gitlab-org/gitlab-foss/issues/14664
start_section() {
name="$1"
echo -e "section_start:$(date +%s):$name\015\033[0K"
}

end_section() {
name="$1"
echo -e "section_end:$(date +%s):$name\015\033[0K"
}

echo_color() {
local color="$1"
local msg="$2"
echo -e "\033[${color}m${msg}\033[0m"
}

error() { echo_color "${RED}" "$1"; }
warn() { echo_color "${LT_BROWN}" "$1"; }
info() { echo_color "${LT_BLUE}" "$1"; }

fail() { error "error: $1"; exit 1; }

run() {
info "Running $*..."
"$@" || ( error "$* failed"; return 1; )
}

emake() {
if command -v gmake >/dev/null 2>&1 ; then
gmake "$@"
else
make "$@"
fi
}

mktempdir() {
case "$(uname -s)" in
"Darwin"|"darwin")
mktemp -d -t cabal_ci.XXXXXXX
;;
*)
mktemp -d
;;
esac
}
42 changes: 42 additions & 0 deletions .github/scripts/env.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#!/bin/bash

mkdir -p "$HOME"/.local/bin

if [ "${RUNNER_OS}" = "Windows" ] ; then
ext=".exe"
else
# shellcheck disable=SC2034
ext=''
fi

export PATH="$HOME/.local/bin:$PATH"

export BOOTSTRAP_HASKELL_NONINTERACTIVE=1
export BOOTSTRAP_HASKELL_CABAL_VERSION="${CABAL_VER:-3.6.2.0-p1}"
export BOOTSTRAP_HASKELL_ADJUST_CABAL_CONFIG=no
export BOOTSTRAP_HASKELL_INSTALL_NO_STACK=yes
export BOOTSTRAP_HASKELL_ADJUST_BASHRC=1

if [ "${RUNNER_OS}" = "freebsd" ] ; then
export RUNNER_OS=FreeBSD
fi

if [ "${RUNNER_OS}" = "Windows" ] ; then
# on windows use pwd to get unix style path
CI_PROJECT_DIR="$(pwd)"
export CI_PROJECT_DIR
export GHCUP_INSTALL_BASE_PREFIX="/c"
export GHCUP_BIN="$GHCUP_INSTALL_BASE_PREFIX/ghcup/bin"
export PATH="$GHCUP_BIN:$PATH"
export CABAL_DIR="C:\\Users\\runneradmin\\AppData\\Roaming\\cabal"
else
export CI_PROJECT_DIR="${GITHUB_WORKSPACE}"
export GHCUP_INSTALL_BASE_PREFIX="$CI_PROJECT_DIR"
export GHCUP_BIN="$GHCUP_INSTALL_BASE_PREFIX/.ghcup/bin"
export PATH="$GHCUP_BIN:$PATH"
export CABAL_DIR="$CI_PROJECT_DIR/cabal"
export CABAL_CACHE="$CI_PROJECT_DIR/cabal-cache"
fi

export DEBIAN_FRONTEND=noninteractive
export TZ=Asia/Singapore
15 changes: 13 additions & 2 deletions .github/workflows/bootstrap.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest]
ghc: ["8.6.5", "8.8.4", "8.10.7", "9.0.2", "9.2.3"]
ghc: ["8.10.7", "9.0.2", "9.2.8", "9.4.8"]
include:
- os: macos-latest
ghc: "9.2.3"
ghc: "9.2.8"
name: Bootstrap ${{ matrix.os }} ghc-${{ matrix.ghc }}
runs-on: ${{ matrix.os }}
steps:
Expand All @@ -35,9 +35,20 @@ jobs:
restore-keys: bootstrap-${{ runner.os }}-${{ matrix.ghc }}-20221115-

- uses: actions/checkout@v3
# See https://github.com/haskell/cabal/pull/8739
- name: Sudo chmod to permit ghcup to update its cache
run: |
if [[ "${{ runner.os }}" == "Linux" ]]; then
sudo ls -lah /usr/local/.ghcup/cache
sudo mkdir -p /usr/local/.ghcup/cache
sudo ls -lah /usr/local/.ghcup/cache
sudo chown -R $USER /usr/local/.ghcup
sudo chmod -R 777 /usr/local/.ghcup
fi
- name: bootstrap.py
run: |
GHC_VERSION=${{ matrix.ghc }}
ghcup --version
ghcup config set cache true
ghcup install ghc $GHC_VERSION

Expand Down
10 changes: 9 additions & 1 deletion .github/workflows/changelogs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,18 @@ jobs:
# https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#adding-a-system-path
run: |
echo "$HOME/.cabal/bin" >> $GITHUB_PATH
- uses: actions/cache@v1
- uses: actions/cache@v3
with:
path: ~/.cabal/store
key: linux-store-changelogs
# See https://github.com/haskell/cabal/pull/8739
- name: Sudo chmod to permit ghcup to update its cache
run: |
if [[ "${{ runner.os }}" == "Linux" ]]; then
sudo mkdir -p /usr/local/.ghcup/cache
sudo chown -R $USER /usr/local/.ghcup
sudo chmod -R 777 /usr/local/.ghcup
fi
- name: ghcup
run: |
ghcup config set cache true
Expand Down
Loading