Skip to content

Commit

Permalink
Merge pull request #645 from ergebnis/feature/synchronize
Browse files Browse the repository at this point in the history
Enhancement: Synchronize with `ergebnis/php-package-template`
  • Loading branch information
localheinz committed Jan 22, 2022
2 parents b4c8de9 + 5c65df2 commit e7b8e6d
Show file tree
Hide file tree
Showing 8 changed files with 130 additions and 166 deletions.

This file was deleted.

22 changes: 0 additions & 22 deletions .github/actions/composer/composer/install/action.yaml

This file was deleted.

25 changes: 0 additions & 25 deletions .github/actions/composer/composer/install/run.sh

This file was deleted.

69 changes: 44 additions & 25 deletions .github/workflows/integrate.yaml
Expand Up @@ -8,9 +8,6 @@ on: # yamllint disable-line rule:truthy
branches:
- "main"

env:
PHP_EXTENSIONS: "mbstring"

jobs:
code-coverage:
name: "Code Coverage"
Expand All @@ -33,14 +30,17 @@ jobs:
uses: "shivammathur/setup-php@2.16.0"
with:
coverage: "xdebug"
extensions: "${{ env.PHP_EXTENSIONS }}"
extensions: "none, ctype, dom, json, mbstring, phar, simplexml, tokenizer, xml, xmlwriter"
php-version: "${{ matrix.php-version }}"

- name: "Set up problem matchers for PHP"
run: "echo \"::add-matcher::${{ runner.tool_cache }}/php.json\""

- name: "Set up problem matchers for phpunit/phpunit"
run: "echo \"::add-matcher::${{ runner.tool_cache }}/phpunit.json\""

- name: "Determine composer cache directory"
uses: "./.github/actions/composer/composer/determine-cache-directory"
uses: "ergebnis/.github/actions/composer/determine-cache-directory@1.2.1"

- name: "Cache dependencies installed with composer"
uses: "actions/cache@v2.1.7"
Expand All @@ -50,11 +50,13 @@ jobs:
restore-keys: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-"

- name: "Install ${{ matrix.dependencies }} dependencies with composer"
uses: "./.github/actions/composer/composer/install"
uses: "ergebnis/.github/actions/composer/install@1.2.1"
with:
dependencies: "${{ matrix.dependencies }}"

- name: "Collect code coverage with Xdebug and phpunit/phpunit"
env:
XDEBUG_MODE: "coverage"
run: "vendor/bin/phpunit --configuration=test/Unit/phpunit.xml --coverage-clover=.build/phpunit/logs/clover.xml"

- name: "Send code coverage report to Codecov.io"
Expand All @@ -80,7 +82,7 @@ jobs:
uses: "actions/checkout@v2.4.0"

- name: "Lint YAML files"
uses: "ibiqlik/action-yamllint@v3"
uses: "ibiqlik/action-yamllint@v3.1"
with:
config_file: ".yamllint.yaml"
file_or_dir: "."
Expand All @@ -90,14 +92,17 @@ jobs:
uses: "shivammathur/setup-php@2.16.0"
with:
coverage: "none"
extensions: "${{ env.PHP_EXTENSIONS }}"
extensions: "none, ctype, dom, json, mbstring, phar, simplexml, tokenizer, xml, xmlwriter"
php-version: "${{ matrix.php-version }}"

- name: "Set up problem matchers for PHP"
run: "echo \"::add-matcher::${{ runner.tool_cache }}/php.json\""

- name: "Validate composer.json and composer.lock"
run: "composer validate --strict"
run: "composer validate --ansi --strict"

- name: "Determine composer cache directory"
uses: "./.github/actions/composer/composer/determine-cache-directory"
uses: "ergebnis/.github/actions/composer/determine-cache-directory@1.2.1"

- name: "Cache dependencies installed with composer"
uses: "actions/cache@v2.1.7"
Expand All @@ -107,12 +112,12 @@ jobs:
restore-keys: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-"

- name: "Install ${{ matrix.dependencies }} dependencies with composer"
uses: "./.github/actions/composer/composer/install"
uses: "ergebnis/.github/actions/composer/install@1.2.1"
with:
dependencies: "${{ matrix.dependencies }}"

- name: "Run ergebnis/composer-normalize"
run: ".phive/composer-normalize --dry-run"
run: ".phive/composer-normalize --ansi --dry-run"

- name: "Create cache directory for friendsofphp/php-cs-fixer"
run: "mkdir -p .build/php-cs-fixer"
Expand Down Expand Up @@ -148,11 +153,14 @@ jobs:
uses: "shivammathur/setup-php@2.16.0"
with:
coverage: "none"
extensions: "${{ env.PHP_EXTENSIONS }}"
extensions: "none, ctype, dom, json, mbstring, phar, simplexml, tokenizer, xml, xmlwriter"
php-version: "${{ matrix.php-version }}"

- name: "Set up problem matchers for PHP"
run: "echo \"::add-matcher::${{ runner.tool_cache }}/php.json\""

- name: "Determine composer cache directory"
uses: "./.github/actions/composer/composer/determine-cache-directory"
uses: "ergebnis/.github/actions/composer/determine-cache-directory@1.2.1"

- name: "Cache dependencies installed with composer"
uses: "actions/cache@v2.1.7"
Expand All @@ -162,7 +170,7 @@ jobs:
restore-keys: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-"

- name: "Install ${{ matrix.dependencies }} dependencies with composer"
uses: "./.github/actions/composer/composer/install"
uses: "ergebnis/.github/actions/composer/install@1.2.1"
with:
dependencies: "${{ matrix.dependencies }}"

Expand Down Expand Up @@ -190,11 +198,14 @@ jobs:
uses: "shivammathur/setup-php@2.16.0"
with:
coverage: "xdebug"
extensions: "${{ env.PHP_EXTENSIONS }}"
extensions: "none, ctype, dom, json, mbstring, phar, simplexml, tokenizer, xml, xmlwriter"
php-version: "${{ matrix.php-version }}"

- name: "Set up problem matchers for PHP"
run: "echo \"::add-matcher::${{ runner.tool_cache }}/php.json\""

- name: "Determine composer cache directory"
uses: "./.github/actions/composer/composer/determine-cache-directory"
uses: "ergebnis/.github/actions/composer/determine-cache-directory@1.2.1"

- name: "Cache dependencies installed with composer"
uses: "actions/cache@v2.1.7"
Expand All @@ -204,12 +215,14 @@ jobs:
restore-keys: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-"

- name: "Install ${{ matrix.dependencies }} dependencies with composer"
uses: "./.github/actions/composer/composer/install"
uses: "ergebnis/.github/actions/composer/install@1.2.1"
with:
dependencies: "${{ matrix.dependencies }}"

- name: "Run mutation tests with Xdebug and infection/infection"
run: "vendor/bin/infection --configuration=infection.json"
env:
XDEBUG_MODE: "coverage"
run: "vendor/bin/infection --configuration=infection.json --logger-github"

static-code-analysis:
name: "Static Code Analysis"
Expand All @@ -232,11 +245,14 @@ jobs:
uses: "shivammathur/setup-php@2.16.0"
with:
coverage: "none"
extensions: "${{ env.PHP_EXTENSIONS }}"
extensions: "none, ctype, curl, dom, json, mbstring, pcntl, phar, posix, simplexml, tokenizer, xml, xmlwriter"
php-version: "${{ matrix.php-version }}"

- name: "Set up problem matchers for PHP"
run: "echo \"::add-matcher::${{ runner.tool_cache }}/php.json\""

- name: "Determine composer cache directory"
uses: "./.github/actions/composer/composer/determine-cache-directory"
uses: "ergebnis/.github/actions/composer/determine-cache-directory@1.2.1"

- name: "Cache dependencies installed with composer"
uses: "actions/cache@v2.1.7"
Expand All @@ -246,7 +262,7 @@ jobs:
restore-keys: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-"

- name: "Install ${{ matrix.dependencies }} dependencies with composer"
uses: "./.github/actions/composer/composer/install"
uses: "ergebnis/.github/actions/composer/install@1.2.1"
with:
dependencies: "${{ matrix.dependencies }}"

Expand Down Expand Up @@ -281,14 +297,17 @@ jobs:
uses: "shivammathur/setup-php@2.16.0"
with:
coverage: "none"
extensions: "${{ env.PHP_EXTENSIONS }}"
extensions: "none, ctype, dom, json, mbstring, phar, simplexml, tokenizer, xml, xmlwriter"
php-version: "${{ matrix.php-version }}"

- name: "Set up problem matchers for PHP"
run: "echo \"::add-matcher::${{ runner.tool_cache }}/php.json\""

- name: "Set up problem matchers for phpunit/phpunit"
run: "echo \"::add-matcher::${{ runner.tool_cache }}/phpunit.json\""

- name: "Determine composer cache directory"
uses: "./.github/actions/composer/composer/determine-cache-directory"
uses: "ergebnis/.github/actions/composer/determine-cache-directory@1.2.1"

- name: "Cache dependencies installed with composer"
uses: "actions/cache@v2.1.7"
Expand All @@ -298,7 +317,7 @@ jobs:
restore-keys: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-"

- name: "Install ${{ matrix.dependencies }} dependencies with composer"
uses: "./.github/actions/composer/composer/install"
uses: "ergebnis/.github/actions/composer/install@1.2.1"
with:
dependencies: "${{ matrix.dependencies }}"

Expand Down
80 changes: 46 additions & 34 deletions .github/workflows/merge.yaml
Expand Up @@ -29,65 +29,77 @@ jobs:
with:
github-token: "${{ secrets.ERGEBNIS_BOT_TOKEN }}"
script: |
const pullRequest = context.payload.workflow_run.pull_requests[0]
const repository = context.repo
const pullRequest = context.payload.workflow_run.pull_requests[0];
const reviewers = [
"ergebnis-bot",
]
];
await github.rest.pulls.requestReviewers({
owner: repository.owner,
repo: repository.repo,
pull_number: pullRequest.number,
reviewers: reviewers,
})
try {
await github.rest.pulls.requestReviewers({
owner: context.repo.owner,
pull_number: pullRequest.number,
repo: context.repo.repo,
reviewers: reviewers,
});
} catch (error) {
core.setFailed(error.message);
}
- name: "Assign @ergebnis-bot"
uses: "actions/github-script@v5"
with:
github-token: "${{ secrets.ERGEBNIS_BOT_TOKEN }}"
script: |
const pullRequest = context.payload.workflow_run.pull_requests[0]
const repository = context.repo
const pullRequest = context.payload.workflow_run.pull_requests[0];
const assignees = [
"ergebnis-bot",
]
];
await github.rest.issues.addAssignees({
owner: repository.owner,
repo: repository.repo,
assignees: assignees,
issue_number: pullRequest.number
})
try {
await github.rest.issues.addAssignees({
assignees: assignees,
issue_number: pullRequest.number
owner: context.repo.owner,
repo: context.repo.repo,
});
} catch (error) {
core.setFailed(error.message);
}
- name: "Approve pull request"
uses: "actions/github-script@v5"
with:
github-token: "${{ secrets.ERGEBNIS_BOT_TOKEN }}"
script: |
const pullRequest = context.payload.workflow_run.pull_requests[0]
const repository = context.repo
const pullRequest = context.payload.workflow_run.pull_requests[0];
await github.rest.pulls.createReview({
event: "APPROVE",
owner: repository.owner,
repo: repository.repo,
pull_number: pullRequest.number,
})
try {
await github.rest.pulls.createReview({
event: "APPROVE",
owner: context.repo.owner,
pull_number: pullRequest.number,
repo: context.repo.repo,
});
} catch (error) {
core.setFailed(error.message);
}
- name: "Merge pull request"
uses: "actions/github-script@v5"
with:
github-token: "${{ secrets.ERGEBNIS_BOT_TOKEN }}"
script: |
const pullRequest = context.payload.workflow_run.pull_requests[0]
const repository = context.repo
const pullRequest = context.payload.workflow_run.pull_requests[0];
await github.rest.pulls.merge({
merge_method: "merge",
owner: repository.owner,
pull_number: pullRequest.number,
repo: repository.repo,
})
try {
await github.rest.pulls.merge({
merge_method: "merge",
owner: context.repo.owner,
pull_number: pullRequest.number,
repo: context.repo.repo,
});
} catch (error) {
core.setFailed(error.message);
}

0 comments on commit e7b8e6d

Please sign in to comment.