From f44fdea82b76de69880face81e3544273efca064 Mon Sep 17 00:00:00 2001 From: Javier Neira Date: Wed, 23 Jun 2021 22:44:42 +0200 Subject: [PATCH 1/6] Add windows to ghcup artifacts --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 423f51785e..e76e4570fd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -167,7 +167,7 @@ jobs: runs-on: ubuntu-18.04 strategy: matrix: - os: [Linux, macOS] + os: [Linux, macOS, Windows] steps: - uses: actions/download-artifact@v2 From 77f00f4f6a7eb3e3b948a2f56c0020b436cf8093 Mon Sep 17 00:00:00 2001 From: jneira Date: Thu, 24 Jun 2021 15:03:34 +0200 Subject: [PATCH 2/6] Add 7z compress --- .github/workflows/build.yml | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e76e4570fd..3333ce8f03 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -56,6 +56,7 @@ jobs: GHC_VER: ${{ matrix.ghc }} run: | echo "EXE_EXT=.exe" >> $GITHUB_ENV + # We normalize windows+choco ghc version 8.10.2.2 GHC_VER=$(echo $GHC_VER | sed 's/8.10.2.2/8.10.2/g') echo "GHC_VERSION=$GHC_VER" >> $GITHUB_ENV @@ -74,7 +75,7 @@ jobs: run: | echo "GHC_VERSION=$GHC_VER" >> $GITHUB_ENV - - name: Tentative Workaround for GHC 8.10.5 on macOS + - name: Workaround for GHC 8.10.5 on macOS if: matrix.os == 'macOS-latest' && matrix.ghc == '8.10.5' run: | echo "# uninstalling CommandLineTools (see https://github.com/haskell/haskell-language-server/issues/1913#issuecomment-861667786)" @@ -89,7 +90,6 @@ jobs: - name: Compress Server Binary id: compress_server_binary run: | - # We normalize windows+choco ghc version 8.10.2.2 HLS_BUILD=$(find dist-newstyle \( -name 'hls' -o -name 'hls.exe' \) -type f) HLS=haskell-language-server-${{env.GHC_VERSION}} mv $HLS_BUILD $HLS${{env.EXE_EXT}} @@ -173,12 +173,21 @@ jobs: - run: | # move the binaries for the specific platform into bin/ + COMPRESSEXT=gz + if [[ "$OSTYPE" == "msys" ]]; then + COMPRESSEXT=zip + fi mkdir bin - mv haskell-language-server-${{ matrix.os }}-*.gz/haskell-language-server-*.gz bin - mv haskell-language-server-wrapper-${{ matrix.os }}.gz/haskell-language-server-wrapper.gz bin + mv haskell-language-server-${{ matrix.os }}-*.$COMPRESSEXT/haskell-language-server-*.$COMPRESSEXT bin + mv haskell-language-server-wrapper-${{ matrix.os }}.$COMPRESSEXT/haskell-language-server-wrapper.$COMPRESSEXT bin # decompress them - gzip -d bin/*.gz cd bin + if [[ "$OSTYPE" == "msys" ]]; then + 7z x "*.zip" + rm *.zip + else + gzip -d *.gz + fi tar -czpf haskell-language-server.tar.gz * - uses: actions/upload-release-asset@v1.0.2 From 20482374418aa71e525ea547acf21b9303ce96df Mon Sep 17 00:00:00 2001 From: jneira Date: Sun, 27 Jun 2021 13:41:06 +0200 Subject: [PATCH 3/6] Make move generic per os --- .github/workflows/build.yml | 8 ++------ .github/workflows/hackage.yml | 0 2 files changed, 2 insertions(+), 6 deletions(-) create mode 100644 .github/workflows/hackage.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3333ce8f03..376f9b8479 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -173,13 +173,9 @@ jobs: - run: | # move the binaries for the specific platform into bin/ - COMPRESSEXT=gz - if [[ "$OSTYPE" == "msys" ]]; then - COMPRESSEXT=zip - fi mkdir bin - mv haskell-language-server-${{ matrix.os }}-*.$COMPRESSEXT/haskell-language-server-*.$COMPRESSEXT bin - mv haskell-language-server-wrapper-${{ matrix.os }}.$COMPRESSEXT/haskell-language-server-wrapper.$COMPRESSEXT bin + mv haskell-language-server-${{ matrix.os }}-*/* bin + mv haskell-language-server-wrapper-${{ matrix.os }}.*/* bin # decompress them cd bin if [[ "$OSTYPE" == "msys" ]]; then diff --git a/.github/workflows/hackage.yml b/.github/workflows/hackage.yml new file mode 100644 index 0000000000..e69de29bb2 From 479c39a89840a7b66fe72601271088e74e3f42aa Mon Sep 17 00:00:00 2001 From: jneira Date: Sun, 27 Jun 2021 16:45:49 +0200 Subject: [PATCH 4/6] Generate sha256 sums --- .github/workflows/build.yml | 21 ++++++++++++++++++++- .github/workflows/hackage.yml | 0 2 files changed, 20 insertions(+), 1 deletion(-) delete mode 100644 .github/workflows/hackage.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 376f9b8479..f31b72f9aa 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -178,7 +178,7 @@ jobs: mv haskell-language-server-wrapper-${{ matrix.os }}.*/* bin # decompress them cd bin - if [[ "$OSTYPE" == "msys" ]]; then + if [[ "${{ matrix.os }}" == "Windows" ]]; then 7z x "*.zip" rm *.zip else @@ -194,3 +194,22 @@ jobs: asset_path: bin/haskell-language-server.tar.gz asset_name: haskell-language-server-${{ matrix.os }}-${{ github.event.release.tag_name }}.tar.gz asset_content_type: application/gzip + + sha256sum: + needs: tar + runs-on: ubuntu-18.04 + steps: + - uses: actions/download-artifact@v2 + + - run: | + # generate sha256 sums for all current artifacts + sha256sum --tag haskell-language-server*/* >> SHA256SUMS + + - uses: actions/upload-release-asset@v1.0.2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ github.event.release.upload_url }} + asset_path: SHA256SUMS + asset_name: SHA256SUMS + asset_content_type: plain/text diff --git a/.github/workflows/hackage.yml b/.github/workflows/hackage.yml deleted file mode 100644 index e69de29bb2..0000000000 From 4cf0b35fbe81a5bead3ccd3a6a1d7722db7ab6bf Mon Sep 17 00:00:00 2001 From: jneira Date: Sun, 27 Jun 2021 23:31:58 +0200 Subject: [PATCH 5/6] Include .tar.gz and sums in artefacts --- .github/workflows/build.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f31b72f9aa..05a2f4a8e9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -195,6 +195,11 @@ jobs: asset_name: haskell-language-server-${{ matrix.os }}-${{ github.event.release.tag_name }}.tar.gz asset_content_type: application/gzip + - uses: actions/upload-artifact@v2 + with: + name: haskell-language-server-${{ matrix.os }}-${{ github.event.release.tag_name }}.tar.gz + path: bin/haskell-language-server.tar.gz + sha256sum: needs: tar runs-on: ubuntu-18.04 @@ -213,3 +218,8 @@ jobs: asset_path: SHA256SUMS asset_name: SHA256SUMS asset_content_type: plain/text + + - uses: actions/upload-artifact@v2 + with: + name: SHA256SUMS + path: SHA256SUMS From 4da129b54e05e4faa117b4c0f014c772141fbd48 Mon Sep 17 00:00:00 2001 From: jneira Date: Mon, 28 Jun 2021 23:19:47 +0200 Subject: [PATCH 6/6] Clean up sha256sums tags --- .github/workflows/build.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 05a2f4a8e9..c9d2845ef9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -209,6 +209,8 @@ jobs: - run: | # generate sha256 sums for all current artifacts sha256sum --tag haskell-language-server*/* >> SHA256SUMS + # we clean up tags to match the release file names + sed -i 's/\/.*)/)/g' SHA256SUMS - uses: actions/upload-release-asset@v1.0.2 env: