Skip to content

Merge pull request #101 from Stepami/master #22

Merge pull request #101 from Stepami/master

Merge pull request #101 from Stepami/master #22

Workflow file for this run

name: Release Workflow
on:
push:
branches:
- 'release'
jobs:
create-release:
name: Create release
runs-on: ubuntu-latest
outputs:
determined_version: ${{ steps.version_step.outputs.majorMinorPatch }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup GitVersion
uses: gittools/actions/gitversion/[email protected]
with:
versionSpec: '5.12.0'
- name: Determine Version
id: version_step
uses: gittools/actions/gitversion/[email protected]
with:
useConfigFile: true
- name: Setup GitReleaseManager
uses: gittools/actions/gitreleasemanager/[email protected]
with:
versionSpec: '0.18.x'
- name: Create release with GitReleaseManager
uses: gittools/actions/gitreleasemanager/[email protected]
with:
token: ${{ secrets.GITHUB_TOKEN }}
owner: 'Stepami'
repository: 'hydrascript'
milestone: 'v${{ steps.version_step.outputs.majorMinorPatch }}'
name: 'v${{ steps.version_step.outputs.majorMinorPatch }}'
upload-release-assets:
name: Upload release assets
needs: create-release
outputs:
determined_version: ${{ needs.create-release.outputs.determined_version }}
strategy:
matrix:
config:
- os: ubuntu-latest
rid: linux-x64
- os: macos-12
rid: osx-x64
- os: macos-14
rid: osx-arm64
- os: windows-latest
rid: win-x64
runs-on: ${{ matrix.config.os }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 8.0.x
- name: Setup GitReleaseManager
uses: gittools/actions/gitreleasemanager/[email protected]
with:
versionSpec: '0.18.x'
- name: Publish
run: |
mkdir output
dotnet publish ./src/HydraScript/HydraScript.csproj -c Release -r ${{ matrix.config.rid }} -p:PublishSingleFile=true -p:DebugType=embedded -p:Version=${{ needs.create-release.outputs.determined_version }} --self-contained false -o ./output
- name: Rename Executable
run: mv ./output/HydraScript${{ matrix.config.rid == 'win-x64' && '.exe' || '' }} ./output/hydrascript_${{ matrix.config.rid }}${{ matrix.config.rid == 'win-x64' && '.exe' || '' }}
- name: Add asset to a release with GitReleaseManager
uses: gittools/actions/gitreleasemanager/[email protected]
with:
token: ${{ secrets.GITHUB_TOKEN }}
owner: 'Stepami'
repository: 'hydrascript'
milestone: 'v${{ needs.create-release.outputs.determined_version }}'
assets: ./output/hydrascript_${{ matrix.config.rid }}${{ matrix.config.rid == 'win-x64' && '.exe' || '' }}
publish-release:
name: Publish release
runs-on: ubuntu-latest
needs: upload-release-assets
steps:
- name: Setup GitReleaseManager
uses: gittools/actions/gitreleasemanager/[email protected]
with:
versionSpec: '0.18.x'
- name: Publish release with GitReleaseManager
uses: gittools/actions/gitreleasemanager/[email protected]
with:
token: ${{ secrets.GITHUB_TOKEN }}
owner: 'Stepami'
repository: 'hydrascript'
milestone: 'v${{ needs.upload-release-assets.outputs.determined_version }}'
- name: Close release with GitReleaseManager
uses: gittools/actions/gitreleasemanager/[email protected]
with:
token: ${{ secrets.GITHUB_TOKEN }}
owner: 'Stepami'
repository: 'hydrascript'
milestone: 'v${{ needs.upload-release-assets.outputs.determined_version }}'