Skip to content

Commit 9311268

Browse files
authored
Merge pull request #4074 from ralfhandl/3.1.1-update-from-main
3.1.1: update from main
2 parents 560043d + fb98b99 commit 9311268

File tree

102 files changed

+9280
-2676
lines changed

Some content is hidden

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

102 files changed

+9280
-2676
lines changed

.gitattributes

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.md linguist-detectable

.github/CODEOWNERS

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Global Repo Owners
2+
* @oai/openapi-maintainers @oai/tsc
3+
4+
# Specification Versions
5+
/versions/ @oai/tsc
6+
7+
# Protect specific top level files
8+
/MAINTAINERS.md @oai/tsc
9+
/TOB.md @oai/tsc
10+
/GOVERNANCE.md @oai/tsc
11+
/LICENSE @oai/tsc

.github/ISSUE_TEMPLATE/config.yml

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
blank_issues_enabled: false
2+
3+
# The local issue filing links are included in "contact_links" because
4+
# GitHub's regular issue template mechanism forces the local issue
5+
# links to be first in the list, when we want them to be last so
6+
# visitors can be routed to other repos when appropriate.
7+
contact_links:
8+
- name: Have a question about using OpenAPI?
9+
url: https://communityinviter.com/apps/open-api/openapi
10+
about: Ask us on our Slack!
11+
- name: Have a question about OpenAPI Tooling?
12+
url: https://tools.openapis.org/
13+
about: Please ask your tooling vendor!
14+
- name: Want to add to our list of OpenAPI Tools?
15+
url: https://tools.openapis.org/
16+
about: Please take a look at our tooling site's instructions!
17+
- name: Want to suggest more how-to documentation and examples?
18+
url: https://github.com/OAI/learn.openapis.org/issues/new
19+
about: Please open an issue on our learning site!
20+
- name: Want to add to the registries at spec.openapis.org/registry ?
21+
url: https://github.com/OAI/OpenAPI-Specification/issues/new
22+
about: Please open an issue in this repository!
23+
- name: Want to report an error in the specification?
24+
url: https://github.com/OAI/OpenAPI-Specification/issues/new
25+
about: Please open an issue in this repository!
26+
- name: Want to request a new feature in the specification?
27+
url: https://github.com/OAI/OpenAPI-Specification/discussions/new?category=enhancements
28+
about: Please start a discussion in this repository!

.github/dependabot.yml

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: github-actions
4+
directory: "/"
5+
schedule:
6+
interval: daily
7+
open-pull-requests-limit: 10
8+
- package-ecosystem: npm
9+
directory: "/"
10+
schedule:
11+
interval: daily
12+
open-pull-requests-limit: 10

.github/pull_request_template.md

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<!--
2+
Thank you for contributing to the OpenAPI Specification!
3+
4+
Please make certain you are submitting your PR on the correct
5+
branch and file:
6+
7+
* 3.0.x spec: v3.0.4-dev branch, versions/3.0.4.md
8+
* 3.1.x spec: v3.1.1-dev branch, versions/3.1.1.md
9+
* 3.2.0 spec: v3.2.0-dev branch, versions/3.2.0.md
10+
* 3.0 schema: main branch, schemas/v3.0/...
11+
* 3.1 schema: main branch, schemas/v3.1/...
12+
* registry templates: gh-pages branch, registry/...
13+
* registry contents: gh-pages branch, registries/...
14+
15+
Note that we do not accept changes to published specifications.
16+
-->

.github/templates/agenda.md

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
## Weekly meetings happen on Thursdays at 9am - 10am Pacific
2+
3+
This agenda gives visibility into discussion topics for the weekly Technical Developer Community (TDC) meetings. Sharing agenda items in advance allows people to plan to attend meetings where they have an interest in specific topics.
4+
5+
Whether attending or not, **anyone can comment on this issue prior to the meeting to suggest topics or to add comments on planned topics or proposals**.
6+
7+
Meetings take place over Zoom: [https://zoom.us/j/975841675](https://zoom.us/j/975841675?pwd=SUh4MjRLaEFKNlI3RElpWTdhRDVVUT09), dial-in passcode: 763054
8+
9+
### Accessibility & Etiquette
10+
* Participants must abide by our [Code-of-Conduct](https://github.com/OAI/OpenAPI-Specification/blob/main/CODE_OF_CONDUCT.md#code-of-conduct).
11+
12+
* Meetings are recorded for future reference, and for those who are not able to attend in-person.
13+
14+
* We invite you to feel comfortable to challenge any language or behaviour that is harmful or not inclusive during this meeting.
15+
16+
* We look forward to your participation, but please consider these acts of etiquette:
17+
* Remain on mute when not speaking to prevent interruptions.
18+
* Blur your background to reduce visual distractions.
19+
* Use the Zoom meeting "Raise Hand" feature to notify the group when you wish to speak.
20+
21+
| Blur My Background | Raise Hand |
22+
|-|-|
23+
| <img width="323" alt="Screenshot of Zoom UI showing the 'Stop Video' and 'Blur My Background' control" src="https://github.com/OAI/OpenAPI-Specification/assets/7367/7e43dbbb-6529-46e6-8b04-4c1aa852d9dd"> | <img width="323" alt="Screenshot of Zoom UI showing the 'Reaction' and 'Raise Hand' control" src="https://github.com/OAI/OpenAPI-Specification/assets/7367/f991722f-4651-40aa-9bc4-7e9a2a165a6a"> |
24+
25+
### Agenda Structure
26+
27+
| Topic | Owner | Decision/NextStep |
28+
|-|-|-|
29+
Intros and governance meta-topics (5 mins) | TDC | |
30+
Reports from Special Interest Groups (5 mins) | SIG members | |
31+
Any other business (add comments below to suggest topics) | TDC | |
32+
[Approved spec PRs](https://github.com/OAI/OpenAPI-Specification/pulls?q=is%3Apr+is%3Aopen+review%3Aapproved) | @OAI/tsc | |
33+
[Active Projects](https://github.com/OAI/OpenAPI-Specification/projects?query=is%3Aopen) | @OAI/openapi-maintainers | |
34+
[New issues needing attention](https://github.com/search?q=repo%3Aoai%2Fopenapi-specification+is%3Aissue+comments%3A0+no%3Alabel+is%3Aopen) | @OAI/triage | |
35+
36+
/cc [@OAI/tsc](https://github.com/orgs/OAI/teams/tsc) please suggest items for inclusion.

.github/workflows/agenda.yaml

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: agenda
2+
3+
# author: @MikeRalphson
4+
# issue: various
5+
6+
#
7+
# This workflow creates the agenda issue each week. It runs on a cron every
8+
# Monday morning, raising an issue for the following Thursday.
9+
# It can also be run manually, in case GitHub Actions has a failure.
10+
#
11+
12+
on:
13+
schedule:
14+
- cron: '0 16 * * 4'
15+
workflow_dispatch: {}
16+
17+
permissions:
18+
issues: write
19+
contents: read
20+
21+
jobs:
22+
agenda:
23+
if: github.repository == 'OAI/OpenAPI-Specification'
24+
env:
25+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
26+
TITLE_PREFIX: "Open Community (TDC) Meeting, "
27+
LABEL: "Housekeeping"
28+
POST_MEETING_CLOSE_DURATION_IN_DAYS: 10
29+
30+
runs-on: ubuntu-latest
31+
32+
steps:
33+
- uses: actions/checkout@v4 # checkout repo content
34+
35+
# we want to close old agenda issues before creating a new one because there's a limit of 3 pinned items on a repo
36+
- name: Close old agenda issues
37+
run: gh issue list -l ${{ env.LABEL }} --author "app/github-actions" --json number,title | ConvertFrom-Json | Where-Object { $_.title -like "${{ env.TITLE_PREFIX }}*" -and ([datetime]::UtcNow - [datetime]::Parse([regex]::Replace($_.title.Replace("${{ env.TITLE_PREFIX }}", ""), "\([^)]+\)", ""))) -ge [timespan]::FromDays([int]::Parse("${{ env.POST_MEETING_CLOSE_DURATION_IN_DAYS }}"))} | ForEach-Object { gh issue close $_.number && gh issue unpin $_.number }
38+
shell: pwsh
39+
40+
- name: Create agenda issue
41+
run: |
42+
$nextThursday = @(@(1..8) | % {$(Get-Date).AddDays($_)} | ? {$_.DayOfWeek -ieq "Thursday"})[0].ToString("dddd dd MMMM yyyy", [CultureInfo]::InvariantCulture)
43+
$result = gh issue create -l ${{ env.LABEL }} -t "${{ env.TITLE_PREFIX }}$nextThursday" -F .github/templates/agenda.md
44+
gh issue pin $result
45+
shell: pwsh
46+
47+

.github/workflows/convert-examples-to-json.yaml

+9-6
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,26 @@ name: convert-examples-to-json
1010
# Only the YAML files should be adjusted manually.
1111
#
1212

13-
# run this on push to master
13+
# run this on push to main
1414
on:
1515
push:
1616
branches:
17-
- master
17+
- main
1818

1919
jobs:
2020
yaml2json:
2121

2222
runs-on: ubuntu-latest
2323

2424
steps:
25-
- uses: actions/checkout@v1 # checkout repo content
25+
- uses: actions/checkout@v2 # checkout repo content
26+
27+
- uses: actions/setup-node@v4 # setup Node.js
28+
with:
29+
node-version: '20.x'
2630

2731
- name: Install dependencies
28-
run: npm i
32+
run: npm ci
2933

3034
- name: convert YAML examples to JSON
3135
run: find examples/v3* -type f -name "*.yaml" | xargs node scripts/yaml2json/yaml2json.js
@@ -36,10 +40,9 @@ jobs:
3640
git --no-pager -c color.diff=always diff --staged
3741
3842
- name: Create Pull Request
39-
uses: peter-evans/create-pull-request@v1
43+
uses: peter-evans/create-pull-request@v5
4044
with:
4145
token: ${{ secrets.GITHUB_TOKEN }}
42-
branch-suffix: none
4346
branch: update-json-examples
4447
title: Update JSON example files
4548
commit-message: Update JSON example files

.github/workflows/inactive-issues.yml

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
on:
2+
issues:
3+
types: labeled
4+
workflow_dispatch:
5+
schedule:
6+
- cron: '*/5 * * * *'
7+
8+
permissions:
9+
issues: write
10+
contents: read
11+
12+
name: Label and close issues with no recent activity
13+
14+
env:
15+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
16+
NEEDS_ATTENTION_LABEL: "Needs attention"
17+
NEEDS_AUTHOR_FEEDBACK_LABEL: "Needs author feedback"
18+
NO_RECENT_ACTIVITY_LABEL: "No recent activity"
19+
NO_RECENT_ACTIVITY_DURATION_IN_DAYS: 7
20+
NO_RECENT_ACTIVITY_DURATION_CLOSE_IN_DAYS: 28
21+
ORG_NAME: ${{ github.repository_owner }}
22+
REPO_NAME: ${{ github.event.repository.name }}
23+
NO_RECENT_ACTIVITY_COMMENT: "This issue has been labeled with `No recent activity` because there has been no recent activity. It will be closed if no further activity occurs within 28 days. Please re-open this issue or open a new one after this delay if you need to."
24+
25+
26+
jobs:
27+
run:
28+
if: github.repository == 'OAI/OpenAPI-Specification'
29+
runs-on: ubuntu-latest
30+
name: Label issues with no recent activity
31+
steps:
32+
- uses: actions/checkout@v4
33+
- run: scripts/label-no-recent.ps1
34+
shell: pwsh
35+
- run: scripts/close-no-recent.ps1
36+
shell: pwsh

.github/workflows/respec.yaml

+61
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: respec
2+
3+
# author: @MikeRalphson
4+
# issue: https://github.com/OAI/OpenAPI-Specification/issues/1564
5+
6+
#
7+
# This workflow updates the respec 'pretty' rendered versions of the spec
8+
# on the gh-pages branch when the corresponding markdown files change.
9+
#
10+
11+
# run this on push to main
12+
on:
13+
push:
14+
branches:
15+
- main
16+
workflow_dispatch: {}
17+
18+
jobs:
19+
respec:
20+
21+
runs-on: ubuntu-latest
22+
23+
steps:
24+
- uses: actions/checkout@v4 # checkout main branch
25+
with:
26+
fetch-depth: 0
27+
28+
- uses: actions/setup-node@v4 # setup Node.js
29+
with:
30+
node-version: '20.x'
31+
32+
- name: Install dependencies
33+
run: npm ci
34+
35+
- uses: actions/checkout@v4 # checkout gh-pages branch
36+
with:
37+
ref: gh-pages
38+
path: deploy
39+
40+
- name: run main script
41+
run: scripts/md2html/build.sh
42+
43+
- name: Create Pull Request
44+
uses: peter-evans/create-pull-request@v6
45+
with:
46+
token: ${{ secrets.GITHUB_TOKEN }}
47+
branch: update-respec-version
48+
base: gh-pages
49+
delete-branch: true
50+
path: deploy
51+
labels: Housekeeping
52+
reviewers: webron,darrelmiller
53+
title: Update ReSpec-rendered specification versions
54+
commit-message: Update ReSpec-rendered specification versions
55+
signoff: true
56+
body: |
57+
This pull request is automatically triggered by GitHub action `respec`.
58+
59+
The `versions/*.md` files have changed, so the HTML files are automatically being regenerated.
60+
61+

.github/workflows/schema-tests.yaml

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: schema-test
2+
3+
# Author: @MikeRalphson / runs @jdesrosiers tests
4+
# Issue: https://github.com/OAI/OpenAPI-Specification/pull/2489
5+
6+
#
7+
# This workflow runs the npm test script to validate passing and failing
8+
# testcases for the metaschema.
9+
#
10+
11+
# run this on push to any branch and creation of pull-requests
12+
on:
13+
push: {}
14+
pull_request: {}
15+
workflow_dispatch: {}
16+
17+
jobs:
18+
test:
19+
20+
runs-on: ubuntu-latest
21+
22+
steps:
23+
- uses: actions/checkout@v4 # checkout repo content
24+
with:
25+
fetch-depth: 0
26+
- uses: actions/setup-node@v4 # setup Node.js
27+
with:
28+
node-version: '20.x'
29+
- name: Install dependencies from main
30+
run: |
31+
git checkout remotes/origin/main -- package.json package-lock.json
32+
npm ci
33+
- name: Run tests
34+
run: npm run test
35+

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,6 @@ target
66
atlassian-ide-plugin.xml
77
node_modules/
88
deploy/
9+
coverage/
910
history
1011
Gemfile.lock

0 commit comments

Comments
 (0)