Compare commits

..

17 Commits

7 changed files with 544 additions and 45 deletions

View File

@@ -3,6 +3,10 @@ defaults:
run:
shell: bash
on:
pull_request:
types: [opened]
issue_comment:
types: [created]
workflow_dispatch:
inputs:
tool:
@@ -57,7 +61,7 @@ jobs:
- image: archlinux:latest
installCmd: pacman -Syu --noconfirm
toolRequirements: which gcc gmp libffi make ncurses perl tar xz
- image: fedora:latest
- 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
@@ -73,9 +77,73 @@ jobs:
shell: sh
run: |
${{ matrix.installCmd }} curl bash git ${{ matrix.toolRequirements }}
- uses: actions/checkout@v3
- name: Install ghcup and bindist for ${{ github.event.inputs.tool }} ${{ github.event.inputs.version }}
run: .github/workflows/install-bindist.sh
- 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:
@@ -87,6 +155,105 @@ jobs:
- windows-latest
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- name: Install ghcup and bindist for ${{ github.event.inputs.tool }} ${{ github.event.inputs.version }}
run: .github/workflows/install-bindist.sh
- 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

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash
set -x
set -eo pipefail
export GHCUP_INSTALL_BASE_PREFIX=$RUNNER_TEMP/foobarbaz
@@ -10,8 +11,16 @@ 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

View File

@@ -153,7 +153,7 @@ toolRequirements:
unknown_versioning:
distroPKGs: []
notes: On Windows, msys2 should already have been set up during the installation,
so most users should just press ENTER.
so most users should just proceed.
If you are installing manually, make sure to have a working mingw64 toolchain and
shell.
ghcupDownloads:
@@ -448,7 +448,8 @@ ghcupDownloads:
dlHash: d057b5c833596dbe4ae5d0dc2994f6cc5d0f4c2a21ea1d7900821d165fd4e846
'( >= 16 && < 19 )': *ghc-842-64-deb9
Linux_Mint:
unknown_versioning: *ghc-842-64-fedora
'< 20': *ghc-842-64-deb9
'>= 20': *ghc-842-64-fedora
Linux_Fedora:
unknown_versioning: *ghc-842-64-fedora
Linux_UnknownLinux:
@@ -508,7 +509,8 @@ ghcupDownloads:
dlHash: 269e7a4d3f336491b88409a020998122b30a3a729af78d33be86d3b3f8000c3e
'( >= 16 && < 19 )': *ghc-843-64-deb9
Linux_Mint:
unknown_versioning: *ghc-843-64-fedora
'< 20': *ghc-843-64-deb9
'>= 20': *ghc-843-64-fedora
Linux_Fedora:
unknown_versioning: *ghc-843-64-fedora
Linux_UnknownLinux:
@@ -562,7 +564,8 @@ ghcupDownloads:
dlHash: 8ab2befddc14d1434d0aad0c5d3c7e0c2b78ff84caa3429fa62527bfc6b86095
'( >= 16 && < 19 )': *ghc-844-64-deb9
Linux_Mint:
unknown_versioning: *ghc-844-64-fedora
'< 20': *ghc-844-64-deb9
'>= 20': *ghc-844-64-fedora
Linux_Fedora:
unknown_versioning: *ghc-844-64-fedora
Linux_CentOS:
@@ -641,7 +644,8 @@ ghcupDownloads:
dlHash: da903fbcf11ee6c977a8b7dac3f04dbc098d674def587880b6624b8f32588beb
'( >= 16 && < 19 )': *ghc-861-64-deb9
Linux_Mint:
unknown_versioning: *ghc-861-64-fedora
'< 20': *ghc-861-64-deb9
'>= 20': *ghc-861-64-fedora
Linux_Fedora:
unknown_versioning: *ghc-861-64-fedora
Linux_UnknownLinux:
@@ -697,7 +701,8 @@ ghcupDownloads:
dlHash: 702aa5dfa1639c37953ceb7571a5057d9fb0562aecb197b277953a037d78047d
'( >= 16 && < 19 )': *ghc-862-64-deb8
Linux_Mint:
unknown_versioning: *ghc-862-64-fedora
'< 20': *ghc-862-64-deb8
'>= 20': *ghc-862-64-fedora
Linux_Fedora:
unknown_versioning: *ghc-862-64-fedora
Linux_UnknownLinux:
@@ -752,7 +757,8 @@ ghcupDownloads:
dlHash: 52ae92f4e8bb2ac0b7847287ea3da37081f5f7bf8bbb7c78ac35fde537d1a89f
'( >= 16 && < 19 )': *ghc-863-64-deb9
Linux_Mint:
unknown_versioning: *ghc-863-64-fedora
'< 20': *ghc-863-64-deb9
'>= 20': *ghc-863-64-fedora
Linux_Fedora:
unknown_versioning: *ghc-863-64-fedora
Linux_CentOS:
@@ -821,7 +827,8 @@ ghcupDownloads:
dlHash: e0b1ada7a679d6c35f9d7a1192ed35fde054f3650bb0bd2570d103729ad3b846
'( >= 16 && < 19 )': *ghc-864-64-deb9
Linux_Mint:
unknown_versioning: *ghc-864-64-fedora
'< 20': *ghc-864-64-deb9
'>= 20': *ghc-864-64-fedora
Linux_Fedora:
unknown_versioning: *ghc-864-64-fedora
Linux_UnknownLinux:
@@ -875,7 +882,8 @@ ghcupDownloads:
dlHash: cf78b53eaf336083e7a05f4a3000afbae4abe5bbc77ef80cc40e09d04ac5b4a1
'( >= 16 && < 19 )': *ghc-865-64-deb9
Linux_Mint:
unknown_versioning: *ghc-865-64-fedora
'< 20': *ghc-865-64-deb9
'>= 20': *ghc-865-64-fedora
Linux_Fedora:
unknown_versioning: *ghc-865-64-fedora
Linux_CentOS:
@@ -960,7 +968,8 @@ ghcupDownloads:
dlHash: 851a78df620bc056c34b252c97040d5755e294993fa8afa5429708b5229204d6
'( >= 16 && < 19 )': *ghc-881-64-deb9
Linux_Mint:
unknown_versioning: *ghc-881-64-fedora
'< 20': *ghc-881-64-deb9
'>= 20': *ghc-881-64-fedora
Linux_Fedora:
unknown_versioning: *ghc-881-64-fedora
Linux_CentOS:
@@ -1024,7 +1033,8 @@ ghcupDownloads:
dlHash: dbe2db717b33460f790e155e487d2a31c9b21a9d245f0c9490ad65844c3ea21f
'( >= 16 && < 19 )': *ghc-882-64-deb9
Linux_Mint:
unknown_versioning: *ghc-882-64-fedora
'< 20': *ghc-882-64-deb9
'>= 20': *ghc-882-64-fedora
Linux_Fedora:
unknown_versioning: *ghc-882-64-fedora
Linux_CentOS:
@@ -1088,7 +1098,8 @@ ghcupDownloads:
dlHash: 45ee1de3bfc98cbcc4886b65fc7651ade2d3820aa85eac2dbe9bc7bf91e7c818
'( >= 16 && < 19 )': *ghc-883-64-deb9
Linux_Mint:
unknown_versioning: *ghc-883-64-fedora
'< 20': *ghc-883-64-deb9
'>= 20': *ghc-883-64-fedora
Linux_Fedora:
unknown_versioning: *ghc-883-64-fedora
Linux_CentOS:
@@ -1162,7 +1173,8 @@ ghcupDownloads:
dlHash: f32e37f8aa03e74bad533ae02f62dc27a4521e78199576af490888ba34b515db
'( >= 16 && < 19 )': *ghc-884-64-deb9
Linux_Mint:
unknown_versioning: *ghc-884-64-fedora
'< 20': *ghc-884-64-deb9
'>= 20': *ghc-884-64-fedora
Linux_Fedora:
unknown_versioning: *ghc-884-64-fedora
Linux_CentOS:
@@ -1449,9 +1461,9 @@ ghcupDownloads:
unknown_versioning: *ghc-8103-64-centos
Linux_Alpine:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-alpine3.10-linux-integer-simple.tar.xz
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/ghc/curated/8.10.3/ghc-8.10.3-x86_64-alpine3.10-linux-integer-simple.tar.xz
dlSubdir: ghc-8.10.3-x86_64-unknown-linux
dlHash: 8506c478ebbfb5441c3c36c07c36fc8532cacb2b3e13c6733bd44cb17b3ce96c
dlHash: 94aa382fe04f25d2c315814381aceb7755e84675b2f7c8ce69a0faa36947203c
Linux_AmazonLinux:
unknown_versioning: *ghc-8103-64-centos
Linux_UnknownLinux:
@@ -2366,7 +2378,6 @@ ghcupDownloads:
dlHash: 56a03022703e4305020a267105bd5ebfb1bcb8e7eed33261b3987f79445bcc3a
9.2.4:
viTags:
- Recommended
- base-4.16.3.0
viChangeLog: https://downloads.haskell.org/~ghc/9.2.4/docs/html/users_guide/index.html
viSourceDL:
@@ -2452,6 +2463,94 @@ ghcupDownloads:
dlUri: https://downloads.haskell.org/~ghc/9.2.4/ghc-9.2.4-aarch64-apple-darwin.tar.xz
dlSubdir: ghc-9.2.4-aarch64-apple-darwin
dlHash: 8cf8408544a1a43adf1bbbb0dd6b074efadffc68bfa1a792947c52e825171224
9.2.5:
viTags:
- Recommended
- base-4.16.4.0
viChangeLog: https://downloads.haskell.org/~ghc/9.2.5/docs/html/users_guide/index.html
viSourceDL:
dlUri: https://downloads.haskell.org/~ghc/9.2.5/ghc-9.2.5-src.tar.xz
dlSubdir: ghc-9.2.5
dlHash: 0606797d1b38e2d88ee2243f38ec6b9a1aa93e9b578e95f0de9a9c0a4144021c
viPostRemove: *ghc-post-remove
viArch:
A_64:
Linux_Debian:
'< 10': &ghc-925-64-deb9
dlUri: https://downloads.haskell.org/~ghc/9.2.5/ghc-9.2.5-x86_64-deb9-linux.tar.xz
dlSubdir: ghc-9.2.5
dlHash: 2d115b7258751f0e4481e35b5953ca3c7870e8ec9ce68f1d32fc014ddc29b2a5
'>= 10': &ghc-925-64-deb10
dlUri: https://downloads.haskell.org/~ghc/9.2.5/ghc-9.2.5-x86_64-deb10-linux.tar.xz
dlSubdir: ghc-9.2.5
dlHash: 89f2df47d86a45593d6ba3fd3a44b627d100588cd59be257570dbe3f92b17c48
unknown_versioning: *ghc-925-64-deb10
Linux_Ubuntu:
unknown_versioning: &ghc-925-64-fedora
dlUri: https://downloads.haskell.org/~ghc/9.2.5/ghc-9.2.5-x86_64-fedora27-linux.tar.xz
dlSubdir: ghc-9.2.5
dlHash: 5bf47d6eb9332d76098669623668836d8e44c7d67c1bc0a954332e8385735fe7
'( >= 16 && < 19 )': *ghc-925-64-deb9
Linux_Mint:
'< 20': *ghc-925-64-deb9
'>= 20': *ghc-925-64-fedora
Linux_Fedora:
'( >= 27 && < 28 )': *ghc-925-64-fedora
unknown_versioning: *ghc-925-64-fedora
Linux_CentOS:
'( >= 7 && < 8 )': &ghc-925-64-centos
dlUri: https://downloads.haskell.org/~ghc/9.2.5/ghc-9.2.5-x86_64-centos7-linux.tar.xz
dlSubdir: ghc-9.2.5
dlHash: 07c02710ac691a15c4b62e097b98862179fef21fb0bd3bd1e737eaed5831d2fa
unknown_versioning: *ghc-925-64-centos
Linux_RedHat:
unknown_versioning: *ghc-925-64-centos
Linux_UnknownLinux:
unknown_versioning: *ghc-925-64-fedora
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghc/9.2.5/ghc-9.2.5-x86_64-apple-darwin.tar.xz
dlSubdir: ghc-9.2.5-x86_64-apple-darwin
dlHash: 6c46f5003f29d09802d572a7c5fabf6c1f91714a474967a5415b15df77fdcd90
FreeBSD:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghc/9.2.5/ghc-9.2.5-x86_64-portbld-freebsd.tar.xz
dlSubdir: ghc-9.2.5
dlHash: add95df67d743f65737237afa2c6589b2d2e1192771ee5082ce84b9716ef29da
Windows:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghc/9.2.5/ghc-9.2.5-x86_64-unknown-mingw32.tar.xz
dlSubdir: ghc-9.2.5-x86_64-unknown-mingw32
dlHash: a6815804606ef2d99250078d5c1315b74bb5718d8f15a629f211bcd37bad07c3
Linux_Alpine:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghc/9.2.5/ghc-9.2.5-x86_64-alpine3.12-linux-gmp.tar.xz
dlSubdir: ghc-9.2.5-x86_64-unknown-linux
dlHash: ef35f3b68abcde11ebeb2e1d42e48b2c1d189e27d951abdda678bb0492fae2b8
A_32:
Linux_Debian:
'< 10': &ghc-925-32-deb9
dlUri: https://downloads.haskell.org/~ghc/9.2.5/ghc-9.2.5-i386-deb9-linux.tar.xz
dlSubdir: ghc-9.2.5
dlHash: cf2088010e4477cb84b26725107eeb23e878368074abcf04f089d498ca2d9ddf
unknown_versioning: *ghc-925-32-deb9
Linux_Ubuntu:
unknown_versioning: *ghc-925-32-deb9
Linux_Mint:
unknown_versioning: *ghc-925-32-deb9
Linux_UnknownLinux:
unknown_versioning: *ghc-925-32-deb9
A_ARM64:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghc/9.2.5/ghc-9.2.5-aarch64-deb10-linux.tar.xz
dlSubdir: ghc-9.2.5
dlHash: 29c0735ada90cdbf7e4a227dee08f18d74e33ec05d7c681e4ef95b8aa13104b3
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghc/9.2.5/ghc-9.2.5-aarch64-apple-darwin.tar.xz
dlSubdir: ghc-9.2.5-aarch64-apple-darwin
dlHash: b060ad093e0d86573e01b3d1fd622d4892f8d8925cbb7d75a67a01d2a4f27f18
9.4.1:
viTags:
- base-4.17.0.0
@@ -2484,18 +2583,18 @@ ghcupDownloads:
Linux_Mint:
'< 20': *ghc-941-64-deb9
'>= 20': *ghc-941-64-deb10
Linux_Fedora:
'( >= 33 && < 34 )': &ghc-941-64-fedora
dlUri: https://downloads.haskell.org/~ghc/9.4.1/ghc-9.4.1-x86_64-fedora33-linux.tar.xz
dlSubdir: ghc-9.4.1-x86_64-unknown-linux
dlHash: efe05368d6367ce9109c7607a0945d85273cc95a730dd17f23d8ae79ee3524ea
unknown_versioning: *ghc-941-64-fedora
Linux_CentOS:
'( >= 7 && < 8 )': &ghc-941-64-centos
dlUri: https://downloads.haskell.org/~ghc/9.4.1/ghc-9.4.1-x86_64-centos7-linux.tar.xz
dlSubdir: ghc-9.4.1-x86_64-unknown-linux
dlHash: 2ac415621849c32a400d69af059a3bb1cfa852c1427be6733540f0f7ad2a7470
unknown_versioning: *ghc-941-64-centos
Linux_Fedora:
'>= 33': &ghc-941-64-fedora
dlUri: https://downloads.haskell.org/~ghc/9.4.1/ghc-9.4.1-x86_64-fedora33-linux.tar.xz
dlSubdir: ghc-9.4.1-x86_64-unknown-linux
dlHash: efe05368d6367ce9109c7607a0945d85273cc95a730dd17f23d8ae79ee3524ea
unknown_versioning: *ghc-941-64-centos
Linux_RedHat:
unknown_versioning: *ghc-941-64-centos
Linux_UnknownLinux:
@@ -2541,7 +2640,6 @@ ghcupDownloads:
dlHash: a3ad3eb3a1f60a544ba7e79d53f081646ffdb257b497ccbdb896870f4009b11c
9.4.2:
viTags:
- Latest
- base-4.17.0.0
viChangeLog: https://downloads.haskell.org/~ghc/9.4.2/docs/users_guide/9.4.2-notes.html
viSourceDL:
@@ -2571,18 +2669,18 @@ ghcupDownloads:
Linux_Mint:
'< 20': *ghc-942-64-deb9
'>= 20': *ghc-942-64-deb10
Linux_Fedora:
'( >= 33 && < 34 )': &ghc-942-64-fedora
dlUri: https://downloads.haskell.org/~ghc/9.4.2/ghc-9.4.2-x86_64-fedora33-linux.tar.xz
dlSubdir: ghc-9.4.2-x86_64-unknown-linux
dlHash: 017bbf5ba0d526ec82ac97a2ea2a177f162424ea970cd5d6279b843b3d799668
unknown_versioning: *ghc-942-64-fedora
Linux_CentOS:
'( >= 7 && < 8 )': &ghc-942-64-centos
dlUri: https://downloads.haskell.org/~ghc/9.4.2/ghc-9.4.2-x86_64-centos7-linux.tar.xz
dlSubdir: ghc-9.4.2-x86_64-unknown-linux
dlHash: c88c1a4abe379478b70d2182533f35547c5e266048460b532b47f4f9df68d1da
unknown_versioning: *ghc-942-64-centos
Linux_Fedora:
'>= 33': &ghc-942-64-fedora
dlUri: https://downloads.haskell.org/~ghc/9.4.2/ghc-9.4.2-x86_64-fedora33-linux.tar.xz
dlSubdir: ghc-9.4.2-x86_64-unknown-linux
dlHash: 017bbf5ba0d526ec82ac97a2ea2a177f162424ea970cd5d6279b843b3d799668
unknown_versioning: *ghc-942-64-centos
Linux_RedHat:
unknown_versioning: *ghc-942-64-centos
Linux_UnknownLinux:
@@ -2626,6 +2724,93 @@ ghcupDownloads:
dlUri: https://downloads.haskell.org/~ghc/9.4.2/ghc-9.4.2-aarch64-apple-darwin.tar.xz
dlSubdir: ghc-9.4.2-aarch64-apple-darwin
dlHash: 3f38808ac6b47631487b37535b6792d6594f5e2fbb5204bb9573ed528748e736
9.4.3:
viTags:
- Latest
- base-4.17.0.0
viChangeLog: https://downloads.haskell.org/~ghc/9.4.3/docs/users_guide/9.4.3-notes.html
viSourceDL:
dlUri: https://downloads.haskell.org/~ghc/9.4.3/ghc-9.4.3-src.tar.xz
dlSubdir: ghc-9.4.3
dlHash: eaf63949536ede50ee39179f2299d5094eb9152d87cc6fb2175006bc98e8905a
viPostRemove: *ghc-post-remove
viArch:
A_64:
Linux_Debian:
'< 10': &ghc-943-64-deb9
dlUri: https://downloads.haskell.org/~ghc/9.4.3/ghc-9.4.3-x86_64-deb9-linux.tar.xz
dlSubdir: ghc-9.4.3-x86_64-unknown-linux
dlHash: 5419f7df67087646a663d1e16910301287dca027e815f28b532840dc1b8fc4fa
'(>= 10 && < 11)': &ghc-943-64-deb10
dlUri: https://downloads.haskell.org/~ghc/9.4.3/ghc-9.4.3-x86_64-deb10-linux.tar.xz
dlSubdir: ghc-9.4.3-x86_64-unknown-linux
dlHash: 940ac2b1770dc63b5f3f38f829bfe69f4a572d6b26cd93094cdd99d5300b5067
'>= 11': &ghc-943-64-deb11
dlUri: https://downloads.haskell.org/~ghc/9.4.3/ghc-9.4.3-x86_64-deb11-linux.tar.xz
dlSubdir: ghc-9.4.3-x86_64-unknown-linux
dlHash: d08376b15cd90b15b3aa3db902e615b4b0d781ef6598abd89527433bb0f44786
unknown_versioning: *ghc-943-64-deb11
Linux_Ubuntu:
unknown_versioning: *ghc-943-64-deb10
'( >= 16 && < 19 )': *ghc-943-64-deb9
Linux_Mint:
'< 20': *ghc-943-64-deb9
'>= 20': *ghc-943-64-deb10
Linux_CentOS:
'( >= 7 && < 8 )': &ghc-943-64-centos
dlUri: https://downloads.haskell.org/~ghc/9.4.3/ghc-9.4.3-x86_64-centos7-linux.tar.xz
dlSubdir: ghc-9.4.3-x86_64-unknown-linux
dlHash: 4cdc8f666e48aceeadf40affcff1a74002d879d58eb743a45e67cd163968eae0
unknown_versioning: *ghc-943-64-centos
Linux_Fedora:
'>= 33': &ghc-943-64-fedora
dlUri: https://downloads.haskell.org/~ghc/9.4.3/ghc-9.4.3-x86_64-fedora33-linux.tar.xz
dlSubdir: ghc-9.4.3-x86_64-unknown-linux
dlHash: 50037bc8672f0429e2de1255b21f04529807182cf74887a60e4d416d3b6ce8f2
unknown_versioning: *ghc-943-64-centos
Linux_RedHat:
unknown_versioning: *ghc-943-64-centos
Linux_UnknownLinux:
unknown_versioning: *ghc-943-64-fedora
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghc/9.4.3/ghc-9.4.3-x86_64-apple-darwin.tar.xz
dlSubdir: ghc-9.4.3-x86_64-apple-darwin
dlHash: 501d264f2f73faa63b4e6d9569dc7d12ad97af11827c7b55d346cc6795ff5e04
Windows:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghc/9.4.3/ghc-9.4.3-x86_64-unknown-mingw32.tar.xz
dlSubdir: ghc-9.4.3-x86_64-unknown-mingw32
dlHash: a1169919303518f598d53670c1155b2bfec9e1147e8c42bfb8b64b91207bee55
Linux_Alpine:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghc/9.4.3/ghc-9.4.3-x86_64-alpine3_12-linux-static-int_native.tar.xz
dlSubdir: ghc-9.4.3-x86_64-unknown-linux
dlHash: 4a2869fce0606884458f92a67655dd917c00e93a7230bbb4a8bbd28b994d875e
A_32:
Linux_Debian:
'< 10': &ghc-943-32-deb9
dlUri: https://downloads.haskell.org/~ghc/9.4.3/ghc-9.4.3-i386-deb9-linux.tar.xz
dlSubdir: ghc-9.4.3-i386-unknown-linux
dlHash: f7140655a50672f33c9b09880f5159f5eaa77e7e9330aa80996ab63712480e83
unknown_versioning: *ghc-943-32-deb9
Linux_Ubuntu:
unknown_versioning: *ghc-943-32-deb9
Linux_Mint:
unknown_versioning: *ghc-943-32-deb9
Linux_UnknownLinux:
unknown_versioning: *ghc-943-32-deb9
A_ARM64:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghc/9.4.3/ghc-9.4.3-aarch64-deb10-linux.tar.xz
dlSubdir: ghc-9.4.3-aarch64-unknown-linux
dlHash: 9694131b02f938e72e1740b772ff1c1c81a36ef44233dc230bbd978e7dd08e71
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghc/9.4.3/ghc-9.4.3-aarch64-apple-darwin.tar.xz
dlSubdir: ghc-9.4.3-aarch64-apple-darwin
dlHash: 531c0a4708655bc8707ba88b8a72d34b5958fddc519a12359613f6db62f0eb82
Cabal:
2.4.1.0:
viTags:
@@ -3396,22 +3581,22 @@ ghcupDownloads:
dlHash: 63ee164e83ac76d440e0c0e777e9c7604dddff498fa53368132326d03da1817f
unknown_versioning: *hls-180-64-deb9
Linux_Ubuntu:
unknown_versioning:
unknown_versioning: &hls-180-64-ubuntu20
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/haskell-language-server/1.8.0.0/haskell-language-server-1.8.0.0-x86_64-linux-ubuntu20.04.tar.xz
dlSubdir: haskell-language-server-1.8.0.0
dlHash: f431add1ca5881d04caef9d2cf834248d8b4c36c7884221e39152c1aecd1ce56
'( >= 16 && < 19 )':
'( >= 16 && < 19 )': &hls-180-64-ubuntu18
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/haskell-language-server/1.8.0.0/haskell-language-server-1.8.0.0-x86_64-linux-ubuntu18.04.tar.xz
dlSubdir: haskell-language-server-1.8.0.0
dlHash: 46e6c9309cfdf56746e659992ef1de9846b9abae9156bd96d51bc7e631074e2b
Linux_Mint:
'< 20': *hls-180-64-deb9
'>= 20': &hls-180-64-fedora
'< 20': *hls-180-64-ubuntu18
'>= 20': *hls-180-64-ubuntu20
Linux_Fedora:
'( >= 27 && < 34 )': &hls-180-64-fedora
dlUri: https://downloads.haskell.org/~hls/haskell-language-server-1.8.0.0/haskell-language-server-1.8.0.0-x86_64-linux-fedora33.tar.xz
dlSubdir: haskell-language-server-1.8.0.0
dlHash: a26c8225261bbd204014eb3df18b58b45a43594b8011910f3c5f560bc7171d33
Linux_Fedora:
'( >= 27 && < 34 )': *hls-180-64-fedora
unknown_versioning: *hls-180-64-fedora
Linux_CentOS:
'( >= 7 && < 8 )': &hls-180-64-centos
@@ -3615,7 +3800,6 @@ ghcupDownloads:
2.9.1:
viTags:
- Recommended
- Latest
viChangeLog: https://github.com/commercialhaskell/stack/blob/master/ChangeLog.md#v291
viPostInstall: *stack-post
viArch:
@@ -3661,3 +3845,48 @@ ghcupDownloads:
unknown_versioning:
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/stack/2.9.1/stack-2.9.1-linux-armv7.tar.gz
dlHash: fa53c58d8d00a6d49ec26624aa7f817f5ece3c4df339fa6e4fccf1038b7f1fa5
2.9.3:
viTags:
- Latest
viChangeLog: https://github.com/commercialhaskell/stack/blob/master/ChangeLog.md#v293
viPostInstall: *stack-post
viArch:
A_64:
Linux_UnknownLinux:
unknown_versioning: &stack-293-64
dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.9.3/stack-2.9.3-linux-x86_64-static.tar.gz
dlHash: b1cc32d772456b6ee7aefdd606c25c341670400cec577f8966365f962f883ec5
dlSubdir:
RegexDir: "stack-.*"
Darwin:
unknown_versioning:
dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.9.3/stack-2.9.3-osx-x86_64.tar.gz
dlHash: 34b74a0e764cd7363255005158984be11faa392871acc6b5af3238ac444a2806
dlSubdir:
RegexDir: "stack-.*"
Windows:
unknown_versioning:
dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.9.3/stack-2.9.3-windows-x86_64.tar.gz
dlHash: 816be0ce817f74c18074b1a496b4ac9ea0b22b7745d9a7bf77c19161e251e8ad
dlSubdir:
RegexDir: "stack-.*"
Linux_Alpine:
unknown_versioning: *stack-293-64
A_32:
Linux_UnknownLinux:
unknown_versioning: &stack-293-32
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/stack/2.9.3/stack-2.9.3-linux-i386.tar.gz
dlHash: 89f7237a326f0644319289ff86320a99c1c0c631cb0a12667a4f22f10cc1cec7
Linux_Alpine:
unknown_versioning: *stack-293-32
A_ARM64:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.9.3/stack-2.9.3-linux-aarch64.tar.gz
dlHash: 161e1638da9efc56319f7225b3652ca3f339bcda9eadc7d6ce512f325b0f014a
dlSubdir:
RegexDir: "stack-.*"
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/stack/2.9.3/stack-2.9.3-osx-aarch64.tar.gz
dlHash: a56d2cd37611eccf00ab8df38c3718923cf5677f3aeacd250394e79b676dcb98

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-.*"