Skip to content

Commit

Permalink
Merge pull request #194 from ergebnis/feature/reuse
Browse files Browse the repository at this point in the history
Enhancement: Reuse composite actions from `ergebnis/.github`
  • Loading branch information
localheinz committed Jan 28, 2022
2 parents 10e7812 + 80b7d44 commit 525053d
Show file tree
Hide file tree
Showing 8 changed files with 60 additions and 184 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: "json, 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.3.2"

- 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.3.2"
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 Down Expand Up @@ -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.3.2"

- 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.3.2"
with:
dependencies: "${{ matrix.dependencies }}"

- name: "Run ergebnis/composer-normalize"
run: "composer normalize --dry-run"
run: "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.3.2"

- 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.3.2"
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.3.2"

- 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.3.2"
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.3.2"

- name: "Cache dependencies installed with composer"
uses: "actions/cache@v2.1.7"
Expand All @@ -246,15 +262,15 @@ 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.3.2"
with:
dependencies: "${{ matrix.dependencies }}"

- name: "Create cache directory for vimeo/psalm"
run: "mkdir -p .build/psalm"

- name: "Run vimeo/psalm"
run: "vendor/bin/psalm --config=psalm.xml --diff --shepherd --show-info=false --stats --threads=4"
run: "vendor/bin/psalm --config=psalm.xml --output-format=github --shepherd --show-info=false --stats --threads=4"

tests:
name: "Tests"
Expand All @@ -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.3.2"

- 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.3.2"
with:
dependencies: "${{ matrix.dependencies }}"

Expand Down
58 changes: 6 additions & 52 deletions .github/workflows/merge.yaml
Expand Up @@ -25,69 +25,23 @@ jobs:
steps:
- name: "Request review from @ergebnis-bot"
uses: "actions/github-script@v5"
uses: "ergebnis/.github/actions/github/pull-request/request-review@1.3.2"
with:
github-token: "${{ secrets.ERGEBNIS_BOT_TOKEN }}"
script: |
const pullRequest = context.payload.workflow_run.pull_requests[0]
const repository = context.repo
const reviewers = [
"ergebnis-bot",
]
await github.rest.pulls.requestReviewers({
owner: repository.owner,
repo: repository.repo,
pull_number: pullRequest.number,
reviewers: reviewers,
})
reviewer: "ergebnis-bot"

- name: "Assign @ergebnis-bot"
uses: "actions/github-script@v5"
uses: "ergebnis/.github/actions/github/pull-request/add-assignee@1.3.2"
with:
github-token: "${{ secrets.ERGEBNIS_BOT_TOKEN }}"
script: |
const pullRequest = context.payload.workflow_run.pull_requests[0]
const repository = context.repo
const assignees = [
"ergebnis-bot",
]
await github.rest.issues.addAssignees({
owner: repository.owner,
repo: repository.repo,
assignees: assignees,
issue_number: pullRequest.number
})
assignee: "ergebnis-bot"

- name: "Approve pull request"
uses: "actions/github-script@v5"
uses: "ergebnis/.github/actions/github/pull-request/approve@1.3.2"
with:
github-token: "${{ secrets.ERGEBNIS_BOT_TOKEN }}"
script: |
const pullRequest = context.payload.workflow_run.pull_requests[0]
const repository = context.repo
await github.rest.pulls.createReview({
event: "APPROVE",
owner: repository.owner,
repo: repository.repo,
pull_number: pullRequest.number,
})

- name: "Merge pull request"
uses: "actions/github-script@v5"
uses: "ergebnis/.github/actions/github/pull-request/merge@1.3.2"
with:
github-token: "${{ secrets.ERGEBNIS_BOT_TOKEN }}"
script: |
const pullRequest = context.payload.workflow_run.pull_requests[0]
const repository = context.repo
await github.rest.pulls.merge({
merge_method: "merge",
owner: repository.owner,
pull_number: pullRequest.number,
repo: repository.repo,
})
13 changes: 2 additions & 11 deletions .github/workflows/release.yaml
Expand Up @@ -14,16 +14,7 @@ jobs:
runs-on: "ubuntu-latest"

steps:
- name: "Determine tag"
id: "determine-tag"
run: "echo \"::set-output name=tag::${GITHUB_REF#refs/tags/}\""

- name: "Create release"
uses: "actions/create-release@v1.1.4"
env:
GITHUB_TOKEN: "${{ secrets.ERGEBNIS_BOT_TOKEN }}"
uses: "ergebnis/.github/actions/github/release/create@1.3.2"
with:
draft: false
prerelease: false
release_name: "${{ steps.determine-tag.outputs.tag }}"
tag_name: "${{ steps.determine-tag.outputs.tag }}"
github-token: "${{ secrets.ERGEBNIS_BOT_TOKEN }}"

0 comments on commit 525053d

Please sign in to comment.