mirror of
https://github.com/super-linter/super-linter.git
synced 2024-11-22 00:31:07 -05:00
Adding release process (#1260)
* adding release process * fix grep * fix spacing * fix spacing * fix spacing * fix spacing * Update docs to reflect new release process * Add issue template link * fix version Co-authored-by: Zack Koppert <zkoppert@github.com>
This commit is contained in:
parent
205a0333bd
commit
acf858ae79
6 changed files with 446 additions and 114 deletions
289
.automation/update-actions-version.sh
Executable file
289
.automation/update-actions-version.sh
Executable file
|
@ -0,0 +1,289 @@
|
|||
#!/bin/bash
|
||||
|
||||
################################################################################
|
||||
############# Update the actions.yml with version @admiralawkbar ###############
|
||||
################################################################################
|
||||
|
||||
###########
|
||||
# Globals #
|
||||
###########
|
||||
GITHUB_TOKEN="${GITHUB_TOKEN}" # Token for API CALLS
|
||||
DEPLOY_KEY="${DEPLOY_KEY}" # Deploy key with write access
|
||||
ORG_REPO="${ORG_REPO}" # Name of ther GitHub Organization and repository
|
||||
ISSUE_NUMBER="${ISSUE_NUMBER}" # Number of the issue that kicked the automation
|
||||
ISSUE_TITLE="${ISSUE_TITLE}" # Title of the issue
|
||||
ISSUE_BODY="${ISSUE_BODY}" # Body of the issue
|
||||
|
||||
############
|
||||
# Defaults #
|
||||
############\
|
||||
GITHUB_API='https://api.github.com' # API url
|
||||
VERSION='' # Version of release pulled from api
|
||||
ACTION_FILE='action.yml' # Action file to update
|
||||
PR_ID='' # PUll Request ID when created
|
||||
UPDATED_BODY_STRING='' # Issue body string converted
|
||||
|
||||
##############
|
||||
# Built Vars #
|
||||
##############
|
||||
ORG=$(echo "${ORG_REPO}" | cut -d'/' -f1) # Name of the Org
|
||||
REPO=$(echo "${ORG_REPO}" | cut -d'/' -f2) # Name of the repository
|
||||
|
||||
################################################################################
|
||||
############################ FUNCTIONS BELOW ###################################
|
||||
################################################################################
|
||||
################################################################################
|
||||
#### Function Header ###########################################################
|
||||
Header() {
|
||||
echo "-------------------------------------------------------"
|
||||
echo "----------- GitHub Update Release Version -------------"
|
||||
echo "-------------------------------------------------------"
|
||||
}
|
||||
################################################################################
|
||||
#### Function GetReleaseFromIssueTitle #########################################
|
||||
GetReleaseFromIssueTitle() {
|
||||
echo "-------------------------------------------------------"
|
||||
echo "Getting the latest Release version from GitHub Issue..."
|
||||
|
||||
# Get the latest release on the Repository
|
||||
GET_VERSION_CMD=$(echo "${ISSUE_TITLE}" | grep -E -o "v[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+" 2>&1)
|
||||
|
||||
# Load the error code
|
||||
ERROR_CODE=$?
|
||||
|
||||
# Check the shell for errors
|
||||
if [ "${ERROR_CODE}" -ne 0 ] || [ ${#GET_VERSION_CMD} -lt 1 ]; then
|
||||
# Error
|
||||
echo "ERROR! Failed to get the version!"
|
||||
echo "ERROR:[${GET_VERSION_CMD}]"
|
||||
exit 1
|
||||
else
|
||||
# Success
|
||||
echo "Latest Version:[${GET_VERSION_CMD}]"
|
||||
fi
|
||||
|
||||
# Set the version
|
||||
VERSION=${GET_VERSION_CMD}
|
||||
}
|
||||
################################################################################
|
||||
#### Function UpdateActionFile #################################################
|
||||
UpdateActionFile() {
|
||||
echo "-------------------------------------------------------"
|
||||
echo "Updating the File:[$ACTION_FILE] with Version:[$VERSION]..."
|
||||
|
||||
# Validate we can see the file
|
||||
if [ ! -f "${ACTION_FILE}" ]; then
|
||||
# ERROR
|
||||
echo "ERROR! Failed to find the file:[${ACTION_FILE}]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Update the file
|
||||
UPDATE_CMD=$(sed -i "s|image:.*|image: 'docker://ghcr.io/github/super-linter:${VERSION}'|" "${ACTION_FILE}" 2>&1)
|
||||
|
||||
# Load the error code
|
||||
ERROR_CODE=$?
|
||||
|
||||
# Check the shell for errors
|
||||
if [ "${ERROR_CODE}" -ne 0 ]; then
|
||||
# Failed to update file
|
||||
echo "ERROR! Failed to update ${ACTION_FILE}!"
|
||||
echo "ERROR:[${UPDATE_CMD}]"
|
||||
exit 1
|
||||
else
|
||||
echo "Successfully updated file to:"
|
||||
cat "${ACTION_FILE}"
|
||||
fi
|
||||
}
|
||||
################################################################################
|
||||
#### Function CommitAndPush ####################################################
|
||||
CommitAndPush() {
|
||||
echo "-------------------------------------------------------"
|
||||
echo "Creating commit, and pushing to PR..."
|
||||
|
||||
# Commit the code to GitHub
|
||||
COMMIT_CMD=$(
|
||||
git checkout -b "Automation-Release-${VERSION}"
|
||||
git add "${ACTION_FILE}"
|
||||
git config --global user.name "SuperLinter Automation"
|
||||
git config --global user.email "super_linter_automation@github.com"
|
||||
git commit -m "Updating action.yml with new release version" 2>&1
|
||||
)
|
||||
|
||||
# Load the error code
|
||||
ERROR_CODE=$?
|
||||
|
||||
# Check the shell for errors
|
||||
if [ "${ERROR_CODE}" -ne 0 ]; then
|
||||
# ERROR
|
||||
echo "ERROR! Failed to make commit!"
|
||||
echo "ERROR:[$COMMIT_CMD]"
|
||||
exit 1
|
||||
else
|
||||
echo "Successfully staged commmit"
|
||||
fi
|
||||
|
||||
echo "-------------------------------------------------------"
|
||||
# Push the code to the branch and create PR
|
||||
PUSH_CMD=$(
|
||||
git push --set-upstream origin "Automation-Release-${VERSION}"
|
||||
gh pr create --title "Update-to-release-${VERSION}" --body "Automation Upgrade version ${VERSION} to action.yml" 2>&1
|
||||
)
|
||||
|
||||
# Load the error code
|
||||
ERROR_CODE=$?
|
||||
|
||||
# Check the shell for errors
|
||||
if [ "${ERROR_CODE}" -ne 0 ]; then
|
||||
# ERROR
|
||||
echo "ERROR! Failed to create PR!"
|
||||
echo "ERROR:[$PUSH_CMD]"
|
||||
exit 1
|
||||
else
|
||||
echo "Successfully Created PR"
|
||||
fi
|
||||
|
||||
# Get the pr number
|
||||
for LINE in $PUSH_CMD; do
|
||||
# echo "Line:[${LINE}]"
|
||||
if [[ "${LINE}" == *"github.com"* ]]; then
|
||||
# Getting the PR id
|
||||
PR_ID=$(echo "${LINE}" | rev | cut -d'/' -f1 | rev)
|
||||
fi
|
||||
done
|
||||
|
||||
}
|
||||
################################################################################
|
||||
#### Function UpdateBaseIssue ##################################################
|
||||
UpdateBaseIssue() {
|
||||
echo "-------------------------------------------------------"
|
||||
echo "Updating Original Issue:[$ISSUE_NUMBER] with Release information..."
|
||||
|
||||
# Update the issue to point to new created Pull Request
|
||||
UPDATE_ISSUE_CMD=$(curl -s --fail -X POST \
|
||||
--url "${GITHUB_API}/repos/${ORG}/${REPO}/issues/${ISSUE_NUMBER}/comments" \
|
||||
-H "Authorization: Bearer ${GITHUB_TOKEN}" \
|
||||
-H 'Content-Type: application/json' \
|
||||
--data "{ \"body\": \"This Issue is being resolved on in the Pull Request #${PR_ID}\"}" 2>&1)
|
||||
|
||||
# Load the error code
|
||||
ERROR_CODE=$?
|
||||
|
||||
# Check the shell for errors
|
||||
if [ "${ERROR_CODE}" -ne 0 ]; then
|
||||
# ERROR
|
||||
echo "ERROR! Failed to update base issue!"
|
||||
echo "ERROR:[$UPDATE_ISSUE_CMD]"
|
||||
exit 1
|
||||
else
|
||||
echo "Successfully updated base Issue"
|
||||
fi
|
||||
}
|
||||
################################################################################
|
||||
#### Function UpdatePRBody #####################################################
|
||||
UpdatePRBody() {
|
||||
echo "-------------------------------------------------------"
|
||||
echo "Updating PR body with Release information and Issue linkage..."
|
||||
|
||||
# Need to update the body of the PR with the information
|
||||
UPDATE_PR_CMD=$(curl -s --fail -X PATCH \
|
||||
--url "${GITHUB_API}/repos/${ORG}/${REPO}/pulls/${PR_ID}" \
|
||||
-H 'Accept: application/vnd.github.shadow-cat-preview+json,application/vnd.github.sailor-v-preview+json' \
|
||||
-H "Authorization: Bearer ${GITHUB_TOKEN}" \
|
||||
-H 'Content-Type: application/json' \
|
||||
--data "{\"body\": \"Automation Creation of Super-Linter\n\nThis closes #${ISSUE_NUMBER}\n\n${UPDATED_BODY_STRING}\"}" 2>&1)
|
||||
|
||||
# Load the error code
|
||||
ERROR_CODE=$?
|
||||
|
||||
# Check the shell for errors
|
||||
if [ "${ERROR_CODE}" -ne 0 ]; then
|
||||
# ERROR
|
||||
echo "ERROR! Failed to update PR body!"
|
||||
echo "ERROR:[$UPDATE_PR_CMD]"
|
||||
exit 1
|
||||
else
|
||||
echo "Successfully updated PR body"
|
||||
fi
|
||||
}
|
||||
################################################################################
|
||||
#### Function UpdateReleaseBodyString ##########################################
|
||||
UpdateReleaseBodyString() {
|
||||
# Need to convert the string newlines to literal newlines
|
||||
UPDATED_BODY_STRING=$(echo "${ISSUE_BODY}" | sed -E ':a;N;$!ba;s/\r{0,1}\n/\\n/g')
|
||||
|
||||
echo "-------------------------------------------------------"
|
||||
echo "The updated body string is:[${UPDATED_BODY_STRING}]"
|
||||
echo "-------------------------------------------------------"
|
||||
}
|
||||
################################################################################
|
||||
#### Function SetActionsVariables ##############################################
|
||||
SetActionsVariables() {
|
||||
# Set the variables back to Actions
|
||||
echo "-------------------------------------------------------"
|
||||
echo "Setting the variables back to GitHub Actions..."
|
||||
|
||||
echo "Setting PR_ID:[${PR_ID}]"
|
||||
echo "PR_ID=${PR_ID}" >>"${GITHUB_ENV}"
|
||||
|
||||
echo "Setting RELEASE_VERSION:[${VERSION}]"
|
||||
echo "RELEASE_VERSION=${VERSION}" >>"${GITHUB_ENV}"
|
||||
|
||||
echo "Setting PR_REF:[Automation-Release-${VERSION}]"
|
||||
echo "PR_REF=Automation-Release-${VERSION}" >>"${GITHUB_ENV}"
|
||||
}
|
||||
################################################################################
|
||||
#### Function Footer ###########################################################
|
||||
Footer() {
|
||||
echo "-------------------------------------------------------"
|
||||
echo "The step has completed"
|
||||
echo "-------------------------------------------------------"
|
||||
}
|
||||
################################################################################
|
||||
################################## MAIN ########################################
|
||||
################################################################################
|
||||
|
||||
##########
|
||||
# Header #
|
||||
##########
|
||||
Header
|
||||
|
||||
##########################
|
||||
# Get the latest version #
|
||||
##########################
|
||||
GetReleaseFromIssueTitle
|
||||
|
||||
##########################
|
||||
# Get the latest version #
|
||||
##########################
|
||||
UpdateReleaseBodyString
|
||||
|
||||
##########################
|
||||
# Update the action file #
|
||||
##########################
|
||||
UpdateActionFile
|
||||
|
||||
########################
|
||||
# Commit and push file #
|
||||
########################
|
||||
CommitAndPush
|
||||
|
||||
####################
|
||||
# Update the Issue #
|
||||
####################
|
||||
UpdateBaseIssue
|
||||
|
||||
####################
|
||||
# Update the Issue #
|
||||
####################
|
||||
UpdatePRBody
|
||||
|
||||
#####################################
|
||||
# Set the variables back to Actions #
|
||||
#####################################
|
||||
SetActionsVariables
|
||||
|
||||
##########
|
||||
# Footer #
|
||||
##########
|
||||
Footer
|
15
.github/CONTRIBUTING.md
vendored
15
.github/CONTRIBUTING.md
vendored
|
@ -46,14 +46,15 @@ The **Super-Linter** has _CI/CT/CD_ configured utilizing **GitHub** Actions.
|
|||
|
||||
## Releasing
|
||||
|
||||
If you are the current maintainer of this action:
|
||||
If you are the current maintainer of this action you can create releases from [a release issue](.github/ISSUE_TEMPLATE/CREATE_RELEASE.md) in the repository.
|
||||
|
||||
1. If a major version number change: Update `README.md` and the wiki to reflect new version number in the example workflow file sections
|
||||
2. Edit the `action.yml` file to reflect the new version number. See [here](https://github.com/github/super-linter/blob/master/action.yml#L6)
|
||||
3. Ensure you check the box for [publishing to the marketplace](https://help.github.com/en/actions/creating-actions/publishing-actions-in-github-marketplace#publishing-an-action)
|
||||
4. A GitHub Action will Publish the Docker image to GitHub Package Registry once a Release is created
|
||||
5. A GitHub Action will Publish the Docker image to Docker Hub once a Release is created
|
||||
6. Look for approval from [CODEOWNERS](https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners)
|
||||
- It will notify the issue it has seen the information and starts the Actions job
|
||||
- It will create a branch and update the `actions.yml` with the new version supplied to the issue
|
||||
- It will then create a PR with the updated code
|
||||
- It will then create the release and build the artifacts needed
|
||||
- it will then publish the release and merge the PR
|
||||
- A GitHub Action will Publish the Docker image to GitHub Package Registry once a Release is created
|
||||
- A GitHub Action will Publish the Docker image to Docker Hub once a Release is created
|
||||
|
||||
## Resources
|
||||
|
||||
|
|
15
.github/ISSUE_TEMPLATE/CREATE_RELEASE.md
vendored
Normal file
15
.github/ISSUE_TEMPLATE/CREATE_RELEASE.md
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
name: Create Release
|
||||
about: Create a Release to the Super Linter
|
||||
title: 'Super-Linter Release: vX.Y.Z'
|
||||
labels: release
|
||||
assignees: ''
|
||||
---
|
||||
|
||||
## Changelog
|
||||
|
||||
<!-- This is the Release body to add all the information -->
|
||||
|
||||
## Bugs
|
||||
|
||||
<!-- This is the Release body to add all the information -->
|
115
.github/workflows/deploy-RELEASE.yml
vendored
115
.github/workflows/deploy-RELEASE.yml
vendored
|
@ -1,9 +1,9 @@
|
|||
---
|
||||
#########################
|
||||
#########################
|
||||
## Deploy Docker Image ##
|
||||
#########################
|
||||
#########################
|
||||
#################################
|
||||
#################################
|
||||
## Deploy Release Docker Image ##
|
||||
#################################
|
||||
#################################
|
||||
|
||||
#
|
||||
# Documentation:
|
||||
|
@ -14,9 +14,9 @@
|
|||
# Start the job on all push to master #
|
||||
#######################################
|
||||
on:
|
||||
release:
|
||||
# Want to run the automation when a release is created
|
||||
types: ['created']
|
||||
# Start when a pull request is opened
|
||||
issues:
|
||||
types: ['opened']
|
||||
|
||||
###############
|
||||
# Set the Job #
|
||||
|
@ -27,8 +27,13 @@ jobs:
|
|||
name: Deploy Docker Image - Release
|
||||
# Set the agent to run on
|
||||
runs-on: ubuntu-latest
|
||||
# Only run on main repo
|
||||
if: github.repository == 'github/super-linter'
|
||||
# Only run if Admin start job and it was the Release Issue template
|
||||
if: contains(github.event.issue.title, 'Super-Linter Release:') &&
|
||||
github.actor == 'admiralawkbar' || github.actor == 'jwiebalk' ||
|
||||
github.actor == 'IAmHughes' || github.actor == 'nemchik' ||
|
||||
github.actor == 'Hanse00' || github.actor == 'github-actions' ||
|
||||
github.actor == 'GaboFDC' || github.actor == 'ferrarimarco'
|
||||
|
||||
##################
|
||||
# Load all steps #
|
||||
##################
|
||||
|
@ -39,6 +44,35 @@ jobs:
|
|||
- name: Checkout Code
|
||||
uses: actions/checkout@v2.3.4
|
||||
|
||||
#######################################################
|
||||
# Create a GitHub Issue with the info from this build #
|
||||
#######################################################
|
||||
- name: Update GitHub Issue
|
||||
uses: actions/github-script@v3.1.0
|
||||
id: update-issue
|
||||
with:
|
||||
# https://octokit.github.io/rest.js/v18#issues-create
|
||||
github-token: ${{secrets.GITHUB_TOKEN}}
|
||||
script: |
|
||||
github.issues.createComment({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: "${{ github.event.issue.number }}",
|
||||
title: "Deploying Super-Linter Release to Production",
|
||||
body: 'Currently deploying the Release...'
|
||||
})
|
||||
|
||||
#########################
|
||||
# Update deployment API #
|
||||
#########################
|
||||
- name: Start deployment
|
||||
uses: bobheadxi/deployments@v0.4.3
|
||||
id: deployment
|
||||
with:
|
||||
step: start
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
env: Release
|
||||
|
||||
########################
|
||||
# Get the current date #
|
||||
########################
|
||||
|
@ -70,6 +104,21 @@ jobs:
|
|||
password: ${{ secrets.GCR_TOKEN }}
|
||||
registry: ghcr.io
|
||||
|
||||
#######################################
|
||||
# Update actions.yml with new version #
|
||||
#######################################
|
||||
- name: Update actions.yml with release version and create PR
|
||||
if: success()
|
||||
run: ./.automation/update-actions-version.sh
|
||||
# Note: script creates variables: PR_ID PR_REF RELEASE_VERSION
|
||||
env:
|
||||
DEPLOY_KEY: ${{ secrets.DEPLOY_KEY }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
ORG_REPO: ${{ github.repository }}
|
||||
ISSUE_NUMBER: ${{ github.event.issue.number }}
|
||||
ISSUE_TITLE: ${{ github.event.issue.title }}
|
||||
ISSUE_BODY: ${{ github.event.issue.body }}
|
||||
|
||||
###########################################
|
||||
# Build and Push containers to registries #
|
||||
###########################################
|
||||
|
@ -86,7 +135,49 @@ jobs:
|
|||
tags: |
|
||||
github/super-linter:latest
|
||||
github/super-linter:v3
|
||||
github/super-linter:${{ github.event.release.tag_name }}
|
||||
github/super-linter:${{ env.RELEASE_VERSION }}
|
||||
ghcr.io/github/super-linter:latest
|
||||
ghcr.io/github/super-linter:v3
|
||||
ghcr.io/github/super-linter:${{ github.event.release.tag_name }}
|
||||
ghcr.io/github/super-linter:${{ env.RELEASE_VERSION }}
|
||||
|
||||
#############################
|
||||
# Create the GitHub Release #
|
||||
#############################
|
||||
- name: Create Release
|
||||
if: success()
|
||||
id: create_release
|
||||
uses: actions/create-release@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
|
||||
with:
|
||||
commitish: ${{ env.PR_REF }}
|
||||
tag_name: ${{ env.RELEASE_VERSION }}
|
||||
release_name: Release ${{ env.RELEASE_VERSION }}
|
||||
body: |
|
||||
${{ github.event.issue.body }}
|
||||
draft: false
|
||||
prerelease: false
|
||||
|
||||
#################################
|
||||
# Close the opened Pull Request #
|
||||
#################################
|
||||
- name: Close PR
|
||||
if: success()
|
||||
run: |
|
||||
curl -X PUT --url https://api.github.com/repos/${{ github.repository }}/pulls/${{ env.PR_ID }}/merge \
|
||||
-H "Accept: application/vnd.github.v3+json" \
|
||||
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
|
||||
--data '{ "merge_method": "squash" }'
|
||||
|
||||
#########################
|
||||
# Update Deployment API #
|
||||
#########################
|
||||
- name: Update deployment status
|
||||
uses: bobheadxi/deployments@v0.4.3
|
||||
if: always()
|
||||
with:
|
||||
step: finish
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
status: ${{ job.status }}
|
||||
deployment_id: ${{ steps.deployment.outputs.deployment_id }}
|
||||
env_url: https://github.com/orgs/${{github.repository_owner}}/packages?repo_name=${{github.repository.name}}
|
||||
|
|
124
dependencies/package-lock.json
generated
vendored
124
dependencies/package-lock.json
generated
vendored
|
@ -10,7 +10,7 @@
|
|||
"@stoplight/spectral": "^5.8.1",
|
||||
"@typescript-eslint/eslint-plugin": "^4.15.2",
|
||||
"@typescript-eslint/parser": "^4.15.2",
|
||||
"asl-validator": "^1.9.4",
|
||||
"asl-validator": "^1.9.8",
|
||||
"axios": "^0.21.1",
|
||||
"babel-eslint": "^10.1.0",
|
||||
"dockerfilelint": "^1.8.0",
|
||||
|
@ -777,17 +777,6 @@
|
|||
"node": "^10.12.0 || >=12.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/eslintrc/node_modules/ajv": {
|
||||
"version": "6.12.6",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
|
||||
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
"json-schema-traverse": "^0.4.1",
|
||||
"uri-js": "^4.2.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/eslintrc/node_modules/globals": {
|
||||
"version": "12.4.0",
|
||||
"resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
|
||||
|
@ -1669,14 +1658,18 @@
|
|||
}
|
||||
},
|
||||
"node_modules/ajv": {
|
||||
"version": "6.12.2",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
|
||||
"integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
|
||||
"version": "6.12.6",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
|
||||
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
"json-schema-traverse": "^0.4.1",
|
||||
"uri-js": "^4.2.2"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/epoberezkin"
|
||||
}
|
||||
},
|
||||
"node_modules/ajv-oai": {
|
||||
|
@ -1989,13 +1982,13 @@
|
|||
"integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
|
||||
},
|
||||
"node_modules/asl-validator": {
|
||||
"version": "1.9.5",
|
||||
"resolved": "https://registry.npmjs.org/asl-validator/-/asl-validator-1.9.5.tgz",
|
||||
"integrity": "sha512-tjvZKdKFb81oHu1Xzz5w/shmTZQxS8IK+cEpf/ugHgVi0aNHvguQMg7GHZiRiQaiEYxJiupajusajlhekYBb5g==",
|
||||
"version": "1.9.8",
|
||||
"resolved": "https://registry.npmjs.org/asl-validator/-/asl-validator-1.9.8.tgz",
|
||||
"integrity": "sha512-t09Xw2JGAswoVHxBSTCO/acCCnDUi3C8zfVq0JNWivCW7+2wsmPU8TBV8iH6tpgjnGLSmCJgckalwOJ0bi3twg==",
|
||||
"dependencies": {
|
||||
"ajv": "^6.12.2",
|
||||
"ajv": "^6.12.6",
|
||||
"commander": "^5.1.0",
|
||||
"jsonpath": "^1.0.2"
|
||||
"jsonpath": "^1.1.0"
|
||||
},
|
||||
"bin": {
|
||||
"asl-validator": "bin/asl-validator.js"
|
||||
|
@ -2406,6 +2399,7 @@
|
|||
"dependencies": {
|
||||
"anymatch": "~3.1.1",
|
||||
"braces": "~3.0.2",
|
||||
"fsevents": "~2.1.2",
|
||||
"glob-parent": "~5.1.0",
|
||||
"is-binary-path": "~2.1.0",
|
||||
"is-glob": "~4.0.1",
|
||||
|
@ -3794,17 +3788,6 @@
|
|||
"node": "^10.12.0 || >=12.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/ajv": {
|
||||
"version": "6.12.6",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
|
||||
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
"json-schema-traverse": "^0.4.1",
|
||||
"uri-js": "^4.2.2"
|
||||
}
|
||||
},
|
||||
"node_modules/eslint/node_modules/astral-regex": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
|
||||
|
@ -4735,17 +4718,6 @@
|
|||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/har-validator/node_modules/ajv": {
|
||||
"version": "6.12.6",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
|
||||
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
"json-schema-traverse": "^0.4.1",
|
||||
"uri-js": "^4.2.2"
|
||||
}
|
||||
},
|
||||
"node_modules/hard-rejection": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
|
||||
|
@ -5317,6 +5289,7 @@
|
|||
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
|
||||
"integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
|
||||
"dependencies": {
|
||||
"graceful-fs": "^4.1.6",
|
||||
"universalify": "^2.0.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
|
@ -5511,10 +5484,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/jsonpath": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.0.2.tgz",
|
||||
"integrity": "sha512-rmzlgFZiQPc6q4HDyK8s9Qb4oxBnI5sF61y/Co5PV0lc3q2bIuRsNdueVbhoSHdKM4fxeimphOAtfz47yjCfeA==",
|
||||
"hasInstallScript": true,
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.0.tgz",
|
||||
"integrity": "sha512-CZHwa1sZOf42qkIyK7evwToFXeTB4iplbl6Z9CVwU0wmBQPffL6gtYJXCoeciJoZENMuzaidPjhp2iOLRei4wQ==",
|
||||
"dependencies": {
|
||||
"esprima": "1.2.2",
|
||||
"static-eval": "2.0.2",
|
||||
|
@ -9038,6 +9010,7 @@
|
|||
"integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
|
||||
"dependencies": {
|
||||
"source-map": "~0.5.1",
|
||||
"uglify-to-browserify": "~1.0.0",
|
||||
"yargs": "~3.10.0"
|
||||
},
|
||||
"bin": {
|
||||
|
@ -10199,17 +10172,6 @@
|
|||
"strip-json-comments": "^3.1.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"ajv": {
|
||||
"version": "6.12.6",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
|
||||
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
|
||||
"requires": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
"json-schema-traverse": "^0.4.1",
|
||||
"uri-js": "^4.2.2"
|
||||
}
|
||||
},
|
||||
"globals": {
|
||||
"version": "12.4.0",
|
||||
"resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
|
||||
|
@ -10893,9 +10855,9 @@
|
|||
}
|
||||
},
|
||||
"ajv": {
|
||||
"version": "6.12.2",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
|
||||
"integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
|
||||
"version": "6.12.6",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
|
||||
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
|
||||
"requires": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
|
@ -11161,13 +11123,13 @@
|
|||
"integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
|
||||
},
|
||||
"asl-validator": {
|
||||
"version": "1.9.5",
|
||||
"resolved": "https://registry.npmjs.org/asl-validator/-/asl-validator-1.9.5.tgz",
|
||||
"integrity": "sha512-tjvZKdKFb81oHu1Xzz5w/shmTZQxS8IK+cEpf/ugHgVi0aNHvguQMg7GHZiRiQaiEYxJiupajusajlhekYBb5g==",
|
||||
"version": "1.9.8",
|
||||
"resolved": "https://registry.npmjs.org/asl-validator/-/asl-validator-1.9.8.tgz",
|
||||
"integrity": "sha512-t09Xw2JGAswoVHxBSTCO/acCCnDUi3C8zfVq0JNWivCW7+2wsmPU8TBV8iH6tpgjnGLSmCJgckalwOJ0bi3twg==",
|
||||
"requires": {
|
||||
"ajv": "^6.12.2",
|
||||
"ajv": "^6.12.6",
|
||||
"commander": "^5.1.0",
|
||||
"jsonpath": "^1.0.2"
|
||||
"jsonpath": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"asn1": {
|
||||
|
@ -12289,19 +12251,6 @@
|
|||
"lodash": "^4.17.20",
|
||||
"minimatch": "^3.0.4",
|
||||
"strip-json-comments": "^3.1.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"ajv": {
|
||||
"version": "6.12.6",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
|
||||
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
|
||||
"requires": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
"json-schema-traverse": "^0.4.1",
|
||||
"uri-js": "^4.2.2"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"astral-regex": {
|
||||
|
@ -13386,19 +13335,6 @@
|
|||
"requires": {
|
||||
"ajv": "^6.12.3",
|
||||
"har-schema": "^2.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"ajv": {
|
||||
"version": "6.12.6",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
|
||||
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
|
||||
"requires": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
"json-schema-traverse": "^0.4.1",
|
||||
"uri-js": "^4.2.2"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"hard-rejection": {
|
||||
|
@ -14006,9 +13942,9 @@
|
|||
}
|
||||
},
|
||||
"jsonpath": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.0.2.tgz",
|
||||
"integrity": "sha512-rmzlgFZiQPc6q4HDyK8s9Qb4oxBnI5sF61y/Co5PV0lc3q2bIuRsNdueVbhoSHdKM4fxeimphOAtfz47yjCfeA==",
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.0.tgz",
|
||||
"integrity": "sha512-CZHwa1sZOf42qkIyK7evwToFXeTB4iplbl6Z9CVwU0wmBQPffL6gtYJXCoeciJoZENMuzaidPjhp2iOLRei4wQ==",
|
||||
"requires": {
|
||||
"esprima": "1.2.2",
|
||||
"static-eval": "2.0.2",
|
||||
|
|
2
dependencies/package.json
vendored
2
dependencies/package.json
vendored
|
@ -5,7 +5,7 @@
|
|||
"@stoplight/spectral": "^5.8.1",
|
||||
"@typescript-eslint/eslint-plugin": "^4.15.2",
|
||||
"@typescript-eslint/parser": "^4.15.2",
|
||||
"asl-validator": "^1.9.4",
|
||||
"asl-validator": "^1.9.8",
|
||||
"axios": "^0.21.1",
|
||||
"babel-eslint": "^10.1.0",
|
||||
"dockerfilelint": "^1.8.0",
|
||||
|
|
Loading…
Reference in a new issue