Skip to content

Commit

Permalink
Merge pull request #247 from gsteel/ci-fixes
Browse files Browse the repository at this point in the history
Ci fixes
  • Loading branch information
Ocramius authored Sep 13, 2023
2 parents 68862e5 + 3c72cfe commit aa2ce05
Show file tree
Hide file tree
Showing 9 changed files with 720 additions and 631 deletions.
45 changes: 23 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,19 @@
[![Psalm coverage](https://shepherd.dev/github/laminas/automatic-releases/coverage.svg?)](https://shepherd.dev/github/laminas/automatic-releases)

> ## 🇷🇺 Русским гражданам
>
>
> Мы, участники Laminas, родились и живем в разных странах. У многих из нас есть друзья, родственники и коллеги как в России, так и в Украине. Некоторые из нас родились в России. Некоторые из нас живут в России. У некоторых бабушки и дедушки сражались с фашистами во Второй мировой войне. Здесь никто не поддерживает фашизм.
>
>
> У одного из нас есть украинская родственница, которая спаслась из дома вместе с сыном. Поезд задержался из-за бомбежки на дороге впереди. У нас есть друзья, которые прячутся в бомбоубежищах. Мы с тревогой ждем весточки от них после воздушных налетов, которые беспорядочно наносят удары и попадают по больницам, школам, детским садам и домам. Мы не берем это из каких-либо СМИ. Мы наблюдаем это напрямую.
>
>
> Вы доверяете нам достаточно, чтоб использовать наши программы, и мы просим вас довериться нам вновь. Мы нуждаемся в помощи. Выходите и протестуйте против этой бесполезной войны. Остановите кровопролитие. Скажите "Нет войне!"
>
>
> ## 🇺🇸 To Citizens of Russia
>
>
> We at Laminas come from all over the world. Many of us have friends, family and colleagues in both Russia and Ukraine. Some of us were born in Russia. Some of us currently live in Russia. Some have grandparents who fought Nazis in World War II. Nobody here supports fascism.
>
>
> One team member has a Ukrainian relative who fled her home with her son. The train was delayed due to bombing on the road ahead. We have friends who are hiding in bomb shelters. We anxiously follow up on them after the air raids, which indiscriminately fire at hospitals, schools, kindergartens and houses. We're not taking this from any media. These are our actual experiences.
>
>
> You trust us enough to use our software. We ask that you trust us to say the truth on this. We need your help. Go out and protest this unnecessary war. Stop the bloodshed. Say "stop the war!"
This project is a [Github Action](https://github.com/features/actions) that allows
Expand Down Expand Up @@ -78,13 +78,14 @@ Next export the new sub key:
```bash
gpg --output private.key --armor --export-secret-subkeys "<SubKey ID>!"
```

This will be exported to the file `private.key`.
The `!` at the end is important as it limits the export to just the sub key

**Delete the file once you are done and don't share it with anyone else**
**Delete the file once you are done** and don't share it with anyone else

If your master key is password protected, you will need to remove the password from the subkey before you can add it into github settings.
You can skip this if your master key is not password protected.
You can skip this if your master key is not password protected.

To remove the password from the subkey, create an ephemeral gpg home directory:

Expand Down Expand Up @@ -143,7 +144,7 @@ To generate a new GPG key use the following command:
gpg2 --full-generate-key
```

Pick option 4, then type `4096` for key size, select your desired expiry.
Pick option 4, then type `4096` for key size, select your desired expiry.
Fill out the user information and leave the password blank.

Once generated it will output something like `gpg: key <Key ID> marked as ultimately trusted`. Take a note of this Key Id to use in the next step.
Expand All @@ -154,7 +155,7 @@ Now output the key to the file `private.key` in the correct format to put into t
gpg --output private.key --armor --export-secret-key <Key ID>
```

**Delete the file once you are done and don't share it with anyone else**
**Delete the file once you are done** and don't share it with anyone else

Optionally, you can export the corresponding public key to the file `public.key`:

Expand All @@ -171,15 +172,15 @@ Assuming your project has Github Actions enabled, each time you [**close**](http
a [**milestone**](https://docs.github.com/en/github/managing-your-work-on-github/creating-and-editing-milestones-for-issues-and-pull-requests),
this action will perform all following steps (or stop with an error):

1. determine if all issues and pull requests associated with this milestone are closed
2. determine if the milestone is named with the SemVer `x.y.z` format
3. create a changelog by looking at the milestone description and associated issues and pull requests
4. select branch `x.y.z` for the release (e.g. `1.1.x` for a `1.1.0` release)
5. create a tag named `x.y.z` on the selected branch, with the generated changelog
6. publish a release named `x.y.z`, with the generated tag and changelog
7. create (if applicable), a pull request from the selected branch to the next release branch
8. create (if necessary) a "next minor" release branch `x.y+1.z`
9. switch default repository branch to newest release branch
1. determine if all issues and pull requests associated with this milestone are closed
2. determine if the milestone is named with the SemVer `x.y.z` format
3. create a changelog by looking at the milestone description and associated issues and pull requests
4. select branch `x.y.z` for the release (e.g. `1.1.x` for a `1.1.0` release)
5. create a tag named `x.y.z` on the selected branch, with the generated changelog
6. publish a release named `x.y.z`, with the generated tag and changelog
7. create (if applicable), a pull request from the selected branch to the next release branch
8. create (if necessary) a "next minor" release branch `x.y+1.z`
9. switch default repository branch to newest release branch

Please read the [`feature/`](./feature) specification for more detailed scenarios on how the tool is supposed
to operate.
Expand All @@ -189,7 +190,7 @@ to operate.
In this model we operate with release branches (e.g. `1.0.x`, `1.1.x`, `1.2.x`).
This provides a lot of flexibility whilst keeping a single workflow.

![](./docs/branching-model.svg)
![Branching model visualisation](./docs/branching-model.svg)

### Working on new features

Expand Down Expand Up @@ -218,7 +219,7 @@ default branch. This ensures that all release branches are up-to-date and will n
has already been fixed. Merge-up branches are automatically created but needs to be merged manually into
the targeted branch.

**Example**
#### Example

Let's say we've released the versions `1.0.0` and `1.1.0`.
New features are being developed on `1.2.x`.
Expand Down
4 changes: 2 additions & 2 deletions bin/console.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
use ChangelogGenerator\GitHubOAuthToken;
use DateTimeZone;
use ErrorException;
use Http\Discovery\HttpClientDiscovery;
use Http\Discovery\Psr17FactoryDiscovery;
use Http\Discovery\Psr18ClientDiscovery;
use Laminas\AutomaticReleases\Application\Command\BumpChangelogForReleaseBranch;
use Laminas\AutomaticReleases\Application\Command\CreateMergeUpPullRequest;
use Laminas\AutomaticReleases\Application\Command\CreateMilestones;
Expand Down Expand Up @@ -77,7 +77,7 @@ static function (int $errorCode, string $message = '', string $file = '', int $l
$fetch = new FetchAndSetCurrentUserByReplacingCurrentOriginRemote($variables);
$getCandidateBranches = new GetMergeTargetCandidateBranchesFromRemoteBranches();
$makeRequests = Psr17FactoryDiscovery::findRequestFactory();
$httpClient = new LoggingHttpClient(HttpClientDiscovery::find(), $logger);
$httpClient = new LoggingHttpClient(Psr18ClientDiscovery::find(), $logger);
$githubToken = $variables->githubToken();
$getMilestone = new GetMilestoneFirst100IssuesAndPullRequests(new RunGraphQLQuery(
$makeRequests,
Expand Down
33 changes: 17 additions & 16 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,35 +5,36 @@
"license": "BSD-3-Clause",
"require": {
"php": "~8.2.0",
"azjezz/psl": "^2.4.1",
"azjezz/psl": "^2.7.0",
"jwage/changelog-generator": "^1.4.0",
"laminas/laminas-diactoros": "^2.24.0",
"lcobucci/clock": "^3.0.0",
"monolog/monolog": "^3.3.1",
"laminas/laminas-diactoros": "^2.25.2",
"lcobucci/clock": "^3.1.0",
"monolog/monolog": "^3.4.0",
"ocramius/package-versions": "^2.7.0",
"phly/keep-a-changelog": "^2.12.1",
"php-http/curl-client": "^2.2.1",
"php-http/discovery": "^1.14.3",
"php-http/httplug": "^2.3.0",
"psr/http-client": "^1.0.1",
"psr/http-message": "^1.0.1",
"php-http/curl-client": "^2.3.0",
"php-http/discovery": "^1.19.1",
"php-http/httplug": "^2.4.0",
"psr/http-client": "^1.0.2",
"psr/http-message": "^1.1",
"psr/log": "^3.0.0",
"symfony/console": "^6.2.5"
"symfony/console": "^6.3.4"
},
"require-dev": {
"doctrine/coding-standard": "^11.0.0",
"doctrine/coding-standard": "^11.1.0",
"php-standard-library/psalm-plugin": "^2.2.1",
"phpunit/phpunit": "^9.5.27",
"phpunit/phpunit": "^9.6.12",
"psalm/plugin-phpunit": "^0.18.4",
"roave/infection-static-analysis-plugin": "^1.26.0",
"squizlabs/php_codesniffer": "^3.7.1",
"vimeo/psalm": "^5.3.0"
"roave/infection-static-analysis-plugin": "^1.32.0",
"squizlabs/php_codesniffer": "^3.7.2",
"vimeo/psalm": "^5.15.0"
},
"config": {
"sort-packages": true,
"allow-plugins": {
"infection/extension-installer": true,
"dealerdirect/phpcodesniffer-composer-installer": true
"dealerdirect/phpcodesniffer-composer-installer": true,
"php-http/discovery": false
}
},
"autoload": {
Expand Down
Loading

0 comments on commit aa2ce05

Please sign in to comment.