-
Notifications
You must be signed in to change notification settings - Fork 63
116 lines (95 loc) · 3.61 KB
/
composer-auto.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
name: Compile Command
on:
issue_comment:
types: [created]
jobs:
init:
runs-on: ubuntu-latest
# On pull requests and if the comment starts with `/composer-update`
if: github.event.issue.pull_request != '' && startsWith(github.event.comment.body, '/composer-update')
outputs:
head_ref: ${{ steps.comment-branch.outputs.head_ref }}
steps:
- name: Get repository from pull request comment
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
id: get-repository
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const pull = await github.rest.pulls.get({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.issue.number
});
const repositoryName = pull.data.head?.repo?.full_name
console.log(repositoryName)
return repositoryName
- name: Disabled on forks
if: ${{ fromJSON(steps.get-repository.outputs.result) != github.repository }}
run: |
echo 'Can not execute /composer-update on forks'
exit 1
- name: Check actor permission
uses: skjnldsv/check-actor-permission@v3
with:
require: write
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@v4
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: '+1'
- name: Init branch
uses: xt0rted/pull-request-comment-branch@v2
id: comment-branch
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: '-1'
process:
runs-on: ubuntu-latest
needs: init
steps:
- name: Checkout ${{ needs.init.outputs.head_ref }}
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
fetch-depth: 0
ref: ${{ needs.init.outputs.head_ref }}
- name: Setup git
run: |
git config --local user.email '[email protected]'
git config --local user.name 'nextcloud-command'
- name: Set up php
uses: shivammathur/setup-php@2e947f1f6932d141d076ca441d0e1e881775e95b #v2.31.0
with:
php-version: 8.1
coverage: none
- name: Update composer
run: sudo composer self-update && composer --version
- name: Delete dependencies
run: rm -rf ./*/
- name: Download dependencies
run: composer install --no-dev
- name: Remove tests and other untracked files
run: git clean -X -d -f
- name: Dump Autoload
run: composer dump-autoload
- name: Commit and push amend
run: |
git add .
git commit --signoff -m 'chore(autoloader): Dump autoloader'
git push --force origin '${{ needs.init.outputs.head_ref }}'
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@v4
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: '${{ github.event.repository.full_name }}'
comment-id: '${{ github.event.comment.id }}'
reactions: '-1'