forked from Izian4321/docs
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1 from Xtuden-com/patch-3
Patch 3
- Loading branch information
Showing
2,578 changed files
with
2,368,234 additions
and
140,481 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
#!/usr/bin/env node | ||
|
||
const fs = require('fs') | ||
const core = require('@actions/core') | ||
const eventPayload = JSON.parse(fs.readFileSync(process.env.GITHUB_EVENT_PATH, 'utf8')) | ||
|
||
// This workflow-run script does the following: | ||
// 1. Gets an array of labels on a PR. | ||
// 2. Finds one with the relevant Algolia text; if none found, exits early. | ||
// 3. Gets the version substring from the label string. | ||
|
||
const labelText = 'sync-english-index-for-' | ||
const labelsArray = eventPayload.pull_request.labels | ||
|
||
// Exit early if no labels are on this PR | ||
if (!(labelsArray && labelsArray.length)) { | ||
process.exit(0) | ||
} | ||
|
||
// Find the relevant label | ||
const algoliaLabel = labelsArray | ||
.map(label => label.name) | ||
.find(label => label.startsWith(labelText)) | ||
|
||
// Exit early if no relevant label is found | ||
if (!algoliaLabel) { | ||
process.exit(0) | ||
} | ||
|
||
// Given: sync-english-index-for-enterprise-server@3.0 | ||
// Returns: enterprise-server@3.0 | ||
const versionToSync = algoliaLabel.split(labelText)[1] | ||
|
||
// Store the version so we can access it later in the workflow | ||
core.setOutput('versionToSync', versionToSync) | ||
process.exit(0) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
#!/usr/bin/env node | ||
|
||
const fs = require('fs') | ||
const path = require('path') | ||
const { execSync } = require('child_process') | ||
const semver = require('semver') | ||
|
||
/* | ||
* This script performs two checks to prevent shipping development mode OpenAPI schemas: | ||
* - Ensures the `info.version` property is a semantic version. | ||
* In development mode, the `info.version` property is a string | ||
* containing the `github/github` branch name. | ||
* - Ensures the decorated schema matches the dereferenced schema. | ||
* The workflow that calls this script runs `script/rest/update-files.js` | ||
* with the `--decorate-only` switch then checks to see if files changed. | ||
* | ||
*/ | ||
|
||
// Check that the `info.version` property is a semantic version | ||
const dereferencedDir = path.join(process.cwd(), 'lib/rest/static/dereferenced') | ||
const schemas = fs.readdirSync(dereferencedDir) | ||
schemas.forEach(filename => { | ||
const schema = require(path.join(dereferencedDir, filename)) | ||
if (!semver.valid(schema.info.version)) { | ||
console.log(`🚧⚠️ Your branch contains a development mode OpenAPI schema: ${schema.info.version}. This check is a reminder to not 🚢 OpenAPI files in development mode. 🛑`) | ||
process.exit(1) | ||
} | ||
}) | ||
|
||
// Check that the decorated schema matches the dereferenced schema | ||
const changedFiles = execSync('git diff --name-only HEAD').toString() | ||
|
||
if(changedFiles !== '') { | ||
console.log(`These files were changed:\n${changedFiles}`) | ||
console.log(`🚧⚠️ Your decorated and dereferenced schema files don't match. Ensure you're using decorated and dereferenced schemas from the automatically created pull requests by the 'github-openapi-bot' user. For more information, see 'script/rest/README.md'. 🛑`) | ||
process.exit(1) | ||
} | ||
|
||
// All checks pass, ready to ship | ||
console.log('All good 👍') | ||
process.exit(0) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
name: OpenAPI generate decorated schema files | ||
|
||
on: | ||
workflow_dispatch: | ||
pull_request: | ||
types: [opened] | ||
|
||
jobs: | ||
generate-decorated-files: | ||
if: github.event.pull_request.user.login == 'github-openapi-bot' | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout repository code | ||
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f | ||
|
||
- name: Install dependencies | ||
run: npm ci | ||
|
||
- name: Decorate the dereferenced OpenAPI schemas | ||
run: script/rest/update-files.js --decorate-only | ||
|
||
- name: Check in the decorated files | ||
uses: EndBug/add-and-commit@9358097a71ad9fb9e2f9624c6098c89193d83575 | ||
with: | ||
# The arguments for the `git add` command | ||
add: 'lib/rest/static/decorated' | ||
|
||
# The message for the commit | ||
message: 'Add decorated OpenAPI schema files' | ||
|
||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Leave this line unchanged |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
name: OpenAPI dev mode check | ||
|
||
on: | ||
workflow_dispatch: | ||
push: | ||
|
||
jobs: | ||
check-schema-versions: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout repository code | ||
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f | ||
|
||
- name: Install dependencies | ||
run: npm ci | ||
|
||
# Differences between decorated and dereferenced files indicates a problem | ||
- name: Generate decorated files to check that there are no differences | ||
run: script/rest/update-files.js --decorate-only | ||
|
||
- name: Check if deref/decorated schemas are dev mode and that they match | ||
run: .github/actions-scripts/openapi-schema-branch.js |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.