-
-
Notifications
You must be signed in to change notification settings - Fork 391
[skip circleci] Update release instructions #2384
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
Merged
Merged
Changes from all commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
98336a5
Check the build workflow
jneira b049713
Add gitlab/ghcup specific intructions
jneira 523c355
Merge branch 'master' into update-release-steps
jneira f5275b9
Apply suggestions from @michaelpj
jneira 36eae54
Note where are release artifacts
jneira 1c5b3c6
Merge branch 'master' into update-release-steps
jneira ecfcd3c
Merge branch 'master' into update-release-steps
jneira 773daa9
Merge branch 'master' into update-release-steps
mergify[bot] c5197f0
Merge branch 'master' into update-release-steps
jneira 76a9620
Merge branch 'master' into update-release-steps
jneira File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,6 +7,9 @@ defaults: | |
on: | ||
release: | ||
types: [created] | ||
push: | ||
branches: | ||
- '*-check-build' | ||
|
||
jobs: | ||
build: | ||
|
@@ -30,8 +33,8 @@ jobs: | |
ghc-version: ${{ matrix.ghc }} | ||
cabal-version: '3.4' | ||
|
||
- if: ${{ matrix.ghc == '9.0.1' }} | ||
name: Use modified cabal.project for ghc9 | ||
- name: Use modified cabal.project for ghc9 | ||
if: ${{ matrix.ghc == '9.0.1' }} | ||
run: cp cabal-ghc901.project cabal.project | ||
|
||
- name: Shorten binary names | ||
|
@@ -77,13 +80,13 @@ jobs: | |
echo "package floskell" >> cabal.project | ||
echo " ghc-options: -O0" >> cabal.project | ||
|
||
- name: Build Server | ||
- name: Build server | ||
# Try building it twice in case of flakey builds on Windows | ||
run: | | ||
cabal build exe:hls -O2 $LINUX_CABAL_ARGS || \ | ||
cabal build exe:hls -O2 $LINUX_CABAL_ARGS -j1 | ||
|
||
- name: Compress Server Binary | ||
- name: Compress server binary | ||
id: compress_server_binary | ||
run: | | ||
HLS_BUILD=$(find dist-newstyle \( -name 'hls' -o -name 'hls.exe' \) -type f) | ||
|
@@ -101,7 +104,8 @@ jobs: | |
echo ::set-output name=extension::gz | ||
fi | ||
|
||
- name: Upload Server Binary | ||
- name: Upload server to release | ||
if: ${{ !contains(github.ref_name, 'check') }} | ||
uses: actions/[email protected] | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
|
@@ -111,16 +115,17 @@ jobs: | |
asset_name: haskell-language-server-${{ runner.OS }}-${{ env.GHC_VERSION }}${{env.EXE_EXT}}.${{ steps.compress_server_binary.outputs.extension }} | ||
asset_content_type: ${{ steps.compress_server_binary.outputs.content_type }} | ||
|
||
- uses: actions/upload-artifact@v2 | ||
- name: Upload server to workflow artifacts | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: haskell-language-server-${{ runner.OS }}-${{ matrix.ghc }}${{env.EXE_EXT}}.${{ steps.compress_server_binary.outputs.extension }} | ||
path: ${{ steps.compress_server_binary.outputs.path }} | ||
|
||
- name: Build Wrapper | ||
- name: Build wrapper | ||
if: matrix.ghc == '8.10.7' | ||
run: cabal build exe:hls-wrapper -O2 $LINUX_CABAL_ARGS | ||
|
||
- name: Compress Wrapper Binary | ||
- name: Compress wrapper binary | ||
if: matrix.ghc == '8.10.7' | ||
id: compress_wrapper_binary | ||
run: | | ||
|
@@ -139,8 +144,8 @@ jobs: | |
echo ::set-output name=extension::gz | ||
fi | ||
|
||
- name: Upload Wrapper | ||
if: matrix.ghc == '8.10.7' | ||
- name: Upload wrapper to the release | ||
if: ${{ matrix.ghc == '8.10.7' && !contains(github.ref_name, 'check') }} | ||
uses: actions/[email protected] | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
|
@@ -150,31 +155,34 @@ jobs: | |
asset_name: haskell-language-server-wrapper-${{ runner.OS }}${{env.EXE_EXT}}.${{ steps.compress_wrapper_binary.outputs.extension }} | ||
asset_content_type: ${{ steps.compress_wrapper_binary.outputs.content_type}} | ||
|
||
- uses: actions/upload-artifact@v2 | ||
- name: Upload wrapper to workflow artifacts | ||
uses: actions/upload-artifact@v2 | ||
if: matrix.ghc == '8.10.7' | ||
with: | ||
name: haskell-language-server-wrapper-${{ runner.OS }}${{env.EXE_EXT}}.${{ steps.compress_wrapper_binary.outputs.extension }} | ||
path: ${{ steps.compress_wrapper_binary.outputs.path }} | ||
# generates a custom tarball with sources, used by `ghcup compile hls` | ||
|
||
# generates a custom tarball with sources, used by `ghcup compile hls` | ||
src-tar: | ||
needs: build | ||
runs-on: ubuntu-18.04 | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
submodules: true | ||
- name: "Create source tarball" | ||
|
||
- name: Create source tarball | ||
run: | | ||
mkdir src-dist | ||
git archive --prefix=haskell-language-server-${{ github.event.release.tag_name }}/ \ | ||
--format=tar.gz \ | ||
-o src-dist/haskell-language-server.tar.gz \ | ||
HEAD | ||
|
||
- uses: actions/[email protected] | ||
|
||
- name: Upload source tarball to the release | ||
if: ${{ !contains(github.ref_name, 'check') }} | ||
uses: actions/[email protected] | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
|
@@ -183,11 +191,12 @@ jobs: | |
asset_name: haskell-language-server-${{ github.event.release.tag_name }}-src.tar.gz | ||
asset_content_type: application/gzip | ||
|
||
- uses: actions/upload-artifact@v2 | ||
- name: Upload source tarball to workflow artifacts | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: haskell-language-server-${{ github.event.release.tag_name }}-src.tar.gz | ||
path: src-dist/haskell-language-server.tar.gz | ||
|
||
# this generates .gz tarfiles containing binaries for all GHC versions and OS's | ||
# used by `ghcup install hls` | ||
tar: | ||
|
@@ -199,7 +208,8 @@ jobs: | |
steps: | ||
- uses: actions/download-artifact@v2 | ||
|
||
- run: | | ||
- name: Generate tarball with all binaries | ||
run: | | ||
# move the binaries for the specific platform into bin/ | ||
mkdir bin | ||
mv haskell-language-server-${{ matrix.os }}-*/* bin | ||
|
@@ -214,7 +224,9 @@ jobs: | |
fi | ||
tar -czpf haskell-language-server.tar.gz * | ||
|
||
- uses: actions/[email protected] | ||
- name: Upload binaries tarball to the release | ||
if: ${{ !contains(github.ref_name, 'check') }} | ||
uses: actions/[email protected] | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
|
@@ -223,7 +235,8 @@ 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 | ||
- name: Upload binaries tarball to workflow artifacts | ||
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 | ||
|
@@ -234,13 +247,15 @@ jobs: | |
steps: | ||
- uses: actions/download-artifact@v2 | ||
|
||
- run: | | ||
# generate sha256 sums for all current artifacts | ||
- name: Generate sha256 sums for all workflow artifacts | ||
run: | | ||
sha256sum --tag haskell-language-server*/* >> SHA256SUMS | ||
# we clean up tags to match the release file names | ||
sed -i 's/\/.*)/)/g' SHA256SUMS | ||
|
||
- uses: actions/[email protected] | ||
- name: Upload sha256sums to the release | ||
if: ${{ !contains(github.ref_name, 'check') }} | ||
uses: actions/[email protected] | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
|
@@ -249,7 +264,8 @@ jobs: | |
asset_name: SHA256SUMS | ||
asset_content_type: plain/text | ||
|
||
- uses: actions/upload-artifact@v2 | ||
- name: Upload sha256sums to workflow artifacts | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: SHA256SUMS | ||
path: SHA256SUMS |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
how is this different to the previous verison-bumping step on line 29? should there just be one version-bumping step done before any releasing?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The difference is in the
All are optional but haskell-language-server itself
part. For hackage bump up versions following pvp is mandatory. For the github release you only need to bump up hls itself.At the beginning we did not have the github and hackage release in sync and we only bumped up plugin and package versions in a systematic way for the hackage one. In last releases i bumped up versions before start the release engine.