name: publish to nuget on: push: branches: - master - main jobs: publish: runs-on: windows-latest steps: - uses: actions/checkout@v2 - uses: warrenbuckley/Setup-Nuget@v1 - 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: '(?<=>)[^<>]+(?=)' regex_flags: 'gim' search_string: '${{ steps.commonProps.outputs.content }}' - name: dotnet build run: dotnet build -c Release - name: dotnet pack run: dotnet pack -c Release --no-build -o dest - name: remove unused packages run: | cd dest del * -Exclude EasyAbp.* del * -Exclude *.${{ steps.getVersion.outputs.first_match }}.nupkg del *.HttpApi.Client.ConsoleTestApp* del *.Host.Shared* dir -name - name: dotnet nuget push to GitHub run: | dotnet nuget add source https://nuget.pkg.github.com/EasyAbp/index.json -n github -u EasyAbp -p ${{secrets.GITHUB_TOKEN}} dotnet nuget push dest\*.nupkg -s "github" --skip-duplicate - name: dotnet nuget push to NuGet run: dotnet nuget push dest\*.nupkg -k ${{secrets.NUGET_API_KEY}} -s https://api.nuget.org/v3/index.json --skip-duplicate - name: determine if the tag exists uses: mukunku/tag-exists-action@v1.0.0 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/github-tagger@v0.0.1 with: repo-token: ${{ secrets.GITHUB_TOKEN }} tag: ${{ steps.getVersion.outputs.first_match }}