Use ps1 scripts in release #19
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
name: cd | |
on: | |
push: | |
branches: | |
- main | |
jobs: | |
release: | |
if: github.event_name == 'push' && github.event.ref == 'refs/heads/main' | |
runs-on: windows-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Extract branch name | |
shell: bash | |
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})" | |
id: extract_branch | |
- name: Setup .NET 6 | |
uses: actions/setup-dotnet@v2 | |
with: | |
dotnet-version: "6.0.x" | |
- name: Setup GitVersion | |
run: dotnet tool install --global GitVersion.Tool | |
- name: Fetch for GitVersion | |
run: git fetch --tags --unshallow | |
- name: Fetch main for GitVersion | |
if: github.ref != 'refs/heads/main' | |
run: git branch --create-reflog main origin/main | |
- name: Update version | |
run: dotnet-gitversion /updateprojectfiles /updateassemblyinfo /output buildserver | |
- name: Set job output | |
id: VERSION | |
run: | | |
echo '::set-output name=label::${{env.GitVersion_PreReleaseLabel}}' | |
echo '::set-output name=semver::${{env.GitVersion_LegacySemVer}}' | |
echo '::set-output name=nuget::${{env.GitVersion_NuGetPreReleaseTagV2}}' | |
echo '::set-output name=applicable::${{env.GitVersion_PreReleaseLabel == 'alpha' || env.GitVersion_PreReleaseLabel == 'beta' }}' | |
- name: Apply changes | |
if: ${{ steps.VERSION.outputs.applicable == 'true' && steps.extract_branch.outputs.branch == 'main' }} | |
uses: EndBug/[email protected] | |
with: | |
author_name: github-actions[bot] | |
author_email: github-actions[bot]@users.noreply.github.com | |
message: "Bumped version to ${{env.GitVersion_LegacySemVer}}" | |
- name: Setup MSBuild | |
uses: microsoft/setup-msbuild@v1 | |
- name: Setup NuGet | |
uses: NuGet/setup-nuget@v1 | |
- name: Restore Packages | |
run: dotnet restore | |
- name: Build | |
run: dotnet build -c Release | |
- name: Make EliteVA-plugin | |
if: github.ref == 'refs/heads/main' && ${{ steps.VERSION.outputs.applicable == 'true' }} | |
run: mkdir "EliteVA-plugin" | |
- name: Copy to EliteVA-plugin | |
if: github.ref == 'refs/heads/main' && ${{ steps.VERSION.outputs.applicable == 'true' }} | |
run: xcopy "EliteVA\bin\Release\net472\" "EliteVA-plugin" /Y /I | |
- name: Add Costura.Fody | |
if: github.ref == 'refs/heads/main' && ${{ steps.VERSION.outputs.applicable == 'true' }} | |
run: dotnet add package Costura.Fody | |
working-directory: EliteVA | |
- name: Build | |
if: github.ref == 'refs/heads/main' && ${{ steps.VERSION.outputs.applicable == 'true' }} | |
run: dotnet build -c Release | |
- name: Copy to EliteVA-plugin | |
if: github.ref == 'refs/heads/main' && ${{ steps.VERSION.outputs.applicable == 'true' }} | |
run: xcopy "EliteVA\bin\Release\net472\" "EliteVA-plugin" /Y /I | |
- name: Generate profile | |
if: github.ref == 'refs/heads/main' && ${{ steps.VERSION.outputs.applicable == 'true' }} | |
run: dotnet run --project ProfileGenerator -c Release | |
- name: Copy to EliteVA-plugin\EliteVA-${{ steps.VERSION.outputs.semver }}.vap | |
if: github.ref == 'refs/heads/main' && ${{ steps.VERSION.outputs.applicable == 'true' }} | |
run: echo F|xcopy "Profile.vap" "EliteVA-${{ steps.VERSION.outputs.semver }}.vap" /Y /I | |
- name: Copy setup to base folder | |
if: github.ref == 'refs/heads/main' && ${{ steps.VERSION.outputs.applicable == 'true' }} | |
run: cmd /c 'copy EliteVA\bin\Release\net472\EliteVA-setup.ps1 EliteVA-setup.ps1' | |
- name: Zip dist | |
if: github.ref == 'refs/heads/main' && ${{ steps.VERSION.outputs.applicable == 'true' }} | |
uses: thedoctor0/[email protected] | |
with: | |
type: "zip" | |
filename: "EliteVA.zip" | |
path: "EliteVA-plugin/*" | |
- name: Release | |
if: github.ref == 'refs/heads/main' && ${{ steps.VERSION.outputs.applicable == 'true' }} | |
uses: softprops/action-gh-release@v1 | |
with: | |
tag_name: ${{ steps.VERSION.outputs.semver }} | |
files: | | |
EliteVA.zip | |
EliteVA-${{ steps.VERSION.outputs.semver }}.vap | |
EliteVA-setup.ps1 | |
prerelease: ${{ steps.extract_branch.outputs.branch != 'main' }} | |
draft: true |