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:
Lukas Gravley 2021-02-25 08:57:42 -06:00 committed by GitHub
parent 205a0333bd
commit acf858ae79
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 446 additions and 114 deletions

View 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

View file

@ -46,14 +46,15 @@ The **Super-Linter** has _CI/CT/CD_ configured utilizing **GitHub** Actions.
## Releasing ## 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 - It will notify the issue it has seen the information and starts the Actions job
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) - It will create a branch and update the `actions.yml` with the new version supplied to the issue
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) - It will then create a PR with the updated code
4. A GitHub Action will Publish the Docker image to GitHub Package Registry once a Release is created - It will then create the release and build the artifacts needed
5. A GitHub Action will Publish the Docker image to Docker Hub once a Release is created - it will then publish the release and merge the PR
6. Look for approval from [CODEOWNERS](https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners) - 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 ## Resources

View 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 -->

View file

@ -1,9 +1,9 @@
--- ---
######################### #################################
######################### #################################
## Deploy Docker Image ## ## Deploy Release Docker Image ##
######################### #################################
######################### #################################
# #
# Documentation: # Documentation:
@ -14,9 +14,9 @@
# Start the job on all push to master # # Start the job on all push to master #
####################################### #######################################
on: on:
release: # Start when a pull request is opened
# Want to run the automation when a release is created issues:
types: ['created'] types: ['opened']
############### ###############
# Set the Job # # Set the Job #
@ -27,8 +27,13 @@ jobs:
name: Deploy Docker Image - Release name: Deploy Docker Image - Release
# Set the agent to run on # Set the agent to run on
runs-on: ubuntu-latest runs-on: ubuntu-latest
# Only run on main repo # Only run if Admin start job and it was the Release Issue template
if: github.repository == 'github/super-linter' 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 # # Load all steps #
################## ##################
@ -39,6 +44,35 @@ jobs:
- name: Checkout Code - name: Checkout Code
uses: actions/checkout@v2.3.4 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 # # Get the current date #
######################## ########################
@ -70,6 +104,21 @@ jobs:
password: ${{ secrets.GCR_TOKEN }} password: ${{ secrets.GCR_TOKEN }}
registry: ghcr.io 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 # # Build and Push containers to registries #
########################################### ###########################################
@ -86,7 +135,49 @@ jobs:
tags: | tags: |
github/super-linter:latest github/super-linter:latest
github/super-linter:v3 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:latest
ghcr.io/github/super-linter:v3 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
View file

@ -10,7 +10,7 @@
"@stoplight/spectral": "^5.8.1", "@stoplight/spectral": "^5.8.1",
"@typescript-eslint/eslint-plugin": "^4.15.2", "@typescript-eslint/eslint-plugin": "^4.15.2",
"@typescript-eslint/parser": "^4.15.2", "@typescript-eslint/parser": "^4.15.2",
"asl-validator": "^1.9.4", "asl-validator": "^1.9.8",
"axios": "^0.21.1", "axios": "^0.21.1",
"babel-eslint": "^10.1.0", "babel-eslint": "^10.1.0",
"dockerfilelint": "^1.8.0", "dockerfilelint": "^1.8.0",
@ -777,17 +777,6 @@
"node": "^10.12.0 || >=12.0.0" "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": { "node_modules/@eslint/eslintrc/node_modules/globals": {
"version": "12.4.0", "version": "12.4.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
@ -1669,14 +1658,18 @@
} }
}, },
"node_modules/ajv": { "node_modules/ajv": {
"version": "6.12.2", "version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"dependencies": { "dependencies": {
"fast-deep-equal": "^3.1.1", "fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0", "fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1", "json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2" "uri-js": "^4.2.2"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/epoberezkin"
} }
}, },
"node_modules/ajv-oai": { "node_modules/ajv-oai": {
@ -1989,13 +1982,13 @@
"integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
}, },
"node_modules/asl-validator": { "node_modules/asl-validator": {
"version": "1.9.5", "version": "1.9.8",
"resolved": "https://registry.npmjs.org/asl-validator/-/asl-validator-1.9.5.tgz", "resolved": "https://registry.npmjs.org/asl-validator/-/asl-validator-1.9.8.tgz",
"integrity": "sha512-tjvZKdKFb81oHu1Xzz5w/shmTZQxS8IK+cEpf/ugHgVi0aNHvguQMg7GHZiRiQaiEYxJiupajusajlhekYBb5g==", "integrity": "sha512-t09Xw2JGAswoVHxBSTCO/acCCnDUi3C8zfVq0JNWivCW7+2wsmPU8TBV8iH6tpgjnGLSmCJgckalwOJ0bi3twg==",
"dependencies": { "dependencies": {
"ajv": "^6.12.2", "ajv": "^6.12.6",
"commander": "^5.1.0", "commander": "^5.1.0",
"jsonpath": "^1.0.2" "jsonpath": "^1.1.0"
}, },
"bin": { "bin": {
"asl-validator": "bin/asl-validator.js" "asl-validator": "bin/asl-validator.js"
@ -2406,6 +2399,7 @@
"dependencies": { "dependencies": {
"anymatch": "~3.1.1", "anymatch": "~3.1.1",
"braces": "~3.0.2", "braces": "~3.0.2",
"fsevents": "~2.1.2",
"glob-parent": "~5.1.0", "glob-parent": "~5.1.0",
"is-binary-path": "~2.1.0", "is-binary-path": "~2.1.0",
"is-glob": "~4.0.1", "is-glob": "~4.0.1",
@ -3794,17 +3788,6 @@
"node": "^10.12.0 || >=12.0.0" "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": { "node_modules/eslint/node_modules/astral-regex": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
@ -4735,17 +4718,6 @@
"node": ">=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": { "node_modules/hard-rejection": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", "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", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
"integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
"dependencies": { "dependencies": {
"graceful-fs": "^4.1.6",
"universalify": "^2.0.0" "universalify": "^2.0.0"
}, },
"optionalDependencies": { "optionalDependencies": {
@ -5511,10 +5484,9 @@
} }
}, },
"node_modules/jsonpath": { "node_modules/jsonpath": {
"version": "1.0.2", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.0.2.tgz", "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.0.tgz",
"integrity": "sha512-rmzlgFZiQPc6q4HDyK8s9Qb4oxBnI5sF61y/Co5PV0lc3q2bIuRsNdueVbhoSHdKM4fxeimphOAtfz47yjCfeA==", "integrity": "sha512-CZHwa1sZOf42qkIyK7evwToFXeTB4iplbl6Z9CVwU0wmBQPffL6gtYJXCoeciJoZENMuzaidPjhp2iOLRei4wQ==",
"hasInstallScript": true,
"dependencies": { "dependencies": {
"esprima": "1.2.2", "esprima": "1.2.2",
"static-eval": "2.0.2", "static-eval": "2.0.2",
@ -9038,6 +9010,7 @@
"integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
"dependencies": { "dependencies": {
"source-map": "~0.5.1", "source-map": "~0.5.1",
"uglify-to-browserify": "~1.0.0",
"yargs": "~3.10.0" "yargs": "~3.10.0"
}, },
"bin": { "bin": {
@ -10199,17 +10172,6 @@
"strip-json-comments": "^3.1.1" "strip-json-comments": "^3.1.1"
}, },
"dependencies": { "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": { "globals": {
"version": "12.4.0", "version": "12.4.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
@ -10893,9 +10855,9 @@
} }
}, },
"ajv": { "ajv": {
"version": "6.12.2", "version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"requires": { "requires": {
"fast-deep-equal": "^3.1.1", "fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0", "fast-json-stable-stringify": "^2.0.0",
@ -11161,13 +11123,13 @@
"integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
}, },
"asl-validator": { "asl-validator": {
"version": "1.9.5", "version": "1.9.8",
"resolved": "https://registry.npmjs.org/asl-validator/-/asl-validator-1.9.5.tgz", "resolved": "https://registry.npmjs.org/asl-validator/-/asl-validator-1.9.8.tgz",
"integrity": "sha512-tjvZKdKFb81oHu1Xzz5w/shmTZQxS8IK+cEpf/ugHgVi0aNHvguQMg7GHZiRiQaiEYxJiupajusajlhekYBb5g==", "integrity": "sha512-t09Xw2JGAswoVHxBSTCO/acCCnDUi3C8zfVq0JNWivCW7+2wsmPU8TBV8iH6tpgjnGLSmCJgckalwOJ0bi3twg==",
"requires": { "requires": {
"ajv": "^6.12.2", "ajv": "^6.12.6",
"commander": "^5.1.0", "commander": "^5.1.0",
"jsonpath": "^1.0.2" "jsonpath": "^1.1.0"
} }
}, },
"asn1": { "asn1": {
@ -12289,19 +12251,6 @@
"lodash": "^4.17.20", "lodash": "^4.17.20",
"minimatch": "^3.0.4", "minimatch": "^3.0.4",
"strip-json-comments": "^3.1.1" "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": { "astral-regex": {
@ -13386,19 +13335,6 @@
"requires": { "requires": {
"ajv": "^6.12.3", "ajv": "^6.12.3",
"har-schema": "^2.0.0" "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": { "hard-rejection": {
@ -14006,9 +13942,9 @@
} }
}, },
"jsonpath": { "jsonpath": {
"version": "1.0.2", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.0.2.tgz", "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.0.tgz",
"integrity": "sha512-rmzlgFZiQPc6q4HDyK8s9Qb4oxBnI5sF61y/Co5PV0lc3q2bIuRsNdueVbhoSHdKM4fxeimphOAtfz47yjCfeA==", "integrity": "sha512-CZHwa1sZOf42qkIyK7evwToFXeTB4iplbl6Z9CVwU0wmBQPffL6gtYJXCoeciJoZENMuzaidPjhp2iOLRei4wQ==",
"requires": { "requires": {
"esprima": "1.2.2", "esprima": "1.2.2",
"static-eval": "2.0.2", "static-eval": "2.0.2",

View file

@ -5,7 +5,7 @@
"@stoplight/spectral": "^5.8.1", "@stoplight/spectral": "^5.8.1",
"@typescript-eslint/eslint-plugin": "^4.15.2", "@typescript-eslint/eslint-plugin": "^4.15.2",
"@typescript-eslint/parser": "^4.15.2", "@typescript-eslint/parser": "^4.15.2",
"asl-validator": "^1.9.4", "asl-validator": "^1.9.8",
"axios": "^0.21.1", "axios": "^0.21.1",
"babel-eslint": "^10.1.0", "babel-eslint": "^10.1.0",
"dockerfilelint": "^1.8.0", "dockerfilelint": "^1.8.0",