Skip to content

Commit

Permalink
split windows build and linux/macos build in release action
Browse files Browse the repository at this point in the history
  • Loading branch information
nevrome committed Dec 2, 2022
1 parent 1c1c644 commit 822c82b
Showing 1 changed file with 71 additions and 13 deletions.
84 changes: 71 additions & 13 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,13 @@ jobs:
name: release_url
path: release_url.txt

build_artifact:
build_linux_mac_artifact:
needs: [create_release]
name: ${{ matrix.os }}/GHC ${{ matrix.ghc }}/${{ github.ref }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-18.04, macOS-latest, windows-latest]
os: [ubuntu-18.04, macOS-latest]
cabal: ["3.2"]
ghc: ["8.10.7"]

Expand Down Expand Up @@ -72,17 +72,9 @@ jobs:
mkdir dist
cabal install exe:trident --install-method=copy --overwrite-policy=always --installdir=dist -fembed_data_files
- name: Set extension to .exe on Windows
if: matrix.os == 'windows-latest'
id: ifwin
run: echo "EXT=.exe" >> $GITHUB_OUTPUT

- name: Set binary path name
id: binarypath
run: |
WinExt=${{ steps.ifwin.outputs.EXT }}
echo $WinExt
echo "BINARY_PATH=./dist/trident$WinExt" >> $GITHUB_OUTPUT
run: echo "BINARY_PATH=./dist/trident" >> $GITHUB_OUTPUT

- name: Compress binary
uses: svenstaro/upx-action@v2
Expand All @@ -106,10 +98,76 @@ jobs:
with:
upload_url: ${{ steps.get_release_info.outputs.upload_url }}
asset_path: ${{ steps.binarypath.outputs.BINARY_PATH }}
asset_name: trident-${{ runner.os }}${{ steps.ifwin.outputs.EXT }}
asset_name: trident-${{ runner.os }}
asset_content_type: application/octet-stream

build_windows_artifact:
needs: [create_release]
name: ${{ matrix.os }}/GHC ${{ matrix.ghc }}/${{ github.ref }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [windows-latest]
cabal: ["3.2"]
ghc: ["8.10.7"]

steps:
- name: Check out code
uses: actions/checkout@v2

- name: Set tag name
uses: olegtarasov/get-tag@v2.1
id: tagName
with:
tagRegex: "v(.*)"
tagRegexGroup: 1

- name: Setup Haskell
uses: haskell/actions/setup@v2
id: setup-haskell-cabal
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: ${{ matrix.cabal }}

- name: Freeze
run: |
cabal freeze
- name: Build
run: |
mkdir dist
cabal install exe:trident --install-method=copy --overwrite-policy=always --installdir=dist -fembed_data_files
- name: Set binary path name
id: binarypath
run: echo "BINARY_PATH=./dist/trident.exe" >> $env:GITHUB_OUTPUT

- name: Compress binary
uses: svenstaro/upx-action@v2
with:
file: ${{ steps.binarypath.outputs.BINARY_PATH }}

- name: Load Release URL File from release job
uses: actions/download-artifact@v1
with:
name: release_url

- name: Get Release File Name & Upload URL
id: get_release_info
run: echo "upload_url=$(cat release_url/release_url.txt)" >> $env:GITHUB_OUTPUT

- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.get_release_info.outputs.upload_url }}
asset_path: ${{ steps.binarypath.outputs.BINARY_PATH }}
asset_name: trident-${{ runner.os }}.exe
asset_content_type: application/octet-stream

centos-build-artifact:
build_centos_artifact:
needs: [create_release]
runs-on: ubuntu-latest
steps:
Expand Down

0 comments on commit 822c82b

Please sign in to comment.