Skip to content
pierrejoye edited this page May 8, 2015 · 11 revisions

Testing

Accounts

Accounts are only handled via:

  • github
  • bitbucket
  • google

We may add other providers support, while no other are planed at this stage.

The unique identifier is the email. Be sure that your account for these various providers has the same email. All operation are readonly, so allowing pickleweb app should not bring any issue.

As of now an account profile will show all info, including those not public within a given provider. This is a temporary situation and will be fixed before final (see https://github.com/FriendsOfPHP/pickleweb/issues/25)

One unique identifier in pickleweb can be associated with many providers.

Extensions

Extensions should have a composer.json. If you do not have one yet, you can use pickle to create one in your master branch (see https://github.com/FriendsOfPHP/pickle).

Older releases (tags) without a composer.json but a package.xml will still be imported transparently. However, they may not work well when used from composer as composer requires the presence of a composer.json.

Only the owner of a repository can register an extension. This will prevent random registration by developers having nothing to do with the extensions. Besides the filtering of bad or wrong extensions repository registrations, it will prevent non owner to access critical information from upcoming features in pickleweb (CI, static analyzer, etc.).

New releases

New releases are supported via the creation of a new tag. The tag name must match semver (see https://packagist.org/about). Any tag name not matching this scheme will be skipped. We may implement the ability to use special branches in the same way than dev-master at some point.

To be able to do it, you will have to setup web hooks on github. Custom webhooks will be implemented later. We focus now on github.

Once done, a new release notification to pickleweb is as simple as:

git tag 1.4.53 git push tag 1.4.53

An invalid tag name will be ignored (for example you tag a dev version with some more verbose name). An error 400 with a message will be returned but nothing will be imported.

Github's releases are in the work, they may be available as well before the initial final release or shortly after.

github Hook:

  • fork pierre/igbinary
  • import the extension using git@github.com:/igbinary.git
  • Follow this instruction to setup a external URL to access localhost https://developer.github.com/webhooks/configuring/
  • then, on the github.com repository page, go by Settings => Webhooks & Services => Add Webhook
  • use yournorkhost/github/hook//igbinary replace the last two parts with any other matching a given extension, replace yournorkhost with the hostname you got (like http://7e9ea9dc.ngrok.com)
  • for the event types option, choose individual types: Create/Delete tag, Release
  • for the content type, choose application/json
  • To get the API Key for pickleweb, go to your package info page, and click the get an API key.

You can create a first tag using: git tag 1.2.3 git push origin tag 1.2.3

That will run the hooks.

After this, you can go back to the hook settings page and use the redeliver button to test, it shows both the payload and the pickleweb answer.

Clone this wiki locally