Skip to content

Commit

Permalink
Merge pull request #4074 from ralfhandl/3.1.1-update-from-main
Browse files Browse the repository at this point in the history
3.1.1: update from main
  • Loading branch information
miqui authored Sep 11, 2024
2 parents 560043d + fb98b99 commit 9311268
Show file tree
Hide file tree
Showing 102 changed files with 9,280 additions and 2,676 deletions.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.md linguist-detectable
11 changes: 11 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Global Repo Owners
* @oai/openapi-maintainers @oai/tsc

# Specification Versions
/versions/ @oai/tsc

# Protect specific top level files
/MAINTAINERS.md @oai/tsc
/TOB.md @oai/tsc
/GOVERNANCE.md @oai/tsc
/LICENSE @oai/tsc
28 changes: 28 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
blank_issues_enabled: false

# The local issue filing links are included in "contact_links" because
# GitHub's regular issue template mechanism forces the local issue
# links to be first in the list, when we want them to be last so
# visitors can be routed to other repos when appropriate.
contact_links:
- name: Have a question about using OpenAPI?
url: https://communityinviter.com/apps/open-api/openapi
about: Ask us on our Slack!
- name: Have a question about OpenAPI Tooling?
url: https://tools.openapis.org/
about: Please ask your tooling vendor!
- name: Want to add to our list of OpenAPI Tools?
url: https://tools.openapis.org/
about: Please take a look at our tooling site's instructions!
- name: Want to suggest more how-to documentation and examples?
url: https://github.com/OAI/learn.openapis.org/issues/new
about: Please open an issue on our learning site!
- name: Want to add to the registries at spec.openapis.org/registry ?
url: https://github.com/OAI/OpenAPI-Specification/issues/new
about: Please open an issue in this repository!
- name: Want to report an error in the specification?
url: https://github.com/OAI/OpenAPI-Specification/issues/new
about: Please open an issue in this repository!
- name: Want to request a new feature in the specification?
url: https://github.com/OAI/OpenAPI-Specification/discussions/new?category=enhancements
about: Please start a discussion in this repository!
12 changes: 12 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
version: 2
updates:
- package-ecosystem: github-actions
directory: "/"
schedule:
interval: daily
open-pull-requests-limit: 10
- package-ecosystem: npm
directory: "/"
schedule:
interval: daily
open-pull-requests-limit: 10
16 changes: 16 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<!--
Thank you for contributing to the OpenAPI Specification!
Please make certain you are submitting your PR on the correct
branch and file:
* 3.0.x spec: v3.0.4-dev branch, versions/3.0.4.md
* 3.1.x spec: v3.1.1-dev branch, versions/3.1.1.md
* 3.2.0 spec: v3.2.0-dev branch, versions/3.2.0.md
* 3.0 schema: main branch, schemas/v3.0/...
* 3.1 schema: main branch, schemas/v3.1/...
* registry templates: gh-pages branch, registry/...
* registry contents: gh-pages branch, registries/...
Note that we do not accept changes to published specifications.
-->
36 changes: 36 additions & 0 deletions .github/templates/agenda.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
## Weekly meetings happen on Thursdays at 9am - 10am Pacific

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.

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**.

Meetings take place over Zoom: [https://zoom.us/j/975841675](https://zoom.us/j/975841675?pwd=SUh4MjRLaEFKNlI3RElpWTdhRDVVUT09), dial-in passcode: 763054

### Accessibility & Etiquette
* Participants must abide by our [Code-of-Conduct](https://github.com/OAI/OpenAPI-Specification/blob/main/CODE_OF_CONDUCT.md#code-of-conduct).

* Meetings are recorded for future reference, and for those who are not able to attend in-person.

* We invite you to feel comfortable to challenge any language or behaviour that is harmful or not inclusive during this meeting.

* We look forward to your participation, but please consider these acts of etiquette:
* Remain on mute when not speaking to prevent interruptions.
* Blur your background to reduce visual distractions.
* Use the Zoom meeting "Raise Hand" feature to notify the group when you wish to speak.

| Blur My Background | Raise Hand |
|-|-|
| <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"> |

### Agenda Structure

| Topic | Owner | Decision/NextStep |
|-|-|-|
Intros and governance meta-topics (5 mins) | TDC | |
Reports from Special Interest Groups (5 mins) | SIG members | |
Any other business (add comments below to suggest topics) | TDC | |
[Approved spec PRs](https://github.com/OAI/OpenAPI-Specification/pulls?q=is%3Apr+is%3Aopen+review%3Aapproved) | @OAI/tsc | |
[Active Projects](https://github.com/OAI/OpenAPI-Specification/projects?query=is%3Aopen) | @OAI/openapi-maintainers | |
[New issues needing attention](https://github.com/search?q=repo%3Aoai%2Fopenapi-specification+is%3Aissue+comments%3A0+no%3Alabel+is%3Aopen) | @OAI/triage | |

/cc [@OAI/tsc](https://github.com/orgs/OAI/teams/tsc) please suggest items for inclusion.
47 changes: 47 additions & 0 deletions .github/workflows/agenda.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: agenda

# author: @MikeRalphson
# issue: various

#
# This workflow creates the agenda issue each week. It runs on a cron every
# Monday morning, raising an issue for the following Thursday.
# It can also be run manually, in case GitHub Actions has a failure.
#

on:
schedule:
- cron: '0 16 * * 4'
workflow_dispatch: {}

permissions:
issues: write
contents: read

jobs:
agenda:
if: github.repository == 'OAI/OpenAPI-Specification'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TITLE_PREFIX: "Open Community (TDC) Meeting, "
LABEL: "Housekeeping"
POST_MEETING_CLOSE_DURATION_IN_DAYS: 10

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4 # checkout repo content

# we want to close old agenda issues before creating a new one because there's a limit of 3 pinned items on a repo
- name: Close old agenda issues
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 }
shell: pwsh

- name: Create agenda issue
run: |
$nextThursday = @(@(1..8) | % {$(Get-Date).AddDays($_)} | ? {$_.DayOfWeek -ieq "Thursday"})[0].ToString("dddd dd MMMM yyyy", [CultureInfo]::InvariantCulture)
$result = gh issue create -l ${{ env.LABEL }} -t "${{ env.TITLE_PREFIX }}$nextThursday" -F .github/templates/agenda.md
gh issue pin $result
shell: pwsh


15 changes: 9 additions & 6 deletions .github/workflows/convert-examples-to-json.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,22 +10,26 @@ name: convert-examples-to-json
# Only the YAML files should be adjusted manually.
#

# run this on push to master
# run this on push to main
on:
push:
branches:
- master
- main

jobs:
yaml2json:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v1 # checkout repo content
- uses: actions/checkout@v2 # checkout repo content

- uses: actions/setup-node@v4 # setup Node.js
with:
node-version: '20.x'

- name: Install dependencies
run: npm i
run: npm ci

- name: convert YAML examples to JSON
run: find examples/v3* -type f -name "*.yaml" | xargs node scripts/yaml2json/yaml2json.js
Expand All @@ -36,10 +40,9 @@ jobs:
git --no-pager -c color.diff=always diff --staged
- name: Create Pull Request
uses: peter-evans/create-pull-request@v1
uses: peter-evans/create-pull-request@v5
with:
token: ${{ secrets.GITHUB_TOKEN }}
branch-suffix: none
branch: update-json-examples
title: Update JSON example files
commit-message: Update JSON example files
Expand Down
36 changes: 36 additions & 0 deletions .github/workflows/inactive-issues.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
on:
issues:
types: labeled
workflow_dispatch:
schedule:
- cron: '*/5 * * * *'

permissions:
issues: write
contents: read

name: Label and close issues with no recent activity

env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NEEDS_ATTENTION_LABEL: "Needs attention"
NEEDS_AUTHOR_FEEDBACK_LABEL: "Needs author feedback"
NO_RECENT_ACTIVITY_LABEL: "No recent activity"
NO_RECENT_ACTIVITY_DURATION_IN_DAYS: 7
NO_RECENT_ACTIVITY_DURATION_CLOSE_IN_DAYS: 28
ORG_NAME: ${{ github.repository_owner }}
REPO_NAME: ${{ github.event.repository.name }}
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."


jobs:
run:
if: github.repository == 'OAI/OpenAPI-Specification'
runs-on: ubuntu-latest
name: Label issues with no recent activity
steps:
- uses: actions/checkout@v4
- run: scripts/label-no-recent.ps1
shell: pwsh
- run: scripts/close-no-recent.ps1
shell: pwsh
61 changes: 61 additions & 0 deletions .github/workflows/respec.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: respec

# author: @MikeRalphson
# issue: https://github.com/OAI/OpenAPI-Specification/issues/1564

#
# This workflow updates the respec 'pretty' rendered versions of the spec
# on the gh-pages branch when the corresponding markdown files change.
#

# run this on push to main
on:
push:
branches:
- main
workflow_dispatch: {}

jobs:
respec:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4 # checkout main branch
with:
fetch-depth: 0

- uses: actions/setup-node@v4 # setup Node.js
with:
node-version: '20.x'

- name: Install dependencies
run: npm ci

- uses: actions/checkout@v4 # checkout gh-pages branch
with:
ref: gh-pages
path: deploy

- name: run main script
run: scripts/md2html/build.sh

- name: Create Pull Request
uses: peter-evans/create-pull-request@v6
with:
token: ${{ secrets.GITHUB_TOKEN }}
branch: update-respec-version
base: gh-pages
delete-branch: true
path: deploy
labels: Housekeeping
reviewers: webron,darrelmiller
title: Update ReSpec-rendered specification versions
commit-message: Update ReSpec-rendered specification versions
signoff: true
body: |
This pull request is automatically triggered by GitHub action `respec`.
The `versions/*.md` files have changed, so the HTML files are automatically being regenerated.
35 changes: 35 additions & 0 deletions .github/workflows/schema-tests.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: schema-test

# Author: @MikeRalphson / runs @jdesrosiers tests
# Issue: https://github.com/OAI/OpenAPI-Specification/pull/2489

#
# This workflow runs the npm test script to validate passing and failing
# testcases for the metaschema.
#

# run this on push to any branch and creation of pull-requests
on:
push: {}
pull_request: {}
workflow_dispatch: {}

jobs:
test:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4 # checkout repo content
with:
fetch-depth: 0
- uses: actions/setup-node@v4 # setup Node.js
with:
node-version: '20.x'
- name: Install dependencies from main
run: |
git checkout remotes/origin/main -- package.json package-lock.json
npm ci
- name: Run tests
run: npm run test

1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,6 @@ target
atlassian-ide-plugin.xml
node_modules/
deploy/
coverage/
history
Gemfile.lock
Loading

0 comments on commit 9311268

Please sign in to comment.