Skip to content

Commit

Permalink
Merge pull request #171 from core23/ci-pipeline
Browse files Browse the repository at this point in the history
Update CI pipeline
  • Loading branch information
core23 committed Dec 28, 2020
2 parents 645cf4b + b3b6e56 commit 8fa8e16
Show file tree
Hide file tree
Showing 5 changed files with 1,793 additions and 307 deletions.
83 changes: 1 addition & 82 deletions .github/workflows/continuous-integration.yml
Expand Up @@ -100,7 +100,7 @@ jobs:
run: composer phpstan

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

- name: "Run phpmd"
run: composer phpmd
Expand Down Expand Up @@ -239,84 +239,3 @@ jobs:

- name: "Run mutation tests with pcov and infection/infection"
run: ./infection

merge:
name: "Merge"

runs-on: "ubuntu-latest"

needs:
- "coding-standards"
- "static-code-analysis"
- "tests"
- "code-coverage"
- "mutation-tests"

if: >
github.event_name == 'pull_request' &&
github.event.pull_request.draft == false &&
contains(github.event.pull_request.labels.*.name, 'automerge')
steps:
- name: "Request review from @nucleos-bot"
uses: "actions/github-script@v3"
with:
github-token: "${{ secrets.NUCLEOS_BOT_TOKEN }}"
script: |
const pullRequest = context.payload.pull_request
const repository = context.repo
const reviewers = [
"nucleos-bot",
]
await github.pulls.requestReviewers({
owner: repository.owner,
pull_number: pullRequest.number,
repo: repository.repo,
reviewers: reviewers,
})
- name: "Assign @nucleos-bot"
uses: "actions/github-script@v3"
with:
github-token: "${{ secrets.NUCLEOS_BOT_TOKEN }}"
script: |
const pullRequest = context.payload.pull_request
const repository = context.repo
const reviewers = [
"nucleos-bot",
]
await github.issues.addAssignees({
assignees: reviewers,
issue_number: pullRequest.number,
owner: repository.owner,
repo: repository.repo,
})
- name: "Approve pull request"
uses: "actions/github-script@v3"
if: "github.actor != 'nucleos-bot'"
with:
github-token: "${{ secrets.NUCLEOS_BOT_TOKEN }}"
script: |
const pullRequest = context.payload.pull_request
const repository = context.repo
await github.pulls.createReview({
event: "APPROVE",
owner: repository.owner,
pull_number: pullRequest.number,
repo: repository.repo,
})
- name: "Merge pull request"
uses: "actions/github-script@v3"
with:
github-token: "${{ secrets.NUCLEOS_BOT_TOKEN }}"
script: |
const pullRequest = context.payload.pull_request
const repository = context.repo
await github.pulls.merge({
merge_method: "merge",
owner: repository.owner,
pull_number: pullRequest.number,
repo: repository.repo,
})
81 changes: 81 additions & 0 deletions .github/workflows/merge.yml
@@ -0,0 +1,81 @@
on:
pull_request:
types: [opened, synchronize, reopened, labeled]

name: "Merge"

jobs:
merge:
name: "Merge"

runs-on: "ubuntu-latest"

if: >
success() &&
github.event_name == 'pull_request' &&
github.event.pull_request.draft == false &&
contains(github.event.pull_request.labels.*.name, 'automerge')
steps:
- name: "Request review from @nucleos-bot"
uses: "actions/github-script@v3"
with:
github-token: ${{ secrets.NUCLEOS_BOT_TOKEN }}
script: |
const pullRequest = context.payload.pull_request
const repository = context.repo
const reviewers = [
"nucleos-bot",
]
await github.pulls.requestReviewers({
owner: repository.owner,
pull_number: pullRequest.number,
repo: repository.repo,
reviewers: reviewers,
})
- name: "Assign @nucleos-bot"
uses: "actions/github-script@v3"
with:
github-token: ${{ secrets.NUCLEOS_BOT_TOKEN }}
script: |
const pullRequest = context.payload.pull_request
const repository = context.repo
const reviewers = [
"nucleos-bot",
]
await github.issues.addAssignees({
assignees: reviewers,
issue_number: pullRequest.number,
owner: repository.owner,
repo: repository.repo,
})
- name: "Approve pull request"
uses: "actions/github-script@v3"
if: "github.actor != 'nucleos-bot'"
with:
github-token: ${{ secrets.NUCLEOS_BOT_TOKEN }}
script: |
const pullRequest = context.payload.pull_request
const repository = context.repo
await github.pulls.createReview({
event: "APPROVE",
owner: repository.owner,
pull_number: pullRequest.number,
repo: repository.repo,
})
- name: "Merge pull request"
uses: "actions/github-script@v3"
with:
github-token: ${{ secrets.NUCLEOS_BOT_TOKEN }}
script: |
const pullRequest = context.payload.pull_request
const repository = context.repo
await github.pulls.merge({
merge_method: "merge",
owner: repository.owner,
pull_number: pullRequest.number,
repo: repository.repo,
})
55 changes: 52 additions & 3 deletions .github/workflows/release-drafter.yml
@@ -1,14 +1,63 @@
name: Release Drafter

on:
push:
branches:
- main

name: "Draft Release"

jobs:
update_release_draft:
draft-release:
name: "Update release notes"

runs-on: ubuntu-latest

steps:
- uses: toolmantim/release-drafter@v5.13.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

changelog-linker:
name: "Link changelog entries"

runs-on: ubuntu-latest

strategy:
matrix:
php-version:
- 7.4

steps:
- name: "Checkout"
uses: actions/checkout@v2.3.4
with:
ref: "${{ github.head_ref }}"
token: ${{ secrets.NUCLEOS_BOT_TOKEN }}

- name: "Install PHP with extensions"
uses: shivammathur/setup-php@2.9.0
with:
coverage: none
extensions: "mbstring, json"
php-version: 7.4

- name: "Cache dependencies installed with composer"
uses: actions/cache@v2
with:
path: ~/.composer/cache
key: ${{ matrix.php-version }}-composer-
restore-keys: |
${{ matrix.php-version }}-composer-
- name: "Install locked dependencies with composer"
run: composer install --no-interaction --no-progress --no-suggest

- name: "Run changelog-linker"
run: vendor/bin/changelog-linker link

- name: "Commit changes"
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_user_name: "Nucleos Bot"
commit_user_email: "ci@nucleos.rocks"
commit_author: "Nucleos Bot <ci@nucleos.rocks>"
commit_message: "Link CHANGLOG users and PRs"
5 changes: 3 additions & 2 deletions vendor-bin/tools/composer.json
Expand Up @@ -7,6 +7,7 @@
"jangregor/phpstan-prophecy": "^0.8",
"maglnet/composer-require-checker": "^2.0",
"matthiasnoback/symfony-dependency-injection-test": "^4.0",
"phpmd/phpmd": "^2.9",
"phpspec/prophecy-phpunit": "^2.0",
"phpstan/extension-installer": "^1.0",
"phpstan/phpstan": "^0.12",
Expand All @@ -17,8 +18,8 @@
"psalm/plugin-phpunit": "^0.12",
"psalm/plugin-symfony": "^1.3",
"symfony/phpunit-bridge": "^5.1",
"vimeo/psalm": "^3.11",
"phpmd/phpmd": "^2.9"
"symplify/changelog-linker": "^9.0",
"vimeo/psalm": "^3.11"
},
"config": {
"platform": {
Expand Down

0 comments on commit 8fa8e16

Please sign in to comment.