Skip to content

completed the release changelog #85

completed the release changelog

completed the release changelog #85

Workflow file for this run

# taken from https://vrom911.github.io/blog/github-actions-releases
name: Release
on:
# Trigger the workflow on the new 'v*' tag created
push:
tags:
- "v*"
jobs:
create_release:
name: Create Github Release
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v3
- name: Create Release
id: create_release
uses: ncipollo/release-action@v1
with:
name: Release ${{ github.ref_name }}
draft: true
build_linux_artifact:
needs: [create_release]
name: ${{ matrix.os }}/GHC ${{ matrix.ghc }}/${{ github.ref_name }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-20.04]
cabal: ["3.6"]
ghc: ["9.2.7"]
steps:
- name: Check out code
uses: actions/checkout@v3
- 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: |
currentEXE="./dist/trident"
newEXE="trident-$RUNNER_OS"
mv $currentEXE $newEXE
echo "BINARY_PATH=$newEXE" >> $GITHUB_OUTPUT
- name: Compress binary
uses: svenstaro/upx-action@v2
with:
files: ${{ steps.binarypath.outputs.BINARY_PATH }}
- name: Upload Release Asset
id: upload-release-asset
uses: ncipollo/release-action@v1
with:
name: Release ${{ github.ref_name }}
draft: true
allowUpdates: true
artifactErrorsFailBuild: true
artifacts: ${{ steps.binarypath.outputs.BINARY_PATH }}
artifactContentType: application/octet-stream
build_mac_artifact:
needs: [create_release]
name: ${{ matrix.os }}/GHC ${{ matrix.ghc }}/${{ github.ref_name }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macOS-latest]
cabal: ["3.6"]
ghc: ["9.2.7"]
steps:
- name: Check out code
uses: actions/checkout@v3
- name: Set tag name
uses: olegtarasov/get-tag@v2.1
id: tagName
with:
tagRegex: "v(.*)"
tagRegexGroup: 1
- name: Install pkgconfig (for the dependency "digest")
run: brew install pkg-config
- name: Setup Haskell
uses: haskell/actions/setup@v2
id: setup-haskell-cabal
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: ${{ matrix.cabal }}
- name: Freeze
run: |
: # simdutf doesn't build on macOS any more, so we need to set a flag to ignore it when building the text package
cabal freeze --constraint="any.text >= 2.0.1" --constraint="any.text -simdutf"
- 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: |
currentEXE="./dist/trident"
newEXE="trident-$RUNNER_OS"
mv $currentEXE $newEXE
echo "BINARY_PATH=$newEXE" >> $GITHUB_OUTPUT
- name: Compress binary
uses: svenstaro/upx-action@v2
with:
files: ${{ steps.binarypath.outputs.BINARY_PATH }}
- name: Upload Release Asset
id: upload-release-asset
uses: ncipollo/release-action@v1
with:
name: Release ${{ github.ref_name }}
draft: true
allowUpdates: true
artifactErrorsFailBuild: true
artifacts: ${{ steps.binarypath.outputs.BINARY_PATH }}
artifactContentType: application/octet-stream
build_windows_artifact:
needs: [create_release]
name: ${{ matrix.os }}/GHC ${{ matrix.ghc }}/${{ github.ref_name }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [windows-latest]
cabal: ["3.6"]
ghc: ["9.2.7"]
steps:
- name: Check out code
uses: actions/checkout@v3
- 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: |
Rename-Item -Path "./dist/trident.exe" -NewName "trident-Windows.exe"
echo "BINARY_PATH=./dist/trident-Windows.exe" >> $env:GITHUB_OUTPUT
- name: Compress binary
uses: svenstaro/upx-action@v2
with:
files: ${{ steps.binarypath.outputs.BINARY_PATH }}
- name: Upload Release Asset
id: upload-release-asset
uses: ncipollo/release-action@v1
with:
name: Release ${{ github.ref_name }}
draft: true
allowUpdates: true
artifactErrorsFailBuild: true
artifacts: ${{ steps.binarypath.outputs.BINARY_PATH }}
artifactContentType: application/octet-stream
build_centos_artifact:
needs: [create_release]
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Build Docker image
run: docker build -t linux -f .github/workflows/Dockerfile.centos .
- name: Create container
run: docker create --name linuxcontainer linux
- name: Copy executable
run: docker cp linuxcontainer:/root/.local/bin/trident trident-conda-linux
- name: Upload Release Asset
id: upload-release-asset
uses: ncipollo/release-action@v1
with:
name: Release ${{ github.ref_name }}
draft: true
allowUpdates: true
artifactErrorsFailBuild: true
artifacts: trident-conda-linux
artifactContentType: application/octet-stream