Merge pull request #113 from EasyAbp/avoid-overwriting-with-null-values #96
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: publish to nuget | |
on: | |
push: | |
branches: | |
- master | |
- main | |
jobs: | |
publish: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: NuGet/setup-nuget@v1 | |
- uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: '8.0.x' | |
- name: read common.props | |
id: commonProps | |
uses: juliangruber/read-file-action@v1 | |
with: | |
path: ./common.props | |
- name: get version | |
id: getVersion | |
uses: AsasInnab/regex-action@v1 | |
with: | |
regex_pattern: '(?<=>)[^<>]+(?=</Version>)' | |
regex_flags: 'gim' | |
search_string: '${{ steps.commonProps.outputs.content }}' | |
- name: dotnet restore | |
run: dotnet restore -s "https://api.nuget.org/v3/index.json" | |
- name: dotnet build | |
run: dotnet build -c Release | |
- name: dotnet test | |
run: dotnet test -c Release --no-restore --no-build | |
- name: dotnet pack | |
run: dotnet pack -c Release --no-build --property PackageOutputPath=${{ github.workspace }}/nugetPackages/ | |
- name: remove unused packages | |
run: | | |
cd ${{ github.workspace }}/nugetPackages | |
shopt -s extglob | |
rm -f !(EasyAbp.*) | |
rm -f !(*.${{ steps.getVersion.outputs.first_match }}.nupkg) | |
rm -f *.Blazor.Host.* | |
rm -f *.Blazor.Server.Host.* | |
rm -f *.Host.Shared.* | |
rm -f *.HttpApi.Host.* | |
rm -f *.IdentityServer.* | |
rm -f *.AuthServer.* | |
rm -f *.Web.Host.* | |
rm -f *.Web.Unified.* | |
rm -f *.HttpApi.Client.ConsoleTestApp.* | |
rm -f *.Tests.* | |
rm -f *.TestBase.* | |
ls | |
- name: dotnet nuget push to GitHub | |
uses: tanaka-takayoshi/[email protected] | |
with: | |
nupkg-path: '${{ github.workspace }}/nugetPackages/*.nupkg' | |
repo-owner: 'EasyAbp' | |
gh-user: 'EasyAbp' | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: dotnet nuget push to NuGet | |
run: dotnet nuget push ${{ github.workspace }}/nugetPackages/*.nupkg -k ${{secrets.NUGET_API_KEY}} -s https://api.nuget.org/v3/index.json --skip-duplicate | |
- name: determine if the tag exists | |
uses: mukunku/[email protected] | |
id: checkTag | |
with: | |
tag: ${{ steps.getVersion.outputs.first_match }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: add git tag | |
if: ${{ steps.checkTag.outputs.exists == 'false' }} | |
uses: tvdias/[email protected] | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
tag: ${{ steps.getVersion.outputs.first_match }} |