Skip to content
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

Draft
wants to merge 2 commits into
base: 7.1.x
Choose a base branch
from
Draft

Updated PHAR release script #522

wants to merge 2 commits into from

Conversation

asgrim
Copy link
Member

@asgrim asgrim commented May 22, 2022

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
.

@asgrim asgrim added enhancement github_actions Pull requests that update Github_actions code labels May 22, 2022
@asgrim asgrim requested a review from Ocramius May 22, 2022 10:30
- name: "build-phar.sh"
run: "build-phar.sh"
- name: "Build and sign phar file via phing"
run: "vendor/bin/phing phar-build phar-sign"
Copy link
Member Author

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.

Copy link
Member

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"
Copy link
Member

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"
Copy link
Member

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">
Copy link
Member

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",
Copy link
Member

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="./"
Copy link
Member

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 😬

Copy link
Member Author

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

Copy link
Member

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 🤔

Copy link
Member

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

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!

Copy link
Member

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

Copy link
Member Author

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

Copy link
Member

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

Copy link
Member Author

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 😁

Copy link

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 :-(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement github_actions Pull requests that update Github_actions code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Phar release is not created
4 participants