-
Notifications
You must be signed in to change notification settings - Fork 59
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
Updated PHAR release script #522
base: 7.1.x
Are you sure you want to change the base?
Conversation
- name: "build-phar.sh" | ||
run: "build-phar.sh" | ||
- name: "Build and sign phar file via phing" | ||
run: "vendor/bin/phing phar-build phar-sign" |
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 was able to run phar-build
locally to produce a phar (attached to the main PR description), but I am not sure how to test the signing, and uploading the PHAR to the release.
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.
Need to do a release 😬
|
||
steps: | ||
- name: "Checkout" | ||
uses: "actions/checkout@v3" | ||
uses: "actions/checkout@v2" |
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.
To be reverted
- name: "build-phar.sh" | ||
run: "build-phar.sh" | ||
- name: "Build and sign phar file via phing" | ||
run: "vendor/bin/phing phar-build phar-sign" |
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.
Need to do a release 😬
<!-- http://www.phing.info/get/phing-latest.phar --> | ||
<!-- php -d phar.readonly=Off phing-latest.phar phar-build-release --> | ||
<!-- ============================================================== --> | ||
<project name="roave-backward-compatibility-check" default="phar-build"> |
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.
Why the fresh hell do we need phing, and why does it still exist? 😱
@@ -24,6 +24,7 @@ | |||
], | |||
"require-dev": { | |||
"doctrine/coding-standard": "^9.0.0", | |||
"phing/phing": "^2.17", |
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.
Nopenopenope 🤣
<!--create the package--> | ||
<mkdir dir="${build-dir}" /> | ||
<php expression="file_put_contents('bin/clistub.php', '#!/usr/bin/env php' . chr(10) . Phar::createDefaultStub('bin/roave-backward-compatibility-check.php'))"/> | ||
<pharpackage basedir="./" |
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 really shouldn't drag in phing for just this 😬
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 just based off the suggested approach in maglnet/ComposerRequireChecker - which uses Phing's PHAR packager to make this heh
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.
Yup - I think we just need to extract this specific step to be done via bash, and then we are good 🤔
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.
Seems like it isn't too much Voodoo: https://github.com/phingofficial/phing/blob/d98239f270e86c6a886eb93893d5ddd17c9d71bd/src/Phing/Task/System/PharPackageTask.php
Only dependency becomes ext-phar in require-dev
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.
Sorry for bothering: any update on this? Thanks!
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.
Hmm, yeah, looking at https://github.com/maglnet/ComposerRequireChecker/blob/fb2a69aa2b7307541233536f179275e99451b339/.github/workflows/phar-creation.yml#L32, there's no real way around it.
We could have a tools/phing/composer.json
, but let's roll with the current solution for now, if you are happy with it.
I can extract it from here later, if it becomes a problem: would really rather not have phing in my big list of problems, but it is what it is :D
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.
Not sure if @theseer might be working a tool: https://phpc.social/@theseer/109296480712703364
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.
Let's just go with what works now and unblocks @sebastianbergmann, and then we suffer later in trying to extract it from our pipeline again :P
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.
OK, I'll take a look at this again and refresh myself, haven't looked at it for a while and probably needs a rebase etc 😁
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.
Not sure if @theseer might be working a tool: phpc.social/@theseer/109296480712703364
This is work in progress and in early design phase on my side.
Given I'm currently quite busy, this is likely not to materialize very soon :-(
Fixes #374
NOTE - I have not tested this end to end - not entirely sure how to set up GPG to use the private key without nuking my own private key.
The phar builds (example attached, zipped so that GH accepts it) but I'm not sure how to test the signing
roave-backward-compatibility-check.zip
.