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
Tag new releases of farmOS/composer-project when a new version of farmOS is tagged #739
base: 2.x
Are you sure you want to change the base?
Conversation
8d3bcbc
to
688170f
Compare
To be clear: This is NOT TESTED. Just a draft of what I think it would look like. |
Actually, now that I look closer, this isn't working exactly as I expected. All this is doing right now is copying
So two things:
Both of these have more to do with For example, we could resolve 1 by only running this line for non-tag releases: Line 27 in e0ca16c
And regarding 2, I wonder if we are using Line 39 in e0ca16c
I don't think there is supposed to be a space between
|
688170f
to
6efa74d
Compare
I pushed two more commits to the beginning of this to address the issues described in my previous comment. For consideration, and perhaps to be split out to their own PRs even if this one doesn't go in. |
These look good 👍
re: 1 and pinning specific versions of farmOS, IMO this shouldn't be done in our re: 2 and including |
These are good points @paul121! It would change the way that
A little trickier to automate, but that could be possible. The potential pitfall of only tagging minor releases on So I'd say we either go all-in or we don't do it at all. Only doing minor releases would be more trouble I think. |
FYI I split the first three commits out to a separate PR since they are independent of the goal of this one: #754 |
This got me today. My dev environment was 8.2 and production was 8.1. Using a composer based workflow I could't just push up my
|
Currently our Composer docs instruct end-users to start a farmOS-based project with:
However, this fails because https://github.com/farmOS/composer-project does not have any tagged releases.
See original issue reported here:
This PR aims to fix that by creating a tag commit in the https://github.com/farmOS/composer-project every time a tagged release of farmOS is created. These "tag commits" would not be part of the
2.x
branch itself, but instead would be "hanging" off of the latest2.x
branch commit (or3.x
if we decide to adopt this and start doing it with farmOS v3 releases).@paul121 and I discussed this in chat today, and while we are still unsure if this is the best solution, it was easy enough to sketch it up as a PR so that we could have something concrete to consider.
Apart from fixing farmOS/composer-project#10, there are two other small benefits to doing this:
composer create-project farmos/project
, theircomposer.json
file will be referencing a specific tag of farmOS, instead of^2.0
, which forces them to be intentional about their upgrades by default. They can, of course, choose to switch to^2.0
.composer.lock
in the tag commit, which will ensure that anyone starting a project is starting with the same exactcomposer.lock
that we generate and include in our packaged release tarballs.Both of those ensure that users are getting the same exact code as our official Docker image and tarball releases. Once they start their project, they become responsible for the
composer.json
andcomposer.lock
files, so they can decide how they want to manage them onward from that point.