Initial update to .NET8 / proto files / some helpers #9
Workflow file for this run
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: .NET | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
outputs: | |
Version: ${{ steps.gitversion.outputs.SemVer }} | |
CommitsSinceVersionSource: ${{ steps.gitversion.outputs.CommitsSinceVersionSource }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 #fetch-depth is needed for GitVersion | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: 7.0.x | |
- name: Restore dependencies | |
run: dotnet restore | |
- name: Build | |
run: dotnet build --no-restore | |
- name: Test | |
run: dotnet test --no-build --verbosity normal | |
#Install and calculate the new version with GitVersion | |
- name: Install GitVersion | |
uses: gittools/actions/gitversion/[email protected] | |
with: | |
versionSpec: 5.x | |
- name: Determine Version | |
uses: gittools/actions/gitversion/[email protected] | |
id: gitversion # step id used as reference for output values | |
- name: Display GitVersion outputs | |
run: | | |
echo "Version: ${{ steps.gitversion.outputs.SemVer }}" | |
echo "CommitsSinceVersionSource: ${{ steps.gitversion.outputs.CommitsSinceVersionSource }}" | |
- name: Build and Pack NuGet package | |
run: | | |
dotnet build src/Nexutron/Nexutron.csproj -c Release | |
dotnet pack src/Nexutron/Nexutron.csproj -p:Version='${{ steps.gitversion.outputs.SemVer }}' -c Release | |
dotnet build src/Nexutron.Protocol/Nexutron.Protocol.csproj -c Release | |
dotnet pack src/Nexutron.Protocol/Nexutron.Protocol.csproj -p:Version='${{ steps.gitversion.outputs.SemVer }}' -c Release | |
- name: Upload NuGet package to GitHub | |
uses: actions/upload-artifact@v3 | |
with: | |
name: nugetPackage | |
path: src/Nexutron/bin/Release/ | |
- name: Upload NuGet package to GitHub | |
uses: actions/upload-artifact@v3 | |
with: | |
name: nugetPackage | |
path: src/Nexutron.Protocol/bin/Release/ | |
release: | |
runs-on: ubuntu-latest | |
needs: build | |
if: github.ref == 'refs/heads/main' # only run job if on the main branch | |
steps: | |
#Push NuGet package to GitHub packages | |
- name: Download nuget package artifact | |
uses: actions/[email protected] | |
with: | |
name: nugetPackage | |
- name: Prep packages | |
run: dotnet nuget add source --username QuantozTechnology --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text --name github "https://nuget.pkg.github.com/QuantozTechnology/index.json" | |
- name: Push package to GitHub packages | |
if: needs.build.outputs.CommitsSinceVersionSource > 0 #Only release if there has been a commit/version change | |
run: dotnet nuget push nugetPackage/*.nupkg --api-key ${{ secrets.GITHUB_TOKEN }} --source "github" | |
#Create release | |
- name: Create Release | |
if: needs.build.outputs.CommitsSinceVersionSource > 0 #Only release if there has been a commit/version change | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token | |
with: | |
tag_name: ${{ needs.build.outputs.Version }} | |
release_name: Release ${{ needs.build.outputs.Version }} | |
# - name: Create Release | |
# if: needs.build.outputs.CommitsSinceVersionSource > 0 #Only release if there has been a commit/version change | |
# uses: ncipollo/release-action@v1 | |
# with: | |
# tag: ${{ needs.build.outputs.Version }} | |
# name: Release ${{ needs.build.outputs.Version }} | |
# artifacts: "nugetPackage/*" | |
# token: ${{ secrets.GITHUB_TOKEN }} |