dotnetprojects / SVGImage

A SVGImage Control for WPF
http://dotnetprojects.github.io/SVGImage/
MIT License
199 stars 41 forks source link

Updates to support .NET 8.0 #75

Closed paulushub closed 1 year ago

paulushub commented 1 year ago
paulushub commented 1 year ago

@jogibear9988 I will close this request for now, it seems the AppVeyor build is not yet ready for .NET 8. Is there a way to set the build target to .NET 8 in the AppVeyor.yml?

jogibear9988 commented 1 year ago

Don‘t know. We could also switch to github actions

paulushub commented 1 year ago

We either wait, or since you have the accounts you can implement the switch.

jogibear9988 commented 1 year ago

You could also do it ;-) You only need to create the files like here:

https://github.com/dotnetprojects/MonacoRoslynCompletionProvider/tree/main/.github/workflows

or I will do, but don't know when

paulushub commented 1 year ago

Creating the workflow will not be a problem. You will still have to handle the AppVeyor part.

jogibear9988 commented 1 year ago

The AppVeyor is then not needed any more. I'll remove it there

jogibear9988 commented 1 year ago

and the nuget api key in github actions is store for the whole organization

paulushub commented 11 months ago

@jogibear9988 Finally completed the implementation of the GitHub Actions. It took more time than I expected, but was a good leaning process as well. Most of the tools did not work as expected, and some are simply not flexible. Currently, the implementation is as follows:

Pull Request

The pull request will

  1. Retrieve the current version, based on the currently tagged version
  2. Bumped up the version number
  3. Update the version information
  4. Build (as usual for each supported .NET Framework)
  5. Pack (as usual the Nuget packages)

The Pull Request will not release or deploy (as expected), only for testing.

Push or Merge (to master)

The merging to the master branch will

  1. Perform the above steps (in the Pull Request)
  2. Deploy to Nuget repository
  3. Create a Release on GitHub and add the Nuget packages
  4. Build the documentations and deploy it

Implementations

  1. Use gittools/actions/gitversion to retrieve the current version
  2. Use roryprimrose/set-vs-sdk-project-version to update the version
  3. Manually build, pack, and deploy the Nuget packages (dropped use of GitHub Actions tool)
  4. Use actions/github-script to create the GitHub Release, which add the git tag

Results

The Nuget packages are now more healthy than before: image


image

TODO

Any of these changes will trigger a release, so we may have to wait till there is a need for update.

  1. Include the develop branch in the "Pull Request" build-check (dotnetpull.yml file)
  2. Clean the *.yml (stuff like Display GitVersion outputs no longer needed)
  3. Change the GitVersion.yml (currently set the next-version = 5.0.118). With a successful release, next-version is no longer needed.