Compare commits

..

68 Commits

Author SHA1 Message Date
e658bd1372 Remove postRm message for GHC
Companion PR for https://github.com/haskell/ghcup-hs/pull/723
2022-12-20 21:37:06 +08:00
9abf634f8c Improve stack post install 2022-12-19 00:15:27 +08:00
5d50438a4c Merge branch 'stack-2.9.3' into develop 2022-12-18 02:27:10 +08:00
22867158fa Add stack-2.9.3 2022-12-18 02:24:52 +08:00
d309865d02 Allow to trigger workflow via comment 2022-12-18 02:22:57 +08:00
af5688633d Fix build for Fedora <33 2022-12-16 12:23:55 +08:00
3b98df479a Fix CI 2022-12-14 22:37:57 +08:00
93514e964f Update sig 2022-12-14 20:57:07 +08:00
4466b7ce4d Merge branch 'develop' 2022-12-13 19:42:05 +08:00
1ba37946e1 Fix Linux Mint shenanigans with HLS 2022-12-13 19:10:08 +08:00
f37840f592 Merge branch 'develop' 2022-11-25 21:20:47 +08:00
Mike Pilgrem
5b58beb3bd Add Stack 2.9.2.1 pre-release to GHCup metadata 2022-11-24 05:56:33 +01:00
8f0e82ef06 Fix 2022-11-12 23:32:13 +08:00
de7b919c4f Fx 8.10.3 alpine bindist 2022-11-12 22:53:26 +08:00
1b9f1fc804 Add subcommand to output system requirements in markdown
Related: https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/411
2022-11-12 11:13:56 +08:00
32a75b482a Sign 2022-11-08 01:00:37 +08:00
6290ad816c Add GHC 9.2.5 2022-11-08 00:56:11 +08:00
2d705bf10a Sign 2022-11-06 23:56:24 +08:00
5da8fa8ea0 Add GHC 9.4.3 2022-11-06 23:08:19 +08:00
c3f3321617 Merge branch 'prof-libs' into develop 2022-10-10 13:30:11 +08:00
45db7a6349 Improve bindist install script
Test HLS and cabal better. Test profiling.
2022-10-10 12:56:43 +08:00
b29358a3ce Add Linux Mint bindist installations to github actions 2022-10-08 21:37:57 +08:00
448e6b65a1 Sign 2022-09-26 23:02:33 +08:00
f79a614842 Set GHC 9.2.4 as recommended
Fixes #402
2022-09-26 23:00:49 +08:00
38af24534d Add stack 2.9.1 2022-09-26 22:48:25 +08:00
70f6aa4112 Fix libffi install on ubuntu18.04 2022-09-16 17:16:51 +08:00
34414b4a6b Add ubuntu 18.04 2022-09-16 17:14:11 +08:00
cea865595a Fix ubuntu HLS 1.8.0.0 2022-09-16 17:04:42 +08:00
3f891cc56a Allow to set arbitrary tools in bindist action
Fixes #35
2022-09-15 22:25:22 +08:00
fd71594ee6 Add linux aarch64 HLS 2022-09-15 22:20:01 +08:00
8a0fcd3172 Enable tests on develop branch 2022-09-15 19:58:05 +08:00
c5d3930c8f Fix windows HLS 1.8 2022-09-15 19:46:08 +08:00
36dd18eeb5 Sign 2022-09-14 19:18:04 +08:00
4f8ca555fd Merge remote-tracking branch 'origin/pr/33' 2022-09-14 19:01:18 +08:00
Pepe Iborra
03e9916d24 Update ghcup-0.0.7.yaml
Co-authored-by: wz1000 <zubin@cmi.ac.in>
2022-09-14 12:05:57 +02:00
Pepe Iborra
7737f5decf use SHA256 hashes 2022-09-14 11:56:26 +02:00
Pepe Iborra
ba07fa8baa yaml syntax fix 2022-09-14 11:46:30 +02:00
Pepe Iborra
e8336c3093 Fixes for Windows and Arm linux binaries 2022-09-14 11:45:29 +02:00
Pepe Iborra
7381149b4e remove recommended tags from 1.7.0.0 2022-09-14 11:43:45 +02:00
Pepe Iborra
ca7416674e fix Windows dlSubdir 2022-09-14 11:32:30 +02:00
Pepe Iborra
ab7231f10f fix Windows dlUri 2022-09-14 11:30:31 +02:00
Pepe Iborra
99133d949a add ghcup metadata 2022-09-14 11:29:05 +02:00
Pepe Iborra
02588b8025 Added metadata for HLS 1.8.0.0 2022-09-14 11:06:35 +02:00
9c78f17415 Sign 2022-08-26 08:38:31 +08:00
33cb0e8708 Mark 9.4.1 as old 2022-08-24 23:29:47 +08:00
bc72af60ca Add g++ to requirements 2022-08-24 23:05:29 +08:00
320f96acf7 Merge remote-tracking branch 'origin/pr/31' 2022-08-24 23:05:13 +08:00
Taylor Fausak
f013568183 Add GHC 9.4.2 2022-08-23 07:00:40 -05:00
86da8c3dfe Merge remote-tracking branch 'origin/pr/30' 2022-08-12 18:55:39 +08:00
amesgen
0bdb62c58e Consolidate and isolate bindist installation
In particular, this now ensure that we actually use the ghcup version we
installed as well as a separate installation directory, instead of any
potentially previously installed versions/files.
2022-08-11 03:29:47 +02:00
amesgen
0c0736526a Bindist CI: add windows 2022-08-10 19:50:04 +02:00
ff79db284a Merge remote-tracking branch 'origin/pr/29' 2022-08-10 20:03:27 +08:00
86c7f4374a Fix Red Hat 2022-08-10 19:58:48 +08:00
25a2382694 Merge branch 'cabal-3.8.1.0' 2022-08-10 08:39:11 +08:00
amesgen
928375fa74 Add CI for bindist installation 2022-08-09 21:44:47 +02:00
29c04ab231 Add cabal-3.8.1.0 2022-08-10 00:06:10 +08:00
1a87f77dda Sign 2022-08-09 23:38:55 +08:00
fc911e1099 Merge remote-tracking branch 'origin/pr/27' 2022-08-09 23:33:52 +08:00
amesgen
2cc783fcab Fix GHC 9.4.1 (e.g. on Ubuntu 20.04) 2022-08-09 13:58:58 +02:00
548aa90553 GPG sign 2022-08-09 19:02:59 +08:00
90571cee09 Fix darwin bindists
https://discourse.haskell.org/t/ghc-9-4-1-is-now-available/4901/6
2022-08-09 19:02:20 +08:00
540ee16e8e Merge remote-tracking branch 'origin/pr/26' 2022-08-09 14:13:53 +08:00
amesgen
19bc7f338e Add ghc-9.4.1 2022-08-09 00:38:30 +02:00
7ec72168b0 Mark more stuff as old 2022-08-06 15:47:26 +08:00
d819e05b93 Fix red hat HLS bindist 2022-07-30 18:01:10 +08:00
42f43a6b2d Update ghcup to 0.1.18.0 2022-07-30 10:45:10 +08:00
012fbb3f13 Sign 2022-07-29 21:54:53 +08:00
3fe6f8d804 Merge branch 'pr/25' 2022-07-29 21:54:38 +08:00
14 changed files with 1153 additions and 128 deletions

259
.github/workflows/bindists.yaml vendored Normal file
View File

@@ -0,0 +1,259 @@
name: Bindist installation
defaults:
run:
shell: bash
on:
pull_request:
types: [opened]
issue_comment:
types: [created]
workflow_dispatch:
inputs:
tool:
description: Tool
required: true
type: string
version:
description: Version
required: true
type: string
metadataFile:
description: Metadata file
required: true
default: ghcup-0.0.7.yaml
type: string
env:
BOOTSTRAP_HASKELL_NONINTERACTIVE: 1
BOOTSTRAP_HASKELL_MINIMAL: 1
BOOTSTRAP_HASKELL_ADJUST_BASHRC: 1
TOOL: ${{ github.event.inputs.tool }}
VERSION: ${{ github.event.inputs.version }}
METADATA_FILE: ${{ github.event.inputs.metadataFile }}
jobs:
bindist-install:
name: linux-${{ matrix.image }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- image: alpine:latest
installCmd: apk update && apk add
toolRequirements: binutils-gold curl gcc g++ gmp-dev libc-dev libffi-dev make musl-dev ncurses-dev perl tar xz
- image: debian:9
installCmd: apt-get update && apt-get install -y
toolRequirements: build-essential curl libffi-dev libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
- image: debian:10
installCmd: apt-get update && apt-get install -y
toolRequirements: build-essential curl libffi-dev libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
- image: debian:11
installCmd: apt-get update && apt-get install -y
toolRequirements: build-essential curl libffi-dev libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
- image: ubuntu:18.04
installCmd: apt-get update && apt-get install -y
toolRequirements: build-essential curl libffi-dev libffi6 libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
- image: ubuntu:20.04
installCmd: apt-get update && apt-get install -y
toolRequirements: build-essential curl libffi-dev libffi7 libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
- image: ubuntu:22.04
installCmd: apt-get update && apt-get install -y
toolRequirements: build-essential curl libffi-dev libffi7 libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
- image: archlinux:latest
installCmd: pacman -Syu --noconfirm
toolRequirements: which gcc gmp libffi make ncurses perl tar xz
- image: fedora:36
installCmd: dnf install -y
toolRequirements: which gcc g++ gmp gmp-devel make ncurses ncurses-compat-libs xz perl
- image: linuxmintd/mint19.3-amd64
installCmd: apt-get update && apt-get install -y
toolRequirements: build-essential curl libffi-dev libffi6 libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
- image: linuxmintd/mint20.2-amd64
installCmd: apt-get update && apt-get install -y
toolRequirements: build-essential curl libffi-dev libffi7 libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
container:
image: ${{ matrix.image }}
steps:
- name: Install requirements
shell: sh
run: |
${{ matrix.installCmd }} curl bash git ${{ matrix.toolRequirements }}
- uses: shpingalet007/pull-request-comment-trigger@696de492b50cee0ba671934893c91c5805a403b9
id: check
with:
trigger: '@bindistTest ** ** **'
reaction: rocket
allow_arguments: true
env:
GITHUB_TOKEN: '${{secrets.GITHUB_TOKEN}}'
- uses: shpingalet007/pull-request-comment-trigger@696de492b50cee0ba671934893c91c5805a403b9
id: checkRef
with:
trigger: '@bindistTestRef ** ** ** **'
reaction: rocket
allow_arguments: true
env:
GITHUB_TOKEN: '${{secrets.GITHUB_TOKEN}}'
- if: ${{ steps.checkRef.outputs.triggered == 'true' }}
uses: actions/checkout@v3
with:
ref: ${{ fromJson(steps.check.outputs.arguments)[3] }}
- if: ${{ steps.checkRef.outputs.triggered != 'true' }}
uses: actions/checkout@v3
- if: ${{ github.event_name != 'workflow_dispatch' || steps.check.outputs.triggered == 'true' }}
continue-on-error: true
name: Install ghcup and bindist
run: |
[ -z "${TOOL}" ] && export TOOL=${{ fromJson(steps.check.outputs.arguments)[0] }}
[ -z "${VERSION}" ] && export VERSION=${{ fromJson(steps.check.outputs.arguments)[1] }}
[ -z "${METADATA_FILE}" ] && export METADATA_FILE=${{ fromJson(steps.check.outputs.arguments)[2] }}
.github/workflows/install-bindist.sh
echo SUCCESS=true >> $GITHUB_ENV
- if: ${{ github.event_name != 'workflow_dispatch' && steps.check.outputs.triggered != 'true' && steps.checkRef.outputs.triggered == 'true' }}
continue-on-error: true
name: Install ghcup and bindist
run: |
[ -z "${TOOL}" ] && export TOOL=${{ fromJson(steps.checkRef.outputs.arguments)[0] }}
[ -z "${VERSION}" ] && export VERSION=${{ fromJson(steps.checkRef.outputs.arguments)[1] }}
[ -z "${METADATA_FILE}" ] && export METADATA_FILE=${{ fromJson(steps.checkRef.outputs.arguments)[2] }}
.github/workflows/install-bindist.sh
echo SUCCESS=true >> $GITHUB_ENV
- if: ${{ github.event_name == 'workflow_dispatch' }}
name: Install ghcup and bindist
run: |
.github/workflows/install-bindist.sh
echo SUCCESS=true >> $GITHUB_ENV
- run: |
if [ "${{ env.SUCCESS }}" = "true" ] ; then
echo "true" > message-linux.txt
else
echo "false" > message-linux.txt
fi
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: artifacts
path: |
./message-linux.txt
bindist-install-non-linux:
name: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- macos-11
- macos-12
- windows-latest
runs-on: ${{ matrix.os }}
steps:
- uses: shpingalet007/pull-request-comment-trigger@696de492b50cee0ba671934893c91c5805a403b9
id: check
with:
trigger: '@bindistTest ** ** **'
reaction: rocket
allow_arguments: true
env:
GITHUB_TOKEN: '${{secrets.GITHUB_TOKEN}}'
- uses: shpingalet007/pull-request-comment-trigger@696de492b50cee0ba671934893c91c5805a403b9
id: checkRef
with:
trigger: '@bindistTestRef ** ** ** **'
reaction: rocket
allow_arguments: true
env:
GITHUB_TOKEN: '${{secrets.GITHUB_TOKEN}}'
- if: ${{ steps.checkRef.outputs.triggered == 'true' }}
uses: actions/checkout@v3
with:
ref: ${{ fromJson(steps.check.outputs.arguments)[3] }}
- if: ${{ steps.checkRef.outputs.triggered != 'true' }}
uses: actions/checkout@v3
- if: ${{ github.event_name != 'workflow_dispatch' || steps.check.outputs.triggered == 'true' }}
continue-on-error: true
name: Install ghcup and bindist
run: |
[ -z "${TOOL}" ] && export TOOL=${{ fromJson(steps.check.outputs.arguments)[0] }}
[ -z "${VERSION}" ] && export VERSION=${{ fromJson(steps.check.outputs.arguments)[1] }}
[ -z "${METADATA_FILE}" ] && export METADATA_FILE=${{ fromJson(steps.check.outputs.arguments)[2] }}
.github/workflows/install-bindist.sh
echo SUCCESS=true >> $GITHUB_ENV
- if: ${{ github.event_name != 'workflow_dispatch' && steps.check.outputs.triggered != 'true' && steps.checkRef.outputs.triggered == 'true' }}
continue-on-error: true
name: Install ghcup and bindist
run: |
[ -z "${TOOL}" ] && export TOOL=${{ fromJson(steps.checkRef.outputs.arguments)[0] }}
[ -z "${VERSION}" ] && export VERSION=${{ fromJson(steps.checkRef.outputs.arguments)[1] }}
[ -z "${METADATA_FILE}" ] && export METADATA_FILE=${{ fromJson(steps.checkRef.outputs.arguments)[2] }}
.github/workflows/install-bindist.sh
echo SUCCESS=true >> $GITHUB_ENV
- if: ${{ github.event_name == 'workflow_dispatch' }}
name: Install ghcup and bindist
run: |
.github/workflows/install-bindist.sh
echo SUCCESS=true >> $GITHUB_ENV
- run: |
if [ "${{ env.SUCCESS }}" = "true" ] ; then
echo "true" > message.txt
else
echo "false" > message.txt
fi
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: artifacts
path: |
./message.txt
comment:
name: comment
needs: ["bindist-install", "bindist-install-non-linux"]
runs-on: ubuntu-latest
steps:
- name: Download artifacts
uses: actions/download-artifact@v3
with:
name: artifacts
- run: |
if [ "$(cat message.txt)" == "true" ] && [ "$(cat message-linux.txt)" == "true" ] ; then
echo "SUCCESS=true" >> $GITHUB_ENV
else
echo "SUCCESS=false" >> $GITHUB_ENV
fi
- id: message
run: |
if [ "${{ env.SUCCESS }}" = "true" ] ; then
echo 'MESSAGE=Bindist check success :+1:' >> $GITHUB_OUTPUT
else
echo 'MESSAGE=Bindist check failure :-1:' >> $GITHUB_OUTPUT
fi
- if: ${{ github.event_name == 'pull_request' }}
name: Comment PR
uses: thollander/actions-comment-pull-request@v2
with:
message: |
${{ steps.message.outputs.MESSAGE }}
- name: Check on failures
if: env.SUCCESS != 'true'
run: exit 1

51
.github/workflows/install-bindist.sh vendored Executable file
View File

@@ -0,0 +1,51 @@
#!/usr/bin/env bash
set -x
set -eo pipefail
export GHCUP_INSTALL_BASE_PREFIX=$RUNNER_TEMP/foobarbaz
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
source $GHCUP_INSTALL_BASE_PREFIX/.ghcup/env || source ~/.bashrc
ghcup --version
which ghcup | grep foobarbaz
# oh no
if [ "${TOOL}" = "hls" ] ; then
ghcup -v --url-source=file:$METADATA_FILE install ghc --set 9.2.4
fi
ghcup -v --url-source=file:$METADATA_FILE install $TOOL --set $VERSION
mkdir /tmp/install-bindist-ci
cd /tmp/install-bindist-ci
cat <<EOF > main.hs
{- cabal:
build-depends: base
-}
main = print $ 1 + 1
EOF
case $TOOL in
hls)
haskell-language-server-wrapper --version
haskell-language-server-wrapper typecheck main.hs
;;
ghc)
ghc --version
ghc --info
ghc -prof main.hs
[[ $(./main +RTS -s) -eq 2 ]]
;;
cabal)
cabal --version
cabal update
[[ $(cabal --verbose=0 run --enable-profiling ./main.hs -- +RTS -s) -eq 2 ]]
;;
*)
$TOOL --version
;;
esac

View File

@@ -2,9 +2,9 @@ name: Tests
on:
push:
branches: [ master ]
branches: [ master, develop ]
pull_request:
branches: [ master ]
branches: [ master, develop ]
jobs:
test:

View File

@@ -2025,7 +2025,7 @@ ghcupDownloads:
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.4.0.0/cabal-install-3.4.0.0-armv7-linux-bootstrapped.tar.xz
dlHash: 16c0d1eaba24bed14f3e152970179a45d9f9bb5cc839b2c210ad06eb7d4826ed
GHCup:
0.1.17.7:
0.1.18.0:
viTags:
- Recommended
- Latest
@@ -2035,43 +2035,43 @@ ghcupDownloads:
A_64:
Linux_UnknownLinux:
unknown_versioning: &ghcup-64
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/x86_64-linux-ghcup-0.1.17.7
dlHash: e16eaf59dab84be7aa6415b53a3497f211d05163a50584dc854569b2ef8a7a3a
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/x86_64-linux-ghcup-0.1.18.0
dlHash: 94559eb7c4569919446af1597d07675e803c20b150323edb7f9d8601c8bbda50
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/x86_64-apple-darwin-ghcup-0.1.17.7
dlHash: 9702f30c9374a122d79f7ef11170b34deb248a0f3cd92d671c0aab747be4add7
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/x86_64-apple-darwin-ghcup-0.1.18.0
dlHash: b34ed98bc0cc6d2169974f8d03173f93c3e3f60607013f1af42c9882c1a0d6f0
FreeBSD:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/x86_64-freebsd12-ghcup-0.1.17.7
dlHash: d3d0644dc5d9b51ed1c345fc006e936e9284b3181e5a9cccf4cf70a7184398fe
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/x86_64-freebsd12-ghcup-0.1.18.0
dlHash: cc8378a53f3028331dc853acfb253e2258d720b0e18b618b294ed67182a7fa03
Windows:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/x86_64-mingw64-ghcup-0.1.17.7.exe
dlHash: 3f372469e2cb21546bd2a4925747aabb175a8a55639ed8bf4610c5390bfa7b6b
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/x86_64-mingw64-ghcup-0.1.18.0.exe
dlHash: e2166a50437c677dfab3362749f676f92ff786aae1bfd7a2d289efa3544ee654
Linux_Alpine:
unknown_versioning: *ghcup-64
A_32:
Linux_UnknownLinux:
unknown_versioning: &ghcup-32
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/i386-linux-ghcup-0.1.17.7
dlHash: 209f61872a5b401e85e4d542dd8d0c96437c1f1ad94b4fa5a28856f34ab0cab8
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/i386-linux-ghcup-0.1.18.0
dlHash: 222914720135261dcc644155bc8a5b15d1d4966c769d50686fe4f41547208759
Linux_Alpine:
unknown_versioning: *ghcup-32
A_ARM64:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/aarch64-linux-ghcup-0.1.17.7
dlHash: 392dc46ef3f98733b154188982866859d174a750e32c5b742e6a1cf60159954e
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/aarch64-linux-ghcup-0.1.18.0
dlHash: 3e3ee4aa06e426373fb7e29f1770987ca1621e414925f261f325f9acb77e0bcb
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/aarch64-apple-darwin-ghcup-0.1.17.7
dlHash: 102d808b31248f86cbf569162ba1b7955e6747a684b2b4200b0958d6e4c54267
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/aarch64-apple-darwin-ghcup-0.1.18.0
dlHash: 2d3aa19d6f012c1a4ebc5907a05b06cf0d43a1499107020f59847ea2638c8649
A_ARM:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/armv7-linux-ghcup-0.1.17.7
dlHash: 8438e22241fab4bfde94066a34600ab003db2f4ecadfd54bfad4ae990e6549a1
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/armv7-linux-ghcup-0.1.18.0
dlHash: 2e94920c772bc24c9fe41004dedf46840f5f036d28d3ed183679d3f34d2c50e0
HLS:
1.1.0:
viTags: []

Binary file not shown.

View File

@@ -2569,7 +2569,7 @@ ghcupDownloads:
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.6.2.0/cabal-install-3.6.2.0-armv7-linux-deb10.tar.xz
dlHash: 694ba7c14f8d720c6e790ab0488dbff2d8a07d9c6de97b4deeba31088f825bc2
GHCup:
0.1.17.7:
0.1.18.0:
viTags:
- Recommended
- Latest
@@ -2579,46 +2579,46 @@ ghcupDownloads:
A_64:
Linux_UnknownLinux:
unknown_versioning: &ghcup-64
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/x86_64-linux-ghcup-0.1.17.7
dlHash: e16eaf59dab84be7aa6415b53a3497f211d05163a50584dc854569b2ef8a7a3a
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/x86_64-linux-ghcup-0.1.18.0
dlHash: 94559eb7c4569919446af1597d07675e803c20b150323edb7f9d8601c8bbda50
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/x86_64-apple-darwin-ghcup-0.1.17.7
dlHash: 9702f30c9374a122d79f7ef11170b34deb248a0f3cd92d671c0aab747be4add7
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/x86_64-apple-darwin-ghcup-0.1.18.0
dlHash: b34ed98bc0cc6d2169974f8d03173f93c3e3f60607013f1af42c9882c1a0d6f0
FreeBSD:
'( >= 12 && < 13 )':
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/x86_64-freebsd12-ghcup-0.1.17.7
dlHash: d3d0644dc5d9b51ed1c345fc006e936e9284b3181e5a9cccf4cf70a7184398fe
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/x86_64-freebsd12-ghcup-0.1.18.0
dlHash: cc8378a53f3028331dc853acfb253e2258d720b0e18b618b294ed67182a7fa03
'( >= 13 )':
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/x86_64-freebsd13-ghcup-0.1.17.7
dlHash: d3d0644dc5d9b51ed1c345fc006e936e9284b3181e5a9cccf4cf70a7184398fe
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/x86_64-freebsd13-ghcup-0.1.18.0
dlHash: cc8378a53f3028331dc853acfb253e2258d720b0e18b618b294ed67182a7fa03
Windows:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/x86_64-mingw64-ghcup-0.1.17.7.exe
dlHash: 3f372469e2cb21546bd2a4925747aabb175a8a55639ed8bf4610c5390bfa7b6b
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/x86_64-mingw64-ghcup-0.1.18.0.exe
dlHash: e2166a50437c677dfab3362749f676f92ff786aae1bfd7a2d289efa3544ee654
Linux_Alpine:
unknown_versioning: *ghcup-64
A_32:
Linux_UnknownLinux:
unknown_versioning: &ghcup-32
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/i386-linux-ghcup-0.1.17.7
dlHash: 209f61872a5b401e85e4d542dd8d0c96437c1f1ad94b4fa5a28856f34ab0cab8
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/i386-linux-ghcup-0.1.18.0
dlHash: 222914720135261dcc644155bc8a5b15d1d4966c769d50686fe4f41547208759
Linux_Alpine:
unknown_versioning: *ghcup-32
A_ARM64:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/aarch64-linux-ghcup-0.1.17.7
dlHash: 392dc46ef3f98733b154188982866859d174a750e32c5b742e6a1cf60159954e
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/aarch64-linux-ghcup-0.1.18.0
dlHash: 3e3ee4aa06e426373fb7e29f1770987ca1621e414925f261f325f9acb77e0bcb
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/aarch64-apple-darwin-ghcup-0.1.17.7
dlHash: 102d808b31248f86cbf569162ba1b7955e6747a684b2b4200b0958d6e4c54267
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/aarch64-apple-darwin-ghcup-0.1.18.0
dlHash: 2d3aa19d6f012c1a4ebc5907a05b06cf0d43a1499107020f59847ea2638c8649
A_ARM:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/armv7-linux-ghcup-0.1.17.7
dlHash: 8438e22241fab4bfde94066a34600ab003db2f4ecadfd54bfad4ae990e6549a1
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/armv7-linux-ghcup-0.1.18.0
dlHash: 2e94920c772bc24c9fe41004dedf46840f5f036d28d3ed183679d3f34d2c50e0
HLS:
1.1.0:
viTags:

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -11,6 +11,7 @@ module Generate where
import GHCup
import GHCup.Download
import GHCup.Requirements
import GHCup.Errors
import GHCup.Types
import GHCup.Types.Optics
@@ -144,13 +145,14 @@ generateTable output = do
handle <- case output of
StdOut -> pure stdout
FileOutput fp -> liftIO $ openFile fp WriteMode
forM_ [GHC,Cabal,HLS,Stack] $ \tool -> do
case tool of
GHC -> liftIO $ hPutStrLn handle $ "<details> <summary>Show all supported <a href='https://www.haskell.org/ghc/'>GHC</a> versions</summary>"
Cabal -> liftIO $ hPutStrLn handle $ "<details> <summary>Show all supported <a href='https://cabal.readthedocs.io/en/stable/'>cabal-install</a> versions</summary>"
HLS -> liftIO $ hPutStrLn handle $ "<details> <summary>Show all supported <a href='https://haskell-language-server.readthedocs.io/en/stable/'>HLS</a> versions</summary>"
Stack -> liftIO $ hPutStrLn handle $ "<details> <summary>Show all supported <a href='https://docs.haskellstack.org/en/stable/README/'>Stack</a> versions</summary>"
_ -> fail "no"
liftIO $ hPutStrLn handle $ "<table>"
liftIO $ hPutStrLn handle $ "<thead><tr><th>" <> show tool <> " Version</th><th>Tags</th></tr></thead>"
liftIO $ hPutStrLn handle $ "<tbody>"
@@ -175,3 +177,53 @@ generateTable output = do
printTag (Base pvp'') = "base-" ++ T.unpack (prettyPVP pvp'')
printTag (UnknownTag t ) = t
printTag Old = ""
generateSystemInfo :: ( MonadFail m
, MonadMask m
, Monad m
, MonadReader env m
, HasSettings env
, HasDirs env
, HasLog env
, MonadThrow m
, MonadIO m
, HasPlatformReq env
, HasGHCupInfo env
, MonadUnliftIO m
)
=> Output
-> m ExitCode
generateSystemInfo output = do
handle <- case output of
StdOut -> pure stdout
FileOutput fp -> liftIO $ openFile fp WriteMode
forM_ [ Linux Debian
, Linux Ubuntu
, Linux Fedora
, Linux CentOS
, Linux Alpine
, Linux UnknownLinux
, Darwin
, FreeBSD
, Windows
] $ \plat -> do
GHCupInfo { .. } <- getGHCupInfo
(Just req) <- pure $ getCommonRequirements (PlatformResult plat Nothing) _toolRequirements
liftIO $ hPutStrLn handle $ "### " <> (prettyPlat plat) <> "\n"
liftIO $ hPutStrLn handle $ (T.unpack $ pretty' req) <> "\n"
pure ExitSuccess
where
pretty' Requirements {..} =
let d = if not . null $ _distroPKGs
then "The following distro packages are required: " <> "`" <> T.intercalate " " _distroPKGs <> "`"
else ""
n = if not . T.null $ _notes then _notes else ""
in if | T.null d -> n
| T.null n -> d
| otherwise -> d <> "\n" <> n
prettyPlat (Linux UnknownLinux) = "Linux (generic)"
prettyPlat p = show p

View File

@@ -65,6 +65,7 @@ data Command = ValidateYAML ValidateYAMLOpts
| ValidateTarballs ValidateYAMLOpts TarballFilter
| GenerateHlsGhc ValidateYAMLOpts Format Output
| GenerateToolTable ValidateYAMLOpts Output
| GenerateSystemDepsInfo ValidateYAMLOpts Output
fileOutput :: Parser Output
@@ -152,11 +153,17 @@ com = subparser
(progDesc "Generate a list of HLS-GHC support")
)
<> command
"generate-table"
"generate-tool-table"
(info
((GenerateToolTable <$> validateYAMLOpts <*> outputP) <**> helper)
(progDesc "Generate a markdown table of available tool versions")
)
<> command
"generate-system-deps-info"
(info
((GenerateSystemDepsInfo <$> validateYAMLOpts <*> outputP) <**> helper)
(progDesc "Generate a markdown info for system dependencies")
)
)
@@ -202,6 +209,7 @@ main = do
ValidateTarballs vopts tarballFilter -> withValidateYamlOpts vopts (validateTarballs tarballFilter)
GenerateHlsGhc vopts format output -> withValidateYamlOpts vopts (generateHLSGhc format output)
GenerateToolTable vopts output -> withValidateYamlOpts vopts (generateTable output)
GenerateSystemDepsInfo vopts output -> withValidateYamlOpts vopts (generateSystemInfo output)
pure ()
where

View File

@@ -428,3 +428,37 @@ ghcupDownloads:
dlUri: https://downloads.haskell.org/~ghc/9.4.1-rc1/ghc-9.4.0.20220721-aarch64-apple-darwin.tar.xz
dlSubdir: ghc-9.4.0.20220721-aarch64-apple-darwin
dlHash: cca7bfbb7a8d4884314d8c033d4f9a96a9be5f399db276b796ad8cbb2deba6bd
Stack:
2.9.2.1:
viTags:
- Prerelease
viChangeLog: https://github.com/commercialhaskell/stack/blob/rc/v2.9/ChangeLog.md#v2921-release-candidate
viArch:
A_64:
Linux_UnknownLinux:
unknown_versioning: &stack-2921-64
dlUri: https://github.com/commercialhaskell/stack/releases/download/rc/v2.9.2.1/stack-2.9.2.1-linux-x86_64-static.tar.gz
dlHash: 65b9d1c41f9e1537567722329d8f6d066ddb82d8789f5a25a04b4b4da89f2616
dlSubdir:
RegexDir: "stack-.*"
Darwin:
unknown_versioning:
dlUri: https://github.com/commercialhaskell/stack/releases/download/rc/v2.9.2.1/stack-2.9.2.1-osx-x86_64.tar.gz
dlHash: 13e86f181a959d2eac118f2a7f287227a7238c91b648ee30523ff300c2d5b1bb
dlSubdir:
RegexDir: "stack-.*"
Windows:
unknown_versioning:
dlUri: https://github.com/commercialhaskell/stack/releases/download/rc/v2.9.2.1/stack-2.9.2.1-windows-x86_64.tar.gz
dlHash: cd7f2bde0d4dcd5e7f0d75cf082b7a0fdc0347c5bc9006f67cd8635889c473a8
dlSubdir:
RegexDir: "stack-.*"
Linux_Alpine:
unknown_versioning: *stack-2921-64
A_ARM64:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://github.com/commercialhaskell/stack/releases/download/rc/v2.9.2.1/stack-2.9.2.1-linux-aarch64.tar.gz
dlHash: 6e9f646ecd04892cf7edda11ff989abd885e29d05ad9f88d19e22afeb6e14275
dlSubdir:
RegexDir: "stack-.*"

View File

@@ -516,5 +516,97 @@
"9.2.2"
]
}
},
"1.8.0.0": {
"A_64": {
"Darwin": [
"8.6.5",
"8.8.4",
"8.10.7",
"9.0.2",
"9.2.3",
"9.2.4",
"9.4.1",
"9.4.2"
],
"Linux_CentOS": [
"8.6.5",
"8.8.4",
"8.10.7",
"9.0.2",
"9.2.3",
"9.2.4",
"9.4.1",
"9.4.2"
],
"Linux_Debian": [
"8.6.5",
"8.8.4",
"8.10.7",
"9.0.2",
"9.2.3",
"9.2.4",
"9.4.1",
"9.4.2"
],
"Linux_Fedora": [
"8.6.5",
"8.8.4",
"8.10.7",
"9.0.2",
"9.2.3",
"9.2.4",
"9.4.1",
"9.4.2"
],
"Linux_Mint": [
"8.6.5",
"8.8.4",
"8.10.7",
"9.0.2",
"9.2.3",
"9.2.4",
"9.4.1",
"9.4.2"
],
"Linux_Ubuntu": [
"8.6.5",
"8.8.4",
"8.10.7",
"9.0.2",
"9.2.3",
"9.2.4",
"9.4.1",
"9.4.2"
],
"Linux_UnknownLinux": [
"8.6.5",
"8.8.4",
"8.10.7",
"9.0.2",
"9.2.3",
"9.2.4",
"9.4.1",
"9.4.2"
],
"Windows": [
"8.10.7",
"9.0.2",
"9.2.3",
"9.2.4",
"9.4.1",
"9.4.2"
]
},
"A_ARM64": {
"Darwin": [
"8.10.7",
"9.0.2",
"9.2.3",
"9.2.4",
"9.4.1",
"9.4.2"
]
}
}
}

Binary file not shown.