You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Conductor will group and schedule automated Dependency Updates on your own Continuous Integration Platform. If the update succeeds, Conductor sends you a pull request to your code hosting platform (GitHub, GitLab, Bitbucket) with the changed composer.lock file and, if necessary, other files modified by Composer plugins or scripts.
4
+
Conductor will group and schedule automated Dependency Updates on your own Continuous Integration platform. If the update succeeds, Conductor sends you a pull request to your code hosting platform (GitHub, GitLab, Bitbucket) with the changed composer.lock file and, if necessary, other files modified by Composer plugins or scripts.
5
5
6
6
To use Conductor:
7
7
8
-
-[subscribe to the waitlist](http://packagist.com.lo/features/conductor)
9
-
- subscribe to a Private Packagist Subscription (either Cloud or Self-Hosted)
10
-
- get access to Conductor from [Private Packagist Support](mailto:[email protected])
11
-
- add a workflow to your Continuous Integration Platform to run Composer updates
12
-
- verify the setup
13
-
8
+
- You need to be approved for early access to conductor. [Join to the waitlist](http://packagist.com.lo/features/conductor) and wait for approval.
9
+
- You need a Private Packagist trial or subscription (Cloud or Self-Hosted).
10
+
- You need to add a workflow to your Continuous Integration platform to run Composer updates, described below.
14
11
15
12
## First steps
16
13
17
-
Once you have a Private Packagist Subscription and Conductor is enabled for your subscription, log into your Private Packagist organization and click on the Updates tab in the main navigation.
18
-
Conductor will list all Packages with a composer.lock file and the Private Packagist repository added to the composer.json.
14
+
Once you have a Private Packagist Subscription and Conductor is enabled for your subscription, log into your Private Packagist organization and click on the "Updates" tab in the main navigation.
15
+
Conductor will list packages:
16
+
- added to Private Packagist via synchronization
17
+
- having a composer.lock file commited to the repository
18
+
- having the Private Packagist repository added to the composer.json
19
+
19
20
If you do not see your package, follow the instructions on your organization page to add the custom repository to the composer.json of your package.
20
21
21
22
Most convenient way to set up Conductor is to configure your CI in the Private Packagist UI. The manual steps are outlined below:
@@ -28,19 +29,19 @@ Create a new GitHub Actions workflow in `.github/workflows/dependency-update.yam
28
29
29
30
CONDUCTOR_GITHUB_ACTIONS_WORKFLOW
30
31
31
-
- adjust the PHP Version used in the "Install PHP" step
32
-
- commit and push the workflow to your main branch of your package repository
33
-
- review the commit and push method: the workflow needs to be able to push commits to a new branch
32
+
1. Adjust the PHP Version used in the "Install PHP" step
33
+
2. Commit and push the workflow to your main branch of your package repository
34
+
3. Review the steps to commit and push to your repository
34
35
35
36
Create a secret `COMPOSER_AUTH` with the Composer authentication configuration [as described here](https://getcomposer.org/doc/articles/authentication-for-private-packages.md#authentication-using-the-composer-auth-environment-variable) to access Private Packagist.
36
-
We recommend to create a dedicated authentication token with update access. You can copy n paste the contents for the secret from the Private Packagist UI while creating the token in "Settings" -> "Authentication Tokens". Remove the single quotes around the value.
37
+
We recommend to create a dedicated authentication token with update access. You can copy and paste the contents for the secret from the Private Packagist UI while creating the token in "Settings" -> "Authentication Tokens". Remove the single quotes around the value.
Conductor needs to verify your setup before you can [start receiving Pull Requests](#how-scheduling-works).
@@ -51,22 +52,26 @@ Conductor needs to verify your setup before you can [start receiving Pull Reques
51
52
- Click on the name of your package
52
53
53
54
The list shows groups of all available updates to be scheduled. Each group of updates is called a task. Conductor will schedule only one task at a time. All others are waiting for the task on top of the list to be successful or paused.
54
-
Once Conductor schedules a task it sends a payload to your CI Platform that triggers the workflow you just added. The payload contains the commands Composer will run to update a group of dependencies from your package.
55
+
Once Conductor schedules a task it sends a payload to your CI platform that triggers the workflow you just added. The payload contains the commands Composer will run to update a group of dependencies from your package.
55
56
56
57
The workflow consists of several steps:
57
58
58
-
- code checkout
59
-
- php setup
60
-
- Composer install
61
-
- run Composer update commands from the payload
62
-
- commit changed files (composer.lock, ...)
63
-
- push commit to a new branch
64
-
- Send the status of the workflow to Private Packagist via curl
59
+
1. Checkout the code from your repository
60
+
2. Set up PHP
61
+
3. Run `composer install`
62
+
4. Run Composer update commands
63
+
5. Commit changed files (composer.lock, ...)
64
+
6. Push commits to a new branch (or force push an existing branch)
65
+
7. Send the status of the workflow to Private Packagist
66
+
67
+
If all these steps succeeded, Private Packagist creates a pull request for the just pushed branch. The PR description will contain details about the update and changelogs from your dependencies. Conductor integrates with [Update Review](https://packagist.com/features/update-review) to present a reviewable list of all updated dependencies.
Once you reviewed the changes and merged the PR, Conductor will schedule the next task.
72
+
If you close the PR, the task will be paused and Conductor will schedule the next task. This is the same effect as using the "Pause" button in the UI. Conductor won't attempt to update the dependency to this exact version, but will schedule updates with newer versions.
65
73
66
-
If the update succeeded, Private Packagist creates a pull request for the just pushed commit. The PR description will contain a reviewable list of all dependencies and parts of their changelogs.
67
-
When you reviewed the changes and merged the PR, Conductor schedules the next task.
68
-
If you close the PR, the task will be paused and Conductor schedules the next task. This is the same effect as using the "Pause" button in the UI.
69
-
If you want to, you can schedule any other task of the list, by clicking on it's name and using the button "Schedule now to create a PR".
74
+
If you want to, schedule any other task of the list by clicking on its name and using the button "Schedule now to create a PR".
70
75
71
76
Tasks fixing security issues have a higher priority. They will be moved to the top of the list and scheduled right away.
72
77
@@ -75,14 +80,14 @@ Tasks fixing security issues have a higher priority. They will be moved to the t
75
80

76
81
77
82
Right now all tasks are waiting for the CI verification task on top of the list. Conductor will not start with the regular schedule until this verification task was successful.
78
-
The verification task will only execute `composer update nothing` and will not result in a PR to be sent to your Code Hosting Platform.
83
+
The verification task will only execute `composer update nothing` and will not result in a PR to be sent to your code hosting platform.
79
84
80
85
- Click on the task "Verify the continuous integration setup"
81
86
- Use the "Schedule now" button to test your setup
82
87
83
-
You can see the state of your task and last events for the task. Once the task is executed, atch your CI Platform:
88
+
You can see the state of your task and last events for the task. Once the task is executed, watch your CI platform:
84
89
You should see a run for the just added workflow. Examine the run if it succeeded.
85
90
86
-
When you ran into errors, troubleshoot and fix. You can trigger the workflow again by restarting the task. The restart button is available after the first execution.
91
+
If it was successful your CI configuration is verified and complete. Conductor will trigger your workflow with the next task in the list. This time it will send a pull request.
87
92
88
-
Once the task is successful Conductor will trigger your workflow with the next task in the list. This time it will send a PR.
93
+
When you ran into errors, troubleshoot and fix. You can trigger the workflow again by restarting the CI verification task. The restart button is available after the first execution.
0 commit comments