Skip to content

Commit ccb48a6

Browse files
authored
Merge branch 'main' into OmkarPh-patch-1
2 parents 947a0df + cb9b4b6 commit ccb48a6

58 files changed

Lines changed: 983 additions & 93 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/allowed-actions.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,6 @@ module.exports = [
3232
'repo-sync/pull-request@33777245b1aace1a58c87a29c90321aa7a74bd7d',
3333
'someimportantcompany/github-actions-slack-message@0b470c14b39da4260ed9e3f9a4f1298a74ccdefd',
3434
'tjenkinson/gh-action-auto-merge-dependency-updates@cee2ac0',
35-
'EndBug/add-and-commit@9358097a71ad9fb9e2f9624c6098c89193d83575'
35+
'EndBug/add-and-commit@9358097a71ad9fb9e2f9624c6098c89193d83575',
36+
'dorny/paths-filter@eb75a1edc117d3756a18ef89958ee59f9500ba58'
3637
]

.github/workflows/close-unwanted-pull-requests.yml

Lines changed: 0 additions & 39 deletions
This file was deleted.
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
name: Check unallowed file changes
2+
3+
on:
4+
push:
5+
6+
jobs:
7+
triage:
8+
if: github.repository == 'github/docs' && github.event.pull_request.user.login != 'Octomerger'
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
12+
- name: Get pull request number
13+
id: pull-number
14+
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
15+
with:
16+
github-token: ${{secrets.GITHUB_TOKEN}}
17+
result-encoding: string
18+
script: |
19+
const pulls = await github.repos.listPullRequestsAssociatedWithCommit({
20+
...context.repo,
21+
commit_sha: context.sha
22+
})
23+
24+
return pulls.data.map(pull => pull.number).shift()
25+
- name: Check for existing requested changes
26+
id: requested-change
27+
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
28+
with:
29+
github-token: ${{secrets.GITHUB_TOKEN}}
30+
result-encoding: json
31+
script: |
32+
const pullReviews = await github.pulls.listReviews({
33+
...context.repo,
34+
pull_number: ${{steps.pull-number.outputs.result}}
35+
})
36+
37+
return pullReviews.data
38+
.filter(review => review.user.login === 'github-actions[bot]')
39+
.sort((a, b) => new Date(b.submitted_at) - new Date(a.submitted_at))
40+
.shift()
41+
- name: Get files changed
42+
uses: dorny/paths-filter@eb75a1edc117d3756a18ef89958ee59f9500ba58
43+
id: filter
44+
with:
45+
# Base branch used to get changed files
46+
base: 'main'
47+
48+
# Enables setting an output in the format in `${FILTER_NAME}_files
49+
# with the names of the matching files formatted as JSON array
50+
list-files: json
51+
52+
# Returns list of changed files matching each filter
53+
filters: |
54+
translation:
55+
- 'translations/**'
56+
openapi:
57+
- 'lib/rest/static/**'
58+
notAllowed:
59+
- '.github/workflows/**'
60+
- '.github/CODEOWNERS'
61+
- 'translations/**'
62+
- 'assets/fonts/**'
63+
- 'data/graphql/**'
64+
- 'lib/graphql/**'
65+
- 'lib/redirects/**'
66+
- 'lib/rest/**'
67+
- 'lib/webhooks/**'
68+
69+
# When there are changes to files we can't accept
70+
# and no review exists,leave a REQUEST_CHANGES review
71+
- name: Request pull request changes
72+
# Check for no reviews or reviews that aren't CHANGES_REQUESTED
73+
if: ${{ steps.filter.outputs.notAllowed == 'true' && (!steps.requested-change.outputs.result || fromJson(steps.requested-change.outputs.result).state != 'CHANGES_REQUESTED') }}
74+
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
75+
with:
76+
github-token: ${{secrets.GITHUB_TOKEN}}
77+
script: |
78+
const changedFiles = ${{steps.filter.outputs.notAllowed_files}}
79+
const restFiles = ${{steps.filter.outputs.openapi_files}}
80+
const translationFiles = ${{steps.filter.outputs.translation_files}}
81+
const markdownFiles = changedFiles.map(file => `- \`${file}\`\n`).join('')
82+
83+
let reviewMessage = `👋 Hey there spelunker. It looks like you've modified some files that we can't accept as contributions.\n${markdownFiles}\n\nYou'll need to revert all of these ☝️ files using [GitHub Desktop](https://docs.github.com/en/free-pro-team@latest/desktop/contributing-and-collaborating-using-github-desktop/reverting-a-commit) or \`git checkout origin/main <file name>\`. Once you get those files reverted, we can continue with the review process. :octocat:`
84+
85+
if (restFiles.length > 0) {
86+
reviewMessage += "\n\nIt looks like you've modified the OpenAPI schema (`lib/rest/static/**`). While we aren't accepting changes to the schema directly, you can open an issue for any updates to the REST API docs. Head on over to the [`github/rest-api-description`](https://github.com/github/rest-api-description/issues/new?assignees=&labels=Inaccuracy&template=schema-inaccuracy.md&title=%5BSchema+Inaccuracy%5D+%3CDescribe+Problem%3E) repository to open an issue. ⚡"
87+
}
88+
89+
if (translationFiles.length > 0) {
90+
await github.issues.addLabels({
91+
...context.repo,
92+
issue_number: ${{steps.pull-number.outputs.result}},
93+
labels: ['localization']
94+
})
95+
reviewMessage += "\n\nIt looks like you've modified translated content. Unfortunately, we are not able to accept pull requests for translated content. Our translation process involves an integration with an external service at crowdin.com, where all translation activity happens. We hope to eventually open up the translation process to the open source community, but we're not there yet. See https://github.com/github/docs/blob/main/CONTRIBUTING.md#earth_asia-translations for more details."
96+
}
97+
98+
await github.pulls.createReview({
99+
...context.repo,
100+
pull_number: ${{steps.pull-number.outputs.result}},
101+
body: reviewMessage,
102+
event: 'REQUEST_CHANGES'
103+
})
104+
# When the most recent review was CHANGES_REQUESTED and the existing
105+
# PR no longer contains unallowed changes, dismiss the previous review
106+
- name: Dismiss pull request review
107+
if: ${{ steps.filter.outputs.notAllowed == 'false' && fromJson(steps.requested-change.outputs.result).state == 'CHANGES_REQUESTED' }}
108+
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
109+
with:
110+
github-token: ${{secrets.GITHUB_TOKEN}}
111+
script: |
112+
await github.pulls.dismissReview({
113+
...context.repo,
114+
pull_number: ${{steps.pull-number.outputs.result}},
115+
review_id: ${{fromJson(steps.requested-change.outputs.result).id}},
116+
message: `✨Looks like you reverted all files we don't accept contributions for. 🙌 A member of the docs team will review your PR soon. 🚂`
117+
})

content/actions/creating-actions/creating-a-javascript-action.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ git tag -a -m "My first action release" v1
176176
git push --follow-tags
177177
```
178178

179-
As an alternative to checking in your `node_modules` directory you can use a tool called [`@vercel/ncc`](https://github.com/vercel/ncc) to compile your code and modules into one file used for distribution.
179+
Checking in your `node_modules` directory can cause problems. As an alternative, you can use a tool called [`@vercel/ncc`](https://github.com/vercel/ncc) to compile your code and modules into one file used for distribution.
180180

181181
1. Install `vercel/ncc` by running this command in your terminal.
182182
`npm i -g @vercel/ncc`

content/actions/guides/building-and-testing-java-with-maven.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ jobs:
5353
with:
5454
java-version: 1.8
5555
- name: Build with Maven
56-
run: mvn -B package --file pom.xml
56+
run: mvn --batch-mode --update-snapshots verify
5757
```
5858
{% endraw %}
5959
@@ -85,7 +85,7 @@ steps:
8585
with:
8686
java-version: 1.8
8787
- name: Run the Maven verify phase
88-
run: mvn -B verify --file pom-ci.xml
88+
run: mvn --batch-mode --update-snapshots verify
8989
```
9090
{% endraw %}
9191

@@ -108,7 +108,7 @@ steps:
108108
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
109109
restore-keys: ${{ runner.os }}-m2
110110
- name: Build with Maven
111-
run: mvn -B package --file pom.xml
111+
run: mvn --batch-mode --update-snapshots verify
112112
```
113113
{% endraw %}
114114

@@ -125,7 +125,7 @@ Maven will usually create output files like JARs, EARs, or WARs in the `target`
125125
steps:
126126
- uses: actions/checkout@v2
127127
- uses: actions/setup-java@v1
128-
- run: mvn -B package --file pom.xml
128+
- run: mvn --batch-mode --update-snapshots verify
129129
- run: mkdir staging && cp target/*.jar staging
130130
- uses: actions/upload-artifact@v2
131131
with:

content/actions/guides/publishing-java-packages-with-maven.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ jobs:
8484
server-username: MAVEN_USERNAME
8585
server-password: MAVEN_PASSWORD
8686
- name: Publish package
87-
run: mvn -B deploy
87+
run: mvn --batch-mode deploy
8888
env:
8989
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
9090
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
@@ -143,7 +143,7 @@ jobs:
143143
with:
144144
java-version: 1.8
145145
- name: Publish package
146-
run: mvn -B deploy
146+
run: mvn --batch-mode deploy
147147
env:
148148
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
149149
```
@@ -182,7 +182,7 @@ jobs:
182182
server-username: MAVEN_USERNAME
183183
server-password: MAVEN_PASSWORD
184184
- name: Publish to the Maven Central Repository
185-
run: mvn -B deploy
185+
run: mvn --batch-mode deploy
186186
env:
187187
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
188188
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
@@ -191,7 +191,7 @@ jobs:
191191
with:
192192
java-version: 1.8
193193
- name: Publish to GitHub Packages
194-
run: mvn -B deploy
194+
run: mvn --batch-mode deploy
195195
env:
196196
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
197197
```

content/actions/reference/events-that-trigger-workflows.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ jobs:
139139

140140
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
141141
| ------------------ | ------------ | ------------ | ------------------|
142-
| [repository_dispatch](/webhooks/event-payloads/#repository_dispatch) | n/a | Last commit on the `GITHUB_REF` branch | Branch that received dispatch |
142+
| [repository_dispatch](/webhooks/event-payloads/#repository_dispatch) | n/a | Last commit on default branch | Default branch |
143143

144144
{% data reusables.github-actions.branch-requirement %}
145145

@@ -699,6 +699,8 @@ on:
699699

700700
{% data reusables.webhooks.workflow_run_desc %}
701701

702+
{% data reusables.github-actions.branch-requirement %}
703+
702704
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
703705
| --------------------- | -------------- | ------------ | -------------|
704706
| [`workflow_run`](/webhooks/event-payloads/#workflow_run) | - n/a | Last commit on default branch | Default branch |

content/actions/reference/workflow-syntax-for-github-actions.md

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -249,9 +249,9 @@ The name of the job displayed on {% data variables.product.prodname_dotcom %}.
249249

250250
### `jobs.<job_id>.needs`
251251

252-
Identifies any jobs that must complete successfully before this job will run. It can be a string or array of strings. If a job fails, all jobs that need it are skipped unless the jobs use a conditional statement that causes the job to continue.
252+
Identifies any jobs that must complete successfully before this job will run. It can be a string or array of strings. If a job fails, all jobs that need it are skipped unless the jobs use a conditional expression that causes the job to continue.
253253

254-
#### Example
254+
#### Example requiring dependent jobs to be successful
255255

256256
```yaml
257257
jobs:
@@ -270,6 +270,20 @@ The jobs in this example run sequentially:
270270
2. `job2`
271271
3. `job3`
272272

273+
#### Example not requiring dependent jobs to be successful
274+
275+
```yaml
276+
jobs:
277+
job1:
278+
job2:
279+
needs: job1
280+
job3:
281+
if: always()
282+
needs: [job1, job2]
283+
```
284+
285+
In this example, `job3` uses the `always()` conditional expression so that it always runs after `job1` and `job2` have completed, regardless of whether they were successful. For more information, see "[Context and expression syntax](/actions/reference/context-and-expression-syntax-for-github-actions#job-status-check-functions)."
286+
273287
### `jobs.<job_id>.runs-on`
274288

275289
**Required** The type of machine to run the job on. The machine can be either a {% data variables.product.prodname_dotcom %}-hosted runner or a self-hosted runner.

0 commit comments

Comments
 (0)