-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integrate AppVeyor build for NuGet / Umbraco Package #9
base: master
Are you sure you want to change the base?
Conversation
It includes also a Dashboard transformation for the "settings section". Test NuGet can be found here https://www.myget.org/feed/byte5digital/package/nuget/Our.Umbraco.BackofficeThemes |
<NuGetPackageName>Umbraco Backoffice Themes</NuGetPackageName> | ||
<Copyright>Copyright © 2018 Our Umbraco and other contributors</Copyright> | ||
<Owners>Marcin Zajkowski</Owners> | ||
<IconUrl>https://raw.githubusercontent.com/umco/umbraco-stacked-content/master/docs/img/logo.png</IconUrl> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need a logo ;)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work! It'd be great to have another pair of eyes on it and if our amazing creator of the boilerplate (@leekelleher) can find a second to scan through it - it'll be great.
<areas> | ||
<area>developer</area> | ||
</areas> | ||
<tab caption="Backend Theme"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I like this transform. We just need to keep consistent names, so please rename it for now to "Backoffice Themes" to follow the package name. Also.. the good thing to discuss in this area is to where it should be placed, as it might be good to expose it for "normal" editors as well, not only those who has access to the Developer's section.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed in latest Commit
<package id="semver" version="1.1.2" targetFramework="net461" /> | ||
<package id="SharpZipLib" version="0.86.0" targetFramework="net461" /> | ||
<package id="System.Threading.Tasks.Dataflow" version="4.7.0" targetFramework="net461" /> | ||
<package id="UmbracoCms.Core" version="7.8.0" targetFramework="net461" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All those dependencies are coming from installation of UmbracoCms.Core?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I cleand a bit up. But these packages ares used to build the solution (normale Umbraco.Core stuff)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mzajkowski I'm happy with the PR.
I've left various comments, my main concern around the AppVeyor config - auth tokens/keys, they'll need to be configured once the AppVeyor CI build is set-up.
# MyGet Deployment for builds & releases | ||
- provider: NuGet | ||
server: https://www.myget.org/F/byte5digital/api/v2/package | ||
symbol_server: https://www.myget.org/F/byte5digital/symbols/api/v2/package |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We set-up an Umbraco community MyGet feed, (it's not just UMCO packages, Jeavon and others use it too)
server: https://www.myget.org/F/umbraco-packages/api/v2/package
symbol_server: https://www.myget.org/F/umbraco-packages/symbols/api/v2/package
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's really cool. IMHO we should use this feed :)
server: https://www.myget.org/F/byte5digital/api/v2/package | ||
symbol_server: https://www.myget.org/F/byte5digital/symbols/api/v2/package | ||
api_key: | ||
secure: vsHr1qAsDwPTvZV7ljoZdx2LAAuk7Xq+0vPHPFhqlPQPXinsAObb8XPLMpQoWnYW |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The API key will need generating from MyGet, then encrypted on AppVeyor - depending who's AppVeyor account is used to manage the CI build. Of course this wont be known until it's all set-up/configured.
# GitHub Deployment for releases | ||
- provider: GitHub | ||
auth_token: | ||
secure: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same for this, the auth token will need to be encrypted on AppVeyor - again, this is only doable after the AppVeyor CI build is set-up.
- provider: NuGet | ||
server: | ||
api_key: | ||
secure: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(Same as above)
<language></language> | ||
<tags></tags> | ||
<dependencies> | ||
<dependency id="UmbracoCms" version="[7.8,7.11)" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd set this to be [7.8,8)
, so that it includes all v7.8 up to v8, rather than stopping at v7.10.x last patch release.
<Reference Include="Semver, Version=1.1.2.0, Culture=neutral, processorArchitecture=MSIL"> | ||
<HintPath>..\packages\semver.1.1.2\lib\net451\Semver.dll</HintPath> | ||
</Reference> | ||
<Reference Include="SQLCE4Umbraco, Version=1.0.6611.19720, Culture=neutral, processorArchitecture=MSIL"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One of my bugbears with the "UmbracoCms.Core" nuget package is that it adds references to assemblies that we aren't actively using in our projects. It's an unnecessary assembly dependency.
I end up manually removing all the obvious ones (SQLCE4Umbraco, MySql.Data, etc). But if we upgrade the nuget package, then they all get added back in. I'm happy to tidy this up post-merge. (It's a boring chore on all of our projects).
using System.Runtime.CompilerServices; | ||
using System.Runtime.InteropServices; | ||
|
||
[assembly: AssemblyVersion("0.1-alpha.*")] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure that this compiles? The AssemblyVersion
attribute should require a valid version number - with major.minor.patch numerics.
AssemblyInformationalVersion
is different... you can have any old string in there - it's purely for presentational purposes.
<bindingRedirect oldVersion="0.0.0.0-3.1.0.0" newVersion="3.1.0.0" /> | ||
</dependentAssembly> | ||
<dependentAssembly> | ||
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the other side effect of having extra assembly dependencies (which we aren't using) ... littering up the assemblyBindings - urgh. Not ones fault, just my bugbear of the tooling.
<package id="semver" version="1.1.2" targetFramework="net461" /> | ||
<package id="SharpZipLib" version="0.86.0" targetFramework="net461" /> | ||
<package id="System.Threading.Tasks.Dataflow" version="4.7.0" targetFramework="net461" /> | ||
<package id="UmbracoCms.Core" version="7.8.0" targetFramework="net461" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mzajkowski Did you have any preference on Umbraco version? My PR #6 targets v7.7.0 ... but happy to increase if desired?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oops I merged it before reading this comment :) Basically, we can target lower version (ideally as lowest as possible) as not much has changed in terms of backoffice styling between them.
So maybe, as a part of this task/cleanup just dump a version here to 7.7 for now?
@leekelleher Thanks for your time, I'm glad I didn't mess it up :) |
@Weegy please pull the latest changes from the other PR before applying any fixes :) Can't wait to see them applied and merged. We're getting there! I'm more than happy to use this Community feed to serve the package. @leekelleher can you advise on versioning strategy? How you're dealing with releases of alphas/betas etc? |
Merge Succesful, I will implement the other fixes ASAP |
@mzajkowski - re: Versioning. Depends how much maintenance and discipline you want to have for the project. Most of the UMCO projects have a branching workflow. With version numbers, we try to stick with SemVer... Bump major for breaking-changes, bump minor for new features and bump patch for bug fixes. On a few of our projects, I stuck with using v0.x for a while (see Ditto, NC and DTGE), because there's a clause in SemVer that says as v0.x is a pre-release and you can make any many breaking-changes as you please. Suggesting that it should never be used in production, but I think I held on to that idea for too long ... so I wouldn't recommend doing v0.x anymore. |
Thanks @leekelleher for your feedback. This is similar to what we're following in most of our projects too. I was always curious about -alpha and -beta releases, but it seems like it's just a visual name for a specific release rather than strategy or something like it. I'll try to find some time to combine it all into a small and clear CONTRIBUTING.md file with all the details about desired strategy here - maybe it'll be useful for someone else trying to work on it for the next project. In terms of 0.x.x - I'm with you. It's nothing good to see product which is pretty stable at the market still being in 0.1.29 or something :) Let's aim to release 1.0.0 here first. Cheers and can't wait to see @Weegy's changes applied :) Thanks for your time and hard work so far. |
I forgot to add. With the |
Kudos to @leekelleher (Boilerplate is from stacked-content)