Release for push triggered by acnicholls #2
This file contains 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
# This script creates a release, builds the master branch and uploads the build | |
# results to both github actions store and the Release | |
name: create-release-with-asset | |
run-name: Release for ${{ github.event_name }} triggered by ${{ github.triggering_actor }} | |
concurrency: | |
group: release-create | |
cancel-in-progress: true | |
on: | |
push: | |
branches: | |
- master | |
paths-ignore: | |
- README.md | |
- CHANGELOG.md # Should never be edited anyway | |
- .gitignore | |
# - .github/** # comment until pipelines are built | |
workflow_dispatch: | |
jobs: | |
create-release: | |
runs-on: ubuntu-latest | |
outputs: | |
release-asset-upload-url: ${{ steps.create-tag-release.outputs.upload_url }} | |
steps: | |
# create a tag and a release | |
- name: Create Tag & Release | |
id: create-tag-release | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
uses: DasBen/release-on-push-action@master | |
with: | |
bump_version_scheme: patch | |
tag_prefix: v | |
use_github_release_notes: true | |
release_name: "Release <RELEASE_TAG>" | |
release_body: "Bug fixes and features for stability of the application." | |
# display the output of the release | |
- name: Check Output Parameters | |
id: get-release-outputs | |
run: | | |
echo "Got tag name ${{ steps.create-tag-release.outputs.tag_name }}" | |
echo "Got release version ${{ steps.create-tag-release.outputs.version }}" | |
echo "Upload release artifacts to ${{ steps.create-tag-release.outputs.upload_url }}" | |
prepare-upload-asset: | |
runs-on: windows-latest | |
needs: [create-release] | |
steps: | |
# get the latest code from the repo | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
# add msbuild to the PATH variable | |
- name: Setup MSBuild | |
uses: microsoft/setup-msbuild@v1 | |
# run msbuild to create the executable | |
- name: build executable | |
id: build-ui-executable | |
working-directory: Solution | |
run: | | |
msbuild.exe ` | |
TrangTest.sln ` | |
/nologo ` | |
/nr:false ` | |
/p:DeployOnBuild=true ` | |
/p:DeployDefaultTarget=WebPublish ` | |
/p:WebPublishMethod=FileSystem ` | |
/p:DeleteExistingFiles=True ` | |
/p:platform="Any CPU" ` | |
/p:configuration="Release" ` | |
/p:PublishUrl="..\_build" ` | |
-fl | |
# send build log to github output | |
- name: Upload Build Log | |
id: upload-build-log | |
uses: actions/upload-artifact@v4 | |
with: | |
name: build-executable-log | |
path: ${{ github.workspace }}\Solution\msbuild.log | |
retention-days: 5 | |
# check for build success before continuing | |
- name: Upload Check | |
id: upload-check | |
if: ${{ steps.build-ui-executable.outcome != 'success' }} | |
uses: actions/github-script@v7 | |
with: | |
script: | | |
core.setFailed('user-installer build failed, no sense continuing...') | |
# zip the build output | |
- name: zip build artifact | |
id: zip-build-artifact | |
run: | | |
7z a -tzip ${{ github.workspace }}\Build_Release.zip ${{ github.workspace }}\Solution\TrangTestStub\bin\Release\* | |
# send build output to github output | |
- name: Upload Build Artifact | |
id: upload-build-artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: build-executable-artifact | |
path: ${{ github.workspace }}\Build_Release.zip | |
retention-days: 5 | |
# upload build output to release | |
- name: Upload Release Asset | |
id: upload-release-asset | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
uses: actions/upload-release-asset@v1 | |
with: | |
upload_url: ${{ needs.create-release.outputs.release-asset-upload-url }} | |
asset_path: ${{ github.workspace }}\Build_Release.zip | |
asset_name: Build_Release.zip | |
asset_content_type: application/zip | |
# send build output to github output | |
- name: Upload Build Artifact | |
id: upload-build-artifact-2 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: build-executable-artifact-2 | |
path: ${{ github.workspace }}\Solution\TrangTestStub\bin\Release\* | |
retention-days: 5 | |
# upload build output to release | |
- name: Upload Release Asset | |
id: upload-release-asset-2 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
uses: actions/upload-release-asset@v1 | |
with: | |
upload_url: ${{ needs.create-release.outputs.release-asset-upload-url }} | |
asset_path: ${{ steps.upload-build-artifact-2.outputs.artifact-url }} | |
asset_name: Build_Release.zip | |
asset_content_type: application/zip |