mirror of
https://github.com/1Remote/1Remote.git
synced 2026-04-25 13:36:03 +03:00
[GH-ISSUE #79] CI by appveyor #1981
Labels
No labels
area-configuration
area-ct-app
area-ct-rdp
area-ct-remoteapp
area-ct-ssh
area-ct-vnc
area-launcher
area-list
area-tags
area-teamwork
bug
chore
dependencies
general-build/ci
general-performance
general-refactor
general-security
general-supportive
general-ux
meta-documentation
meta-enhancement
meta-enhancement
meta-feature
meta-help-wanted
meta-unknown-error
priority-hi
priority-low
pull-request
question
resolution-duplicate
resolution-invalid
resolution-wontfix
stale
task-put-off
task-still-considering
task-working-in-progress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/1Remote#1981
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @VShawn on GitHub (Feb 6, 2021).
Original GitHub issue: https://github.com/1Remote/1Remote/issues/79
I‘ve set up CI by appveyor.
Now it will
@majkinetor maybe you can try to set up a deployment for chocolatey?
@majkinetor commented on GitHub (Feb 6, 2021):
What do you mean ? You want those draft releases on chocolatey too along with regular releases? or chocolatey package build and release to happen on AV ? Or something else ? :)
Where is the appveryor.yaml ?
@VShawn commented on GitHub (Feb 6, 2021):
just offering an option since i dont know hot to release to chocolatey. I thought if I build a release, you may need them to publish to chocolatey 😃
And I set up AV all by Web UI, no appveryor.yaml needed.
@majkinetor commented on GitHub (Feb 6, 2021):
No, its already automated, it juts has a latency of several hours as my bot runs minimally once a day.
It looks at https://github.com/VShawn/PRemoteM/releases and finds first .7z file. It didn't pick up your draft release as it is zip file and even if I change it, it can't get a version from it.
I don't think having a release on EACH commit is valuable - having a build and artifacts is, and it should be enough - we can just put in a README.md location of last AV artifacts for those that want last commit build.
I think you should direct via commit message or push options that you want pre release. For example:
You can parse this message on AV via env var
$Env:APPVEYOR_REPO_COMMIT_MESSAGEand just do the release if the keyword is present, something likeRelease should be done on
masteronly (or dev as it currently stands). Build with artifacts should work on any branch (so we can test PR's of others too). Your flow is then[release pre]somewhere. It should mark it on GH as pre-release (not draft). Pre release versions usually have-xyzsuffix in their version e.g.1.2.3-r1.[release prod]which will mark it as non pre release.By doing that, all your releases are read only after published - there are no extra changes you do later (which is not OK, releases must be immutable).
I can furthermore modify auto update routine for chocolatey package to release all to choco so then we will have:
cinst premotem --pre- go for last pre releasecinst premtem- go for last official releaseFor latest commit build you need to go to the the artifact page but I guess nobody will nit those once pre release is set and easily avaialable.
Pre releases do not need to have any other info in them, official releases will have a changelog and other things.
You should IMO remove build number from version i.e. 0.5.8.2101192131 should be 0.5.8. It doesn't provide any meaning and locks us from using it for other meaningful purposes.
We can also add automatic changelog creation - on full release on AV create a new milestone, move closed NEXT issues to it, and provide a relevant link in release markdown. Then your can only do programming and nothing else, everything will just flow if we follow the conventions.
You know the drill - not on a repository, it doesn't exist :)
You should really make it via file not only for versioning but for transparency and collaboration.
@VShawn commented on GitHub (Feb 8, 2021):
the current draft-release by commit was just for test. It was tiggered manually. The true release will be definitely build by tag.
good idea, I will try this. just feeling commands may be easily forgotten if not used it for a long time.
build number IMO is for hot-fix, if I fix some bug on 0.5.8 and latest release is 0.6.0.XXXX, then I can release two fix package 0.5.8.210208 and 0.6.0.210208. it can at least tell me witch is the latest version of 0.5.8;
@majkinetor commented on GitHub (Feb 19, 2021):
Not if they are documented :) It can be done within build or in readme. Here is screenshot of my GitLab build of one project that uses it with 20+ operations that team uses without any problems
build screenshot
Or you can use 0.6.1 and 0.5.9 ? :)
@VShawn commented on GitHub (Feb 19, 2021):
refer from the instruction of semantic versioning:
In our case
https://github.com/VShawn/PRemoteM/blob/dev/PRM.Core/PRMVersion.cs#L3-L9
Major is for incompatible design change. now 0 stands for PRM is still in beta test.
Minor is for
milestone achieveBuild is for
add functionalityReleaseDate is for
bug fixTheir role is slightly deviated from their name, I will fit it when we migrate to .NET5.
I can change the version format when we migrate to .NET5, but still I can not tell how it
locks us from using it for other meaningful purposes, or the benefit of this changeBTW here is the mRemotNG versioning:

@majkinetor commented on GitHub (Feb 19, 2021):
One example of lock is that chocolatey uses build to mark changes in package itself. For example 1.2.3 is a software version but 1.2.3.20120102 means its the same version but package is updated/fixed.
It also looks ugly, but it might be just me :)
Its also not by the semantic version standard as you already mentioned.
@majkinetor commented on GitHub (Feb 19, 2021):
One of the major things that is problematic is that its not easy to see that you need new version or what is latest when you release a fix. I had to scan digit to digit to be sure ones.
Keep in mind that my automatic choco updater wont pick this up as nobody does that. Normal releases are handled very quickly
@VShawn commented on GitHub (Feb 20, 2021):
okey You Convinced Me, next version will be 0.5.10 : )
@majkinetor commented on GitHub (Feb 20, 2021):
Hahaha, nice :-)
@majkinetor commented on GitHub (Feb 20, 2021):
Can you add me to AV to mess around with build when I have time? I can implement some speedups and see how to do basic tests so that thing that happened on last publish is less probable.
@VShawn commented on GitHub (Feb 20, 2021):
sure thing. I invited your gmail as administrator
@VShawn commented on GitHub (May 20, 2021):
this CI is not as useful as I imagined
@majkinetor commented on GitHub (May 20, 2021):
Yeah, I didn't find time to do it so far. Covid introduced a lot of work here. I go on vacation in a month or so so I will see to make it able to do GitHub releases and maybe some basic run test (like screenshot of running app. It is hard to test this app by simulating user input since it doesn't use standard UI controls.