mirror of
https://github.com/garronej/ts-ci.git
synced 2025-11-30 21:43:05 +00:00
Follow up from https://github.com/garronej/github_actions_toolkit
This commit is contained in:
commit
5297ab00ab
54 changed files with 18162 additions and 0 deletions
102
.gitignore
vendored
Normal file
102
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
# Dependency directory
|
||||
node_modules
|
||||
|
||||
# Rest pulled from https://github.com/github/gitignore/blob/master/Node.gitignore
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
lerna-debug.log*
|
||||
|
||||
# Diagnostic reports (https://nodejs.org/api/report.html)
|
||||
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
||||
|
||||
# Runtime data
|
||||
pids
|
||||
*.pid
|
||||
*.seed
|
||||
*.pid.lock
|
||||
|
||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||
lib-cov
|
||||
|
||||
# Coverage directory used by tools like istanbul
|
||||
coverage
|
||||
*.lcov
|
||||
|
||||
# nyc test coverage
|
||||
.nyc_output
|
||||
|
||||
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
||||
.grunt
|
||||
|
||||
# Bower dependency directory (https://bower.io/)
|
||||
bower_components
|
||||
|
||||
# node-waf configuration
|
||||
.lock-wscript
|
||||
|
||||
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||
build/Release
|
||||
|
||||
# Dependency directories
|
||||
jspm_packages/
|
||||
|
||||
# TypeScript v1 declaration files
|
||||
typings/
|
||||
|
||||
# TypeScript cache
|
||||
*.tsbuildinfo
|
||||
|
||||
# Optional npm cache directory
|
||||
.npm
|
||||
|
||||
# Optional eslint cache
|
||||
.eslintcache
|
||||
|
||||
# Optional REPL history
|
||||
.node_repl_history
|
||||
|
||||
# Output of 'npm pack'
|
||||
*.tgz
|
||||
|
||||
# Yarn Integrity file
|
||||
.yarn-integrity
|
||||
|
||||
# dotenv environment variables file
|
||||
.env
|
||||
.env.test
|
||||
|
||||
# parcel-bundler cache (https://parceljs.org/)
|
||||
.cache
|
||||
|
||||
# next.js build output
|
||||
.next
|
||||
|
||||
# nuxt.js build output
|
||||
.nuxt
|
||||
|
||||
# vuepress build output
|
||||
.vuepress/dist
|
||||
|
||||
# Serverless directories
|
||||
.serverless/
|
||||
|
||||
# FuseBox cache
|
||||
.fusebox/
|
||||
|
||||
# DynamoDB Local files
|
||||
.dynamodb/
|
||||
|
||||
# OS metadata
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
# Ignore built ts files
|
||||
__tests__/runner/*
|
||||
lib/**/*
|
||||
/bin
|
||||
|
||||
/.vscode
|
||||
35
README.md
Normal file
35
README.md
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
|
||||
# github_actions_toolkit
|
||||
|
||||
```bash
|
||||
npm install
|
||||
npm run build
|
||||
```
|
||||
|
||||
Example use:
|
||||
```yaml
|
||||
trigger-deploy:
|
||||
runs-on: ubuntu-latest
|
||||
if: steps.id1.outputs.is_version_changed && github.event_name == 'push'
|
||||
needs:
|
||||
- test-node
|
||||
- test-deno
|
||||
steps:
|
||||
- name: Check if package.json version have changed
|
||||
id: id1
|
||||
uses: garronej/github_actions_toolkit@master
|
||||
with:
|
||||
action_name: is_version_changed
|
||||
owner: ${{github.repository_owner}}
|
||||
repo: ${{github.repository.name}}
|
||||
branch_current: ${{master}}
|
||||
branch_new: ${{dev}}
|
||||
- name: Trigger publish if version changed
|
||||
uses: garronej/github_actions_toolkit@master
|
||||
with:
|
||||
action_name: dispatch_event
|
||||
owner: ${{github.repository_owner}}
|
||||
repo: ${{github.repository.name}}
|
||||
event_type: publish
|
||||
```
|
||||
|
||||
82
action.yml
Normal file
82
action.yml
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
name: 'github_actions_toolkit'
|
||||
description: 'A collection of github actions'
|
||||
author: 'u/garronej'
|
||||
inputs:
|
||||
action_name:
|
||||
required: true
|
||||
description: 'Action to run, one of: "get_package_json_version", "dispatch_event", "update_changelog", "sync_package_and_package_lock_version", "setup_repo_webhook_for_deno_land_publishing", "is_well_formed_and_available_module_name", "string_replace", "tell_if_project_uses_npm_or_yarn", "is_package_json_version_upgraded"'
|
||||
owner:
|
||||
required: false
|
||||
description: 'Repository owner, example: ''garronej'',github.repository_owner'
|
||||
default: '${{github.repository_owner}}'
|
||||
repo:
|
||||
required: false
|
||||
description: 'Repository name, example: ''evt'', github.event.repository.name'
|
||||
default: '${{github.event.repository.name}}'
|
||||
event_type:
|
||||
required: false
|
||||
description: 'see: https://developer.github.com/v3/repos/#create-a-repository-dispatch-event'
|
||||
client_payload_json:
|
||||
required: false
|
||||
description: 'Example ''{"p":"foo"}'' see: https://developer.github.com/v3/repos/#create-a-repository-dispatch-event'
|
||||
branch:
|
||||
required: false
|
||||
description: 'Example: default ( can also be a sha )'
|
||||
default: '${{ github.sha }}'
|
||||
exclude_commit_from_author_names_json:
|
||||
required: false
|
||||
description: 'For update_changelog, do not includes commit from user certain committer in the CHANGELOG.md, ex: ''["denoify_ci"]'''
|
||||
default: '["actions"]'
|
||||
module_name:
|
||||
required: false
|
||||
description: 'A candidate module name, Example: lodash'
|
||||
compare_to_version:
|
||||
required: false
|
||||
description: 'For get_package_json_version, a version against which comparing the result if found version more recent than compare_to_version compare_result is 1 if found version is equal to compare_to_version compare_result is 0 if found version is older to compare_to_version compare_result -1 Example: 0.1.3'
|
||||
input_string:
|
||||
required: false
|
||||
description: 'For string_replace, the string to replace'
|
||||
search_value:
|
||||
required: false
|
||||
description: 'For string_replace, Example ''-'' ( Will be used as arg for RegExp constructor )'
|
||||
replace_value:
|
||||
required: false
|
||||
description: 'For string_replace, Example ''_'''
|
||||
should_webhook_be_enabled:
|
||||
required: false
|
||||
description: 'true|false, Should the create webhook be enabled, with setup_repo_webhook_for_deno_land_publishing'
|
||||
default: 'true'
|
||||
github_token:
|
||||
required: false
|
||||
description: 'GitHub Personal access token'
|
||||
default: '${{ github.token }}'
|
||||
outputs:
|
||||
version:
|
||||
description: 'Output of get_package_json_version'
|
||||
is_valid_node_module_name:
|
||||
description: 'true|false'
|
||||
is_valid_deno_module_name:
|
||||
description: 'true|false'
|
||||
is_available_on_npm:
|
||||
description: 'true|false'
|
||||
is_available_on_deno_land:
|
||||
description: 'true|false'
|
||||
was_already_published:
|
||||
description: 'true|false'
|
||||
compare_result:
|
||||
description: '1|0|-1'
|
||||
replace_result:
|
||||
description: 'Output of string_replace'
|
||||
was_hook_created:
|
||||
description: 'true|false'
|
||||
npm_or_yarn:
|
||||
description: 'npm|yarn'
|
||||
from_version:
|
||||
description: 'Output of is_package_json_version_upgraded, string'
|
||||
to_version:
|
||||
description: 'Output of is_package_json_version_upgraded, string'
|
||||
is_upgraded_version:
|
||||
description: 'Output of is_package_json_version_upgraded, true|false'
|
||||
runs:
|
||||
using: 'node12'
|
||||
main: 'dist/index.js'
|
||||
12748
dist/index.js
vendored
Normal file
12748
dist/index.js
vendored
Normal file
File diff suppressed because it is too large
Load diff
831
package-lock.json
generated
Normal file
831
package-lock.json
generated
Normal file
|
|
@ -0,0 +1,831 @@
|
|||
{
|
||||
"name": "github_actions_toolkit",
|
||||
"version": "0.0.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
"@actions/core": {
|
||||
"version": "1.2.6",
|
||||
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.2.6.tgz",
|
||||
"integrity": "sha512-ZQYitnqiyBc3D+k7LsgSBmMDVkOVidaagDG7j3fOym77jNunWRuYx7VSHa9GNfFZh+zh61xsCjRj4JxMZlDqTA=="
|
||||
},
|
||||
"@jest/types": {
|
||||
"version": "24.9.0",
|
||||
"resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz",
|
||||
"integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/istanbul-lib-coverage": "^2.0.0",
|
||||
"@types/istanbul-reports": "^1.1.1",
|
||||
"@types/yargs": "^13.0.0"
|
||||
}
|
||||
},
|
||||
"@octokit/auth-token": {
|
||||
"version": "2.4.5",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.5.tgz",
|
||||
"integrity": "sha512-BpGYsPgJt05M7/L/5FoE1PiAbdxXFZkX/3kDYcsvd1v6UhlnE5e96dTDr0ezX/EFwciQxf3cNV0loipsURU+WA==",
|
||||
"requires": {
|
||||
"@octokit/types": "^6.0.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"@octokit/types": {
|
||||
"version": "6.12.2",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.12.2.tgz",
|
||||
"integrity": "sha512-kCkiN8scbCmSq+gwdJV0iLgHc0O/GTPY1/cffo9kECu1MvatLPh9E+qFhfRIktKfHEA6ZYvv6S1B4Wnv3bi3pA==",
|
||||
"requires": {
|
||||
"@octokit/openapi-types": "^5.3.2"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"@octokit/core": {
|
||||
"version": "2.5.4",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-2.5.4.tgz",
|
||||
"integrity": "sha512-HCp8yKQfTITYK+Nd09MHzAlP1v3Ii/oCohv0/TW9rhSLvzb98BOVs2QmVYuloE6a3l6LsfyGIwb6Pc4ycgWlIQ==",
|
||||
"requires": {
|
||||
"@octokit/auth-token": "^2.4.0",
|
||||
"@octokit/graphql": "^4.3.1",
|
||||
"@octokit/request": "^5.4.0",
|
||||
"@octokit/types": "^5.0.0",
|
||||
"before-after-hook": "^2.1.0",
|
||||
"universal-user-agent": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"@octokit/endpoint": {
|
||||
"version": "6.0.11",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.11.tgz",
|
||||
"integrity": "sha512-fUIPpx+pZyoLW4GCs3yMnlj2LfoXTWDUVPTC4V3MUEKZm48W+XYpeWSZCv+vYF1ZABUm2CqnDVf1sFtIYrj7KQ==",
|
||||
"requires": {
|
||||
"@octokit/types": "^6.0.3",
|
||||
"is-plain-object": "^5.0.0",
|
||||
"universal-user-agent": "^6.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@octokit/types": {
|
||||
"version": "6.12.2",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.12.2.tgz",
|
||||
"integrity": "sha512-kCkiN8scbCmSq+gwdJV0iLgHc0O/GTPY1/cffo9kECu1MvatLPh9E+qFhfRIktKfHEA6ZYvv6S1B4Wnv3bi3pA==",
|
||||
"requires": {
|
||||
"@octokit/openapi-types": "^5.3.2"
|
||||
}
|
||||
},
|
||||
"universal-user-agent": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
|
||||
"integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"@octokit/graphql": {
|
||||
"version": "4.6.1",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.6.1.tgz",
|
||||
"integrity": "sha512-2lYlvf4YTDgZCTXTW4+OX+9WTLFtEUc6hGm4qM1nlZjzxj+arizM4aHWzBVBCxY9glh7GIs0WEuiSgbVzv8cmA==",
|
||||
"requires": {
|
||||
"@octokit/request": "^5.3.0",
|
||||
"@octokit/types": "^6.0.3",
|
||||
"universal-user-agent": "^6.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@octokit/types": {
|
||||
"version": "6.12.2",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.12.2.tgz",
|
||||
"integrity": "sha512-kCkiN8scbCmSq+gwdJV0iLgHc0O/GTPY1/cffo9kECu1MvatLPh9E+qFhfRIktKfHEA6ZYvv6S1B4Wnv3bi3pA==",
|
||||
"requires": {
|
||||
"@octokit/openapi-types": "^5.3.2"
|
||||
}
|
||||
},
|
||||
"universal-user-agent": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
|
||||
"integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"@octokit/openapi-types": {
|
||||
"version": "5.3.2",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-5.3.2.tgz",
|
||||
"integrity": "sha512-NxF1yfYOUO92rCx3dwvA2onF30Vdlg7YUkMVXkeptqpzA3tRLplThhFleV/UKWFgh7rpKu1yYRbvNDUtzSopKA=="
|
||||
},
|
||||
"@octokit/plugin-paginate-rest": {
|
||||
"version": "2.11.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.11.0.tgz",
|
||||
"integrity": "sha512-7L9xQank2G3r1dGqrVPo1z62V5utbykOUzlmNHPz87Pww/JpZQ9KyG5CHtUzgmB4n5iDRKYNK/86A8D98HP0yA==",
|
||||
"requires": {
|
||||
"@octokit/types": "^6.11.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@octokit/types": {
|
||||
"version": "6.12.2",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.12.2.tgz",
|
||||
"integrity": "sha512-kCkiN8scbCmSq+gwdJV0iLgHc0O/GTPY1/cffo9kECu1MvatLPh9E+qFhfRIktKfHEA6ZYvv6S1B4Wnv3bi3pA==",
|
||||
"requires": {
|
||||
"@octokit/openapi-types": "^5.3.2"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"@octokit/plugin-request-log": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.3.tgz",
|
||||
"integrity": "sha512-4RFU4li238jMJAzLgAwkBAw+4Loile5haQMQr+uhFq27BmyJXcXSKvoQKqh0agsZEiUlW6iSv3FAgvmGkur7OQ=="
|
||||
},
|
||||
"@octokit/plugin-rest-endpoint-methods": {
|
||||
"version": "3.17.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-3.17.0.tgz",
|
||||
"integrity": "sha512-NFV3vq7GgoO2TrkyBRUOwflkfTYkFKS0tLAPym7RNpkwLCttqShaEGjthOsPEEL+7LFcYv3mU24+F2yVd3npmg==",
|
||||
"requires": {
|
||||
"@octokit/types": "^4.1.6",
|
||||
"deprecation": "^2.3.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@octokit/types": {
|
||||
"version": "4.1.10",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-4.1.10.tgz",
|
||||
"integrity": "sha512-/wbFy1cUIE5eICcg0wTKGXMlKSbaAxEr00qaBXzscLXpqhcwgXeS6P8O0pkysBhRfyjkKjJaYrvR1ExMO5eOXQ==",
|
||||
"requires": {
|
||||
"@types/node": ">= 8"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"@octokit/request": {
|
||||
"version": "5.4.14",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.14.tgz",
|
||||
"integrity": "sha512-VkmtacOIQp9daSnBmDI92xNIeLuSRDOIuplp/CJomkvzt7M18NXgG044Cx/LFKLgjKt9T2tZR6AtJayba9GTSA==",
|
||||
"requires": {
|
||||
"@octokit/endpoint": "^6.0.1",
|
||||
"@octokit/request-error": "^2.0.0",
|
||||
"@octokit/types": "^6.7.1",
|
||||
"deprecation": "^2.0.0",
|
||||
"is-plain-object": "^5.0.0",
|
||||
"node-fetch": "^2.6.1",
|
||||
"once": "^1.4.0",
|
||||
"universal-user-agent": "^6.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@octokit/types": {
|
||||
"version": "6.12.2",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.12.2.tgz",
|
||||
"integrity": "sha512-kCkiN8scbCmSq+gwdJV0iLgHc0O/GTPY1/cffo9kECu1MvatLPh9E+qFhfRIktKfHEA6ZYvv6S1B4Wnv3bi3pA==",
|
||||
"requires": {
|
||||
"@octokit/openapi-types": "^5.3.2"
|
||||
}
|
||||
},
|
||||
"universal-user-agent": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
|
||||
"integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"@octokit/request-error": {
|
||||
"version": "2.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.5.tgz",
|
||||
"integrity": "sha512-T/2wcCFyM7SkXzNoyVNWjyVlUwBvW3igM3Btr/eKYiPmucXTtkxt2RBsf6gn3LTzaLSLTQtNmvg+dGsOxQrjZg==",
|
||||
"requires": {
|
||||
"@octokit/types": "^6.0.3",
|
||||
"deprecation": "^2.0.0",
|
||||
"once": "^1.4.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@octokit/types": {
|
||||
"version": "6.12.2",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.12.2.tgz",
|
||||
"integrity": "sha512-kCkiN8scbCmSq+gwdJV0iLgHc0O/GTPY1/cffo9kECu1MvatLPh9E+qFhfRIktKfHEA6ZYvv6S1B4Wnv3bi3pA==",
|
||||
"requires": {
|
||||
"@octokit/openapi-types": "^5.3.2"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"@octokit/rest": {
|
||||
"version": "17.11.2",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-17.11.2.tgz",
|
||||
"integrity": "sha512-4jTmn8WossTUaLfNDfXk4fVJgbz5JgZE8eCs4BvIb52lvIH8rpVMD1fgRCrHbSd6LRPE5JFZSfAEtszrOq3ZFQ==",
|
||||
"requires": {
|
||||
"@octokit/core": "^2.4.3",
|
||||
"@octokit/plugin-paginate-rest": "^2.2.0",
|
||||
"@octokit/plugin-request-log": "^1.0.0",
|
||||
"@octokit/plugin-rest-endpoint-methods": "3.17.0"
|
||||
}
|
||||
},
|
||||
"@octokit/types": {
|
||||
"version": "5.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-5.5.0.tgz",
|
||||
"integrity": "sha512-UZ1pErDue6bZNjYOotCNveTXArOMZQFG6hKJfOnGnulVCMcVVi7YIIuuR4WfBhjo7zgpmzn/BkPDnUXtNx+PcQ==",
|
||||
"requires": {
|
||||
"@types/node": ">= 8"
|
||||
}
|
||||
},
|
||||
"@types/glob": {
|
||||
"version": "7.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz",
|
||||
"integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/minimatch": "*",
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"@types/istanbul-lib-coverage": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz",
|
||||
"integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/istanbul-lib-report": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
|
||||
"integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/istanbul-lib-coverage": "*"
|
||||
}
|
||||
},
|
||||
"@types/istanbul-reports": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz",
|
||||
"integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/istanbul-lib-coverage": "*",
|
||||
"@types/istanbul-lib-report": "*"
|
||||
}
|
||||
},
|
||||
"@types/jest": {
|
||||
"version": "24.9.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/jest/-/jest-24.9.1.tgz",
|
||||
"integrity": "sha512-Fb38HkXSVA4L8fGKEZ6le5bB8r6MRWlOCZbVuWZcmOMSCd2wCYOwN1ibj8daIoV9naq7aaOZjrLCoCMptKU/4Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"jest-diff": "^24.3.0"
|
||||
}
|
||||
},
|
||||
"@types/minimatch": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
|
||||
"integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "12.20.5",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.5.tgz",
|
||||
"integrity": "sha512-5Oy7tYZnu3a4pnJ//d4yVvOImExl4Vtwf0D40iKUlU+XlUsyV9iyFWyCFlwy489b72FMAik/EFwRkNLjjOdSPg=="
|
||||
},
|
||||
"@types/node-fetch": {
|
||||
"version": "2.5.8",
|
||||
"resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.8.tgz",
|
||||
"integrity": "sha512-fbjI6ja0N5ZA8TV53RUqzsKNkl9fv8Oj3T7zxW7FGv1GSH7gwJaNF8dzCjrqKaxKeUpTz4yT1DaJFq/omNpGfw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/node": "*",
|
||||
"form-data": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"@types/validate-npm-package-name": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@types/validate-npm-package-name/-/validate-npm-package-name-3.0.2.tgz",
|
||||
"integrity": "sha512-7ohzD2fh5iV74brBLY2SdEI/nt4vnUoY1++r0P8QEAL5utR0fTFGeGijJMLHTmeNriroZQphGyVp46CbIuILMA==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/yargs": {
|
||||
"version": "13.0.11",
|
||||
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.11.tgz",
|
||||
"integrity": "sha512-NRqD6T4gktUrDi1o1wLH3EKC1o2caCr7/wR87ODcbVITQF106OM3sFN92ysZ++wqelOd1CTzatnOBRDYYG6wGQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/yargs-parser": "*"
|
||||
}
|
||||
},
|
||||
"@types/yargs-parser": {
|
||||
"version": "20.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz",
|
||||
"integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==",
|
||||
"dev": true
|
||||
},
|
||||
"@zeit/ncc": {
|
||||
"version": "0.20.5",
|
||||
"resolved": "https://registry.npmjs.org/@zeit/ncc/-/ncc-0.20.5.tgz",
|
||||
"integrity": "sha512-XU6uzwvv95DqxciQx+aOLhbyBx/13ky+RK1y88Age9Du3BlA4mMPCy13BGjayOrrumOzlq1XV3SD/BWiZENXlw==",
|
||||
"dev": true
|
||||
},
|
||||
"ansi-regex": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
|
||||
"integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
|
||||
"dev": true
|
||||
},
|
||||
"ansi-styles": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
|
||||
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"color-convert": "^1.9.0"
|
||||
}
|
||||
},
|
||||
"argparse": {
|
||||
"version": "1.0.10",
|
||||
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
|
||||
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"sprintf-js": "~1.0.2"
|
||||
}
|
||||
},
|
||||
"asynckit": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
||||
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
|
||||
"dev": true
|
||||
},
|
||||
"balanced-match": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
|
||||
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
|
||||
},
|
||||
"before-after-hook": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.0.tgz",
|
||||
"integrity": "sha512-jH6rKQIfroBbhEXVmI7XmXe3ix5S/PgJqpzdDPnR8JGLHWNYLsYZ6tK5iWOF/Ra3oqEX0NobXGlzbiylIzVphQ=="
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
||||
"requires": {
|
||||
"balanced-match": "^1.0.0",
|
||||
"concat-map": "0.0.1"
|
||||
}
|
||||
},
|
||||
"builtins": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz",
|
||||
"integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og="
|
||||
},
|
||||
"chalk": {
|
||||
"version": "2.4.2",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
|
||||
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-styles": "^3.2.1",
|
||||
"escape-string-regexp": "^1.0.5",
|
||||
"supports-color": "^5.3.0"
|
||||
}
|
||||
},
|
||||
"color-convert": {
|
||||
"version": "1.9.3",
|
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
|
||||
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"color-name": "1.1.3"
|
||||
}
|
||||
},
|
||||
"color-name": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
|
||||
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
|
||||
"dev": true
|
||||
},
|
||||
"combined-stream": {
|
||||
"version": "1.0.8",
|
||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
||||
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"delayed-stream": "~1.0.0"
|
||||
}
|
||||
},
|
||||
"comment-json": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/comment-json/-/comment-json-3.0.3.tgz",
|
||||
"integrity": "sha512-P7XwYkC3qjIK45EAa9c5Y3lR7SMXhJqwFdWg3niAIAcbk3zlpKDdajV8Hyz/Y3sGNn3l+YNMl8A2N/OubSArHg==",
|
||||
"requires": {
|
||||
"core-util-is": "^1.0.2",
|
||||
"esprima": "^4.0.1",
|
||||
"has-own-prop": "^2.0.0",
|
||||
"repeat-string": "^1.6.1"
|
||||
}
|
||||
},
|
||||
"concat-map": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
||||
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
|
||||
},
|
||||
"core-util-is": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
|
||||
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
|
||||
},
|
||||
"cross-spawn": {
|
||||
"version": "6.0.5",
|
||||
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
|
||||
"integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
|
||||
"requires": {
|
||||
"nice-try": "^1.0.4",
|
||||
"path-key": "^2.0.1",
|
||||
"semver": "^5.5.0",
|
||||
"shebang-command": "^1.2.0",
|
||||
"which": "^1.2.9"
|
||||
}
|
||||
},
|
||||
"delayed-stream": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
|
||||
"dev": true
|
||||
},
|
||||
"deprecation": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
|
||||
"integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
|
||||
},
|
||||
"diff-sequences": {
|
||||
"version": "24.9.0",
|
||||
"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz",
|
||||
"integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==",
|
||||
"dev": true
|
||||
},
|
||||
"end-of-stream": {
|
||||
"version": "1.4.4",
|
||||
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
|
||||
"integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
|
||||
"requires": {
|
||||
"once": "^1.4.0"
|
||||
}
|
||||
},
|
||||
"escape-string-regexp": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
||||
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
|
||||
"dev": true
|
||||
},
|
||||
"esprima": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
|
||||
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
|
||||
},
|
||||
"evt": {
|
||||
"version": "1.6.8",
|
||||
"resolved": "https://registry.npmjs.org/evt/-/evt-1.6.8.tgz",
|
||||
"integrity": "sha512-QU0KfT16dG1z1VI7SzhDGZkCbc5LDnTBNGgKVjotmOrOr0M851hepIZx77YAlOwmwqdIx+uyOz24dxBLKy4bOw==",
|
||||
"requires": {
|
||||
"minimal-polyfills": "^1.0.8",
|
||||
"run-exclusive": "^2.1.12"
|
||||
}
|
||||
},
|
||||
"execa": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
|
||||
"integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
|
||||
"requires": {
|
||||
"cross-spawn": "^6.0.0",
|
||||
"get-stream": "^4.0.0",
|
||||
"is-stream": "^1.1.0",
|
||||
"npm-run-path": "^2.0.0",
|
||||
"p-finally": "^1.0.0",
|
||||
"signal-exit": "^3.0.0",
|
||||
"strip-eof": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"form-data": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
|
||||
"integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"asynckit": "^0.4.0",
|
||||
"combined-stream": "^1.0.8",
|
||||
"mime-types": "^2.1.12"
|
||||
}
|
||||
},
|
||||
"fs.realpath": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
|
||||
},
|
||||
"get-stream": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
|
||||
"integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
|
||||
"requires": {
|
||||
"pump": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"glob": {
|
||||
"version": "7.1.6",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
|
||||
"integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
|
||||
"requires": {
|
||||
"fs.realpath": "^1.0.0",
|
||||
"inflight": "^1.0.4",
|
||||
"inherits": "2",
|
||||
"minimatch": "^3.0.4",
|
||||
"once": "^1.3.0",
|
||||
"path-is-absolute": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"has-flag": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
|
||||
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
|
||||
"dev": true
|
||||
},
|
||||
"has-own-prop": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-own-prop/-/has-own-prop-2.0.0.tgz",
|
||||
"integrity": "sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ=="
|
||||
},
|
||||
"inflight": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
||||
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
|
||||
"requires": {
|
||||
"once": "^1.3.0",
|
||||
"wrappy": "1"
|
||||
}
|
||||
},
|
||||
"inherits": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
|
||||
},
|
||||
"is-plain-object": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
|
||||
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q=="
|
||||
},
|
||||
"is-stream": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
|
||||
"integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
|
||||
},
|
||||
"isexe": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
||||
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
|
||||
},
|
||||
"jest-diff": {
|
||||
"version": "24.9.0",
|
||||
"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz",
|
||||
"integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"chalk": "^2.0.1",
|
||||
"diff-sequences": "^24.9.0",
|
||||
"jest-get-type": "^24.9.0",
|
||||
"pretty-format": "^24.9.0"
|
||||
}
|
||||
},
|
||||
"jest-get-type": {
|
||||
"version": "24.9.0",
|
||||
"resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz",
|
||||
"integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==",
|
||||
"dev": true
|
||||
},
|
||||
"js-yaml": {
|
||||
"version": "3.14.1",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
|
||||
"integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"argparse": "^1.0.7",
|
||||
"esprima": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"macos-release": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.4.1.tgz",
|
||||
"integrity": "sha512-H/QHeBIN1fIGJX517pvK8IEK53yQOW7YcEI55oYtgjDdoCQQz7eJS94qt5kNrscReEyuD/JcdFCm2XBEcGOITg=="
|
||||
},
|
||||
"mime-db": {
|
||||
"version": "1.46.0",
|
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz",
|
||||
"integrity": "sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==",
|
||||
"dev": true
|
||||
},
|
||||
"mime-types": {
|
||||
"version": "2.1.29",
|
||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz",
|
||||
"integrity": "sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"mime-db": "1.46.0"
|
||||
}
|
||||
},
|
||||
"minimal-polyfills": {
|
||||
"version": "1.0.8",
|
||||
"resolved": "https://registry.npmjs.org/minimal-polyfills/-/minimal-polyfills-1.0.8.tgz",
|
||||
"integrity": "sha512-UMxkuvOc+d+ipPXCJnKb6dsBwkNccXPNHn77GAvUTVIpXklqWT2uu1flluct2jYVx6v0at2NbggnKar0V7WMng=="
|
||||
},
|
||||
"minimatch": {
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
|
||||
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
|
||||
"requires": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
}
|
||||
},
|
||||
"nice-try": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
|
||||
"integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
|
||||
},
|
||||
"node-fetch": {
|
||||
"version": "2.6.1",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
|
||||
"integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
|
||||
},
|
||||
"npm-run-path": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
|
||||
"integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
|
||||
"requires": {
|
||||
"path-key": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"once": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
|
||||
"requires": {
|
||||
"wrappy": "1"
|
||||
}
|
||||
},
|
||||
"os-name": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz",
|
||||
"integrity": "sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==",
|
||||
"requires": {
|
||||
"macos-release": "^2.2.0",
|
||||
"windows-release": "^3.1.0"
|
||||
}
|
||||
},
|
||||
"p-finally": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
|
||||
"integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
|
||||
},
|
||||
"path-is-absolute": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
||||
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
|
||||
},
|
||||
"path-key": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
|
||||
"integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
|
||||
},
|
||||
"prettier": {
|
||||
"version": "1.19.1",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz",
|
||||
"integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==",
|
||||
"dev": true
|
||||
},
|
||||
"pretty-format": {
|
||||
"version": "24.9.0",
|
||||
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz",
|
||||
"integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@jest/types": "^24.9.0",
|
||||
"ansi-regex": "^4.0.0",
|
||||
"ansi-styles": "^3.2.0",
|
||||
"react-is": "^16.8.4"
|
||||
}
|
||||
},
|
||||
"pump": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
|
||||
"integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
|
||||
"requires": {
|
||||
"end-of-stream": "^1.1.0",
|
||||
"once": "^1.3.1"
|
||||
}
|
||||
},
|
||||
"react-is": {
|
||||
"version": "16.13.1",
|
||||
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
|
||||
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
|
||||
"dev": true
|
||||
},
|
||||
"repeat-string": {
|
||||
"version": "1.6.1",
|
||||
"resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
|
||||
"integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
|
||||
},
|
||||
"run-exclusive": {
|
||||
"version": "2.2.14",
|
||||
"resolved": "https://registry.npmjs.org/run-exclusive/-/run-exclusive-2.2.14.tgz",
|
||||
"integrity": "sha512-NHaQfB3zPJFx7p4M06AcmoK8xz/h8YDMCdy3jxfyoC9VqIbl1U+DiVjUuAYZBRMwvj5qkQnOUGfsmyUC4k46dg==",
|
||||
"requires": {
|
||||
"minimal-polyfills": "^2.1.5"
|
||||
},
|
||||
"dependencies": {
|
||||
"minimal-polyfills": {
|
||||
"version": "2.1.6",
|
||||
"resolved": "https://registry.npmjs.org/minimal-polyfills/-/minimal-polyfills-2.1.6.tgz",
|
||||
"integrity": "sha512-vqoxj7eMzsqX0M6/dkgoNFPw6Mztgn5qjSl0bWGboQeU7Y4UPLeyoqQw6JI+0qmBcJYdkr3nK7dqY8u/fgRp5g=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"scripting-tools": {
|
||||
"version": "0.19.13",
|
||||
"resolved": "https://registry.npmjs.org/scripting-tools/-/scripting-tools-0.19.13.tgz",
|
||||
"integrity": "sha512-d09H8vzSVa8p4XUTJqHZDbjKDyl5TG3SyPfNPUUkfyOwjwykStmfK8AXyWq7VRWjcgzTpkTiJ9uMk1NytMQY7w=="
|
||||
},
|
||||
"semver": {
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
||||
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
|
||||
},
|
||||
"shebang-command": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
|
||||
"integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
|
||||
"requires": {
|
||||
"shebang-regex": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"shebang-regex": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
|
||||
"integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
|
||||
},
|
||||
"signal-exit": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
|
||||
"integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
|
||||
},
|
||||
"sprintf-js": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
|
||||
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
|
||||
"dev": true
|
||||
},
|
||||
"strip-eof": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
|
||||
"integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8="
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "5.5.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
|
||||
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"has-flag": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"typescript": {
|
||||
"version": "3.9.9",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.9.tgz",
|
||||
"integrity": "sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w==",
|
||||
"dev": true
|
||||
},
|
||||
"universal-user-agent": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-5.0.0.tgz",
|
||||
"integrity": "sha512-B5TPtzZleXyPrUMKCpEHFmVhMN6EhmJYjG5PQna9s7mXeSqGTLap4OpqLl5FCEFUI3UBmllkETwKf/db66Y54Q==",
|
||||
"requires": {
|
||||
"os-name": "^3.1.0"
|
||||
}
|
||||
},
|
||||
"url-join": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz",
|
||||
"integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA=="
|
||||
},
|
||||
"validate-npm-package-name": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz",
|
||||
"integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=",
|
||||
"requires": {
|
||||
"builtins": "^1.0.3"
|
||||
}
|
||||
},
|
||||
"which": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
|
||||
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
|
||||
"requires": {
|
||||
"isexe": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"windows-release": {
|
||||
"version": "3.3.3",
|
||||
"resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.3.3.tgz",
|
||||
"integrity": "sha512-OSOGH1QYiW5yVor9TtmXKQvt2vjQqbYS+DqmsZw+r7xDwLXEeT3JGW0ZppFmHx4diyXmxt238KFR3N9jzevBRg==",
|
||||
"requires": {
|
||||
"execa": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"wrappy": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
|
||||
}
|
||||
}
|
||||
}
|
||||
41
package.json
Normal file
41
package.json
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
{
|
||||
"name": "github_actions_toolkit",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "A collection of github actions",
|
||||
"main": "lib/main.js",
|
||||
"scripts": {
|
||||
"generate-action-yml": "node lib/bin/generateActionYml.js",
|
||||
"pack": "ncc build",
|
||||
"build": "tsc && npm run generate-action-yml && npm run pack",
|
||||
"clean": "rm -rf dist lib node_modules package-lock.json"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/garronej/github-actions-toolkit.git"
|
||||
},
|
||||
"author": "u/garronej",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@actions/core": "^1.2.0",
|
||||
"@octokit/rest": "^17.6.0",
|
||||
"comment-json": "^3.0.2",
|
||||
"evt": "1.6.8",
|
||||
"glob": "^7.1.6",
|
||||
"node-fetch": "^2.6.1",
|
||||
"scripting-tools": "^0.19.12",
|
||||
"url-join": "^4.0.1",
|
||||
"validate-npm-package-name": "^3.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/glob": "^7.1.1",
|
||||
"@types/jest": "^24.0.23",
|
||||
"@types/node": "^12.7.12",
|
||||
"@types/node-fetch": "^2.5.7",
|
||||
"@types/validate-npm-package-name": "^3.0.0",
|
||||
"@zeit/ncc": "^0.20.5",
|
||||
"js-yaml": "^3.13.1",
|
||||
"prettier": "^1.19.1",
|
||||
"typescript": "^3.6.4"
|
||||
}
|
||||
}
|
||||
317
res/closed_pr.json
Normal file
317
res/closed_pr.json
Normal file
|
|
@ -0,0 +1,317 @@
|
|||
{
|
||||
"url": "https://api.github.com/repos/denoland/deno_website2/pulls/393",
|
||||
"id": 416660425,
|
||||
"node_id": "MDExOlB1bGxSZXF1ZXN0NDE2NjYwNDI1",
|
||||
"html_url": "https://github.com/denoland/deno_website2/pull/393",
|
||||
"diff_url": "https://github.com/denoland/deno_website2/pull/393.diff",
|
||||
"patch_url": "https://github.com/denoland/deno_website2/pull/393.patch",
|
||||
"issue_url": "https://api.github.com/repos/denoland/deno_website2/issues/393",
|
||||
"number": 393,
|
||||
"state": "closed",
|
||||
"locked": false,
|
||||
"title": "fix cf worker deploy",
|
||||
"user": {
|
||||
"login": "ry",
|
||||
"id": 80,
|
||||
"node_id": "MDQ6VXNlcjgw",
|
||||
"avatar_url": "https://avatars1.githubusercontent.com/u/80?v=4",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/ry",
|
||||
"html_url": "https://github.com/ry",
|
||||
"followers_url": "https://api.github.com/users/ry/followers",
|
||||
"following_url": "https://api.github.com/users/ry/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/ry/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/ry/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/ry/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/ry/orgs",
|
||||
"repos_url": "https://api.github.com/users/ry/repos",
|
||||
"events_url": "https://api.github.com/users/ry/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/ry/received_events",
|
||||
"type": "User",
|
||||
"site_admin": false
|
||||
},
|
||||
"body": "",
|
||||
"created_at": "2020-05-12T11:22:08Z",
|
||||
"updated_at": "2020-05-12T11:25:32Z",
|
||||
"closed_at": "2020-05-12T11:25:28Z",
|
||||
"merged_at": "2020-05-12T11:25:28Z",
|
||||
"merge_commit_sha": "111d5300a10fb43e33be0ab9afa9e7762b32c268",
|
||||
"assignee": null,
|
||||
"assignees": [],
|
||||
"requested_reviewers": [],
|
||||
"requested_teams": [],
|
||||
"labels": [],
|
||||
"milestone": null,
|
||||
"draft": false,
|
||||
"commits_url": "https://api.github.com/repos/denoland/deno_website2/pulls/393/commits",
|
||||
"review_comments_url": "https://api.github.com/repos/denoland/deno_website2/pulls/393/comments",
|
||||
"review_comment_url": "https://api.github.com/repos/denoland/deno_website2/pulls/comments{/number}",
|
||||
"comments_url": "https://api.github.com/repos/denoland/deno_website2/issues/393/comments",
|
||||
"statuses_url": "https://api.github.com/repos/denoland/deno_website2/statuses/70de9ffc401467de5014f11b9d6c45817f98a7e5",
|
||||
"head": {
|
||||
"label": "ry:fix_worker",
|
||||
"ref": "fix_worker",
|
||||
"sha": "70de9ffc401467de5014f11b9d6c45817f98a7e5",
|
||||
"user": {
|
||||
"login": "ry",
|
||||
"id": 80,
|
||||
"node_id": "MDQ6VXNlcjgw",
|
||||
"avatar_url": "https://avatars1.githubusercontent.com/u/80?v=4",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/ry",
|
||||
"html_url": "https://github.com/ry",
|
||||
"followers_url": "https://api.github.com/users/ry/followers",
|
||||
"following_url": "https://api.github.com/users/ry/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/ry/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/ry/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/ry/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/ry/orgs",
|
||||
"repos_url": "https://api.github.com/users/ry/repos",
|
||||
"events_url": "https://api.github.com/users/ry/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/ry/received_events",
|
||||
"type": "User",
|
||||
"site_admin": false
|
||||
},
|
||||
"repo": {
|
||||
"id": 217404450,
|
||||
"node_id": "MDEwOlJlcG9zaXRvcnkyMTc0MDQ0NTA=",
|
||||
"name": "deno_website2",
|
||||
"full_name": "ry/deno_website2",
|
||||
"private": false,
|
||||
"owner": {
|
||||
"login": "ry",
|
||||
"id": 80,
|
||||
"node_id": "MDQ6VXNlcjgw",
|
||||
"avatar_url": "https://avatars1.githubusercontent.com/u/80?v=4",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/ry",
|
||||
"html_url": "https://github.com/ry",
|
||||
"followers_url": "https://api.github.com/users/ry/followers",
|
||||
"following_url": "https://api.github.com/users/ry/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/ry/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/ry/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/ry/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/ry/orgs",
|
||||
"repos_url": "https://api.github.com/users/ry/repos",
|
||||
"events_url": "https://api.github.com/users/ry/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/ry/received_events",
|
||||
"type": "User",
|
||||
"site_admin": false
|
||||
},
|
||||
"html_url": "https://github.com/ry/deno_website2",
|
||||
"description": "prototype of new deno.land website ",
|
||||
"fork": true,
|
||||
"url": "https://api.github.com/repos/ry/deno_website2",
|
||||
"forks_url": "https://api.github.com/repos/ry/deno_website2/forks",
|
||||
"keys_url": "https://api.github.com/repos/ry/deno_website2/keys{/key_id}",
|
||||
"collaborators_url": "https://api.github.com/repos/ry/deno_website2/collaborators{/collaborator}",
|
||||
"teams_url": "https://api.github.com/repos/ry/deno_website2/teams",
|
||||
"hooks_url": "https://api.github.com/repos/ry/deno_website2/hooks",
|
||||
"issue_events_url": "https://api.github.com/repos/ry/deno_website2/issues/events{/number}",
|
||||
"events_url": "https://api.github.com/repos/ry/deno_website2/events",
|
||||
"assignees_url": "https://api.github.com/repos/ry/deno_website2/assignees{/user}",
|
||||
"branches_url": "https://api.github.com/repos/ry/deno_website2/branches{/branch}",
|
||||
"tags_url": "https://api.github.com/repos/ry/deno_website2/tags",
|
||||
"blobs_url": "https://api.github.com/repos/ry/deno_website2/git/blobs{/sha}",
|
||||
"git_tags_url": "https://api.github.com/repos/ry/deno_website2/git/tags{/sha}",
|
||||
"git_refs_url": "https://api.github.com/repos/ry/deno_website2/git/refs{/sha}",
|
||||
"trees_url": "https://api.github.com/repos/ry/deno_website2/git/trees{/sha}",
|
||||
"statuses_url": "https://api.github.com/repos/ry/deno_website2/statuses/{sha}",
|
||||
"languages_url": "https://api.github.com/repos/ry/deno_website2/languages",
|
||||
"stargazers_url": "https://api.github.com/repos/ry/deno_website2/stargazers",
|
||||
"contributors_url": "https://api.github.com/repos/ry/deno_website2/contributors",
|
||||
"subscribers_url": "https://api.github.com/repos/ry/deno_website2/subscribers",
|
||||
"subscription_url": "https://api.github.com/repos/ry/deno_website2/subscription",
|
||||
"commits_url": "https://api.github.com/repos/ry/deno_website2/commits{/sha}",
|
||||
"git_commits_url": "https://api.github.com/repos/ry/deno_website2/git/commits{/sha}",
|
||||
"comments_url": "https://api.github.com/repos/ry/deno_website2/comments{/number}",
|
||||
"issue_comment_url": "https://api.github.com/repos/ry/deno_website2/issues/comments{/number}",
|
||||
"contents_url": "https://api.github.com/repos/ry/deno_website2/contents/{+path}",
|
||||
"compare_url": "https://api.github.com/repos/ry/deno_website2/compare/{base}...{head}",
|
||||
"merges_url": "https://api.github.com/repos/ry/deno_website2/merges",
|
||||
"archive_url": "https://api.github.com/repos/ry/deno_website2/{archive_format}{/ref}",
|
||||
"downloads_url": "https://api.github.com/repos/ry/deno_website2/downloads",
|
||||
"issues_url": "https://api.github.com/repos/ry/deno_website2/issues{/number}",
|
||||
"pulls_url": "https://api.github.com/repos/ry/deno_website2/pulls{/number}",
|
||||
"milestones_url": "https://api.github.com/repos/ry/deno_website2/milestones{/number}",
|
||||
"notifications_url": "https://api.github.com/repos/ry/deno_website2/notifications{?since,all,participating}",
|
||||
"labels_url": "https://api.github.com/repos/ry/deno_website2/labels{/name}",
|
||||
"releases_url": "https://api.github.com/repos/ry/deno_website2/releases{/id}",
|
||||
"deployments_url": "https://api.github.com/repos/ry/deno_website2/deployments",
|
||||
"created_at": "2019-10-24T22:14:58Z",
|
||||
"updated_at": "2020-05-12T16:20:05Z",
|
||||
"pushed_at": "2020-05-12T11:25:32Z",
|
||||
"git_url": "git://github.com/ry/deno_website2.git",
|
||||
"ssh_url": "git@github.com:ry/deno_website2.git",
|
||||
"clone_url": "https://github.com/ry/deno_website2.git",
|
||||
"svn_url": "https://github.com/ry/deno_website2",
|
||||
"homepage": "https://denoland.netlify.com",
|
||||
"size": 1381,
|
||||
"stargazers_count": 5,
|
||||
"watchers_count": 5,
|
||||
"language": null,
|
||||
"has_issues": false,
|
||||
"has_projects": true,
|
||||
"has_downloads": true,
|
||||
"has_wiki": true,
|
||||
"has_pages": false,
|
||||
"forks_count": 0,
|
||||
"mirror_url": null,
|
||||
"archived": false,
|
||||
"disabled": false,
|
||||
"open_issues_count": 0,
|
||||
"license": null,
|
||||
"forks": 0,
|
||||
"open_issues": 0,
|
||||
"watchers": 5,
|
||||
"default_branch": "master"
|
||||
}
|
||||
},
|
||||
"base": {
|
||||
"label": "denoland:master",
|
||||
"ref": "master",
|
||||
"sha": "6147b893faf9ee61c28c5f6854d82098a749c8ee",
|
||||
"user": {
|
||||
"login": "denoland",
|
||||
"id": 42048915,
|
||||
"node_id": "MDEyOk9yZ2FuaXphdGlvbjQyMDQ4OTE1",
|
||||
"avatar_url": "https://avatars1.githubusercontent.com/u/42048915?v=4",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/denoland",
|
||||
"html_url": "https://github.com/denoland",
|
||||
"followers_url": "https://api.github.com/users/denoland/followers",
|
||||
"following_url": "https://api.github.com/users/denoland/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/denoland/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/denoland/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/denoland/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/denoland/orgs",
|
||||
"repos_url": "https://api.github.com/users/denoland/repos",
|
||||
"events_url": "https://api.github.com/users/denoland/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/denoland/received_events",
|
||||
"type": "Organization",
|
||||
"site_admin": false
|
||||
},
|
||||
"repo": {
|
||||
"id": 216156518,
|
||||
"node_id": "MDEwOlJlcG9zaXRvcnkyMTYxNTY1MTg=",
|
||||
"name": "deno_website2",
|
||||
"full_name": "denoland/deno_website2",
|
||||
"private": false,
|
||||
"owner": {
|
||||
"login": "denoland",
|
||||
"id": 42048915,
|
||||
"node_id": "MDEyOk9yZ2FuaXphdGlvbjQyMDQ4OTE1",
|
||||
"avatar_url": "https://avatars1.githubusercontent.com/u/42048915?v=4",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/denoland",
|
||||
"html_url": "https://github.com/denoland",
|
||||
"followers_url": "https://api.github.com/users/denoland/followers",
|
||||
"following_url": "https://api.github.com/users/denoland/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/denoland/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/denoland/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/denoland/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/denoland/orgs",
|
||||
"repos_url": "https://api.github.com/users/denoland/repos",
|
||||
"events_url": "https://api.github.com/users/denoland/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/denoland/received_events",
|
||||
"type": "Organization",
|
||||
"site_admin": false
|
||||
},
|
||||
"html_url": "https://github.com/denoland/deno_website2",
|
||||
"description": "deno.land website ",
|
||||
"fork": false,
|
||||
"url": "https://api.github.com/repos/denoland/deno_website2",
|
||||
"forks_url": "https://api.github.com/repos/denoland/deno_website2/forks",
|
||||
"keys_url": "https://api.github.com/repos/denoland/deno_website2/keys{/key_id}",
|
||||
"collaborators_url": "https://api.github.com/repos/denoland/deno_website2/collaborators{/collaborator}",
|
||||
"teams_url": "https://api.github.com/repos/denoland/deno_website2/teams",
|
||||
"hooks_url": "https://api.github.com/repos/denoland/deno_website2/hooks",
|
||||
"issue_events_url": "https://api.github.com/repos/denoland/deno_website2/issues/events{/number}",
|
||||
"events_url": "https://api.github.com/repos/denoland/deno_website2/events",
|
||||
"assignees_url": "https://api.github.com/repos/denoland/deno_website2/assignees{/user}",
|
||||
"branches_url": "https://api.github.com/repos/denoland/deno_website2/branches{/branch}",
|
||||
"tags_url": "https://api.github.com/repos/denoland/deno_website2/tags",
|
||||
"blobs_url": "https://api.github.com/repos/denoland/deno_website2/git/blobs{/sha}",
|
||||
"git_tags_url": "https://api.github.com/repos/denoland/deno_website2/git/tags{/sha}",
|
||||
"git_refs_url": "https://api.github.com/repos/denoland/deno_website2/git/refs{/sha}",
|
||||
"trees_url": "https://api.github.com/repos/denoland/deno_website2/git/trees{/sha}",
|
||||
"statuses_url": "https://api.github.com/repos/denoland/deno_website2/statuses/{sha}",
|
||||
"languages_url": "https://api.github.com/repos/denoland/deno_website2/languages",
|
||||
"stargazers_url": "https://api.github.com/repos/denoland/deno_website2/stargazers",
|
||||
"contributors_url": "https://api.github.com/repos/denoland/deno_website2/contributors",
|
||||
"subscribers_url": "https://api.github.com/repos/denoland/deno_website2/subscribers",
|
||||
"subscription_url": "https://api.github.com/repos/denoland/deno_website2/subscription",
|
||||
"commits_url": "https://api.github.com/repos/denoland/deno_website2/commits{/sha}",
|
||||
"git_commits_url": "https://api.github.com/repos/denoland/deno_website2/git/commits{/sha}",
|
||||
"comments_url": "https://api.github.com/repos/denoland/deno_website2/comments{/number}",
|
||||
"issue_comment_url": "https://api.github.com/repos/denoland/deno_website2/issues/comments{/number}",
|
||||
"contents_url": "https://api.github.com/repos/denoland/deno_website2/contents/{+path}",
|
||||
"compare_url": "https://api.github.com/repos/denoland/deno_website2/compare/{base}...{head}",
|
||||
"merges_url": "https://api.github.com/repos/denoland/deno_website2/merges",
|
||||
"archive_url": "https://api.github.com/repos/denoland/deno_website2/{archive_format}{/ref}",
|
||||
"downloads_url": "https://api.github.com/repos/denoland/deno_website2/downloads",
|
||||
"issues_url": "https://api.github.com/repos/denoland/deno_website2/issues{/number}",
|
||||
"pulls_url": "https://api.github.com/repos/denoland/deno_website2/pulls{/number}",
|
||||
"milestones_url": "https://api.github.com/repos/denoland/deno_website2/milestones{/number}",
|
||||
"notifications_url": "https://api.github.com/repos/denoland/deno_website2/notifications{?since,all,participating}",
|
||||
"labels_url": "https://api.github.com/repos/denoland/deno_website2/labels{/name}",
|
||||
"releases_url": "https://api.github.com/repos/denoland/deno_website2/releases{/id}",
|
||||
"deployments_url": "https://api.github.com/repos/denoland/deno_website2/deployments",
|
||||
"created_at": "2019-10-19T05:53:43Z",
|
||||
"updated_at": "2020-05-12T22:28:15Z",
|
||||
"pushed_at": "2020-05-12T22:35:23Z",
|
||||
"git_url": "git://github.com/denoland/deno_website2.git",
|
||||
"ssh_url": "git@github.com:denoland/deno_website2.git",
|
||||
"clone_url": "https://github.com/denoland/deno_website2.git",
|
||||
"svn_url": "https://github.com/denoland/deno_website2",
|
||||
"homepage": "https://deno.land/",
|
||||
"size": 1517,
|
||||
"stargazers_count": 187,
|
||||
"watchers_count": 187,
|
||||
"language": "TypeScript",
|
||||
"has_issues": true,
|
||||
"has_projects": false,
|
||||
"has_downloads": true,
|
||||
"has_wiki": false,
|
||||
"has_pages": false,
|
||||
"forks_count": 131,
|
||||
"mirror_url": null,
|
||||
"archived": false,
|
||||
"disabled": false,
|
||||
"open_issues_count": 33,
|
||||
"license": null,
|
||||
"forks": 131,
|
||||
"open_issues": 33,
|
||||
"watchers": 187,
|
||||
"default_branch": "master"
|
||||
}
|
||||
},
|
||||
"_links": {
|
||||
"self": {
|
||||
"href": "https://api.github.com/repos/denoland/deno_website2/pulls/393"
|
||||
},
|
||||
"html": {
|
||||
"href": "https://github.com/denoland/deno_website2/pull/393"
|
||||
},
|
||||
"issue": {
|
||||
"href": "https://api.github.com/repos/denoland/deno_website2/issues/393"
|
||||
},
|
||||
"comments": {
|
||||
"href": "https://api.github.com/repos/denoland/deno_website2/issues/393/comments"
|
||||
},
|
||||
"review_comments": {
|
||||
"href": "https://api.github.com/repos/denoland/deno_website2/pulls/393/comments"
|
||||
},
|
||||
"review_comment": {
|
||||
"href": "https://api.github.com/repos/denoland/deno_website2/pulls/comments{/number}"
|
||||
},
|
||||
"commits": {
|
||||
"href": "https://api.github.com/repos/denoland/deno_website2/pulls/393/commits"
|
||||
},
|
||||
"statuses": {
|
||||
"href": "https://api.github.com/repos/denoland/deno_website2/statuses/70de9ffc401467de5014f11b9d6c45817f98a7e5"
|
||||
}
|
||||
},
|
||||
"author_association": "CONTRIBUTOR"
|
||||
}
|
||||
|
||||
114
res/commit.json
Normal file
114
res/commit.json
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
{
|
||||
"status": 200,
|
||||
"url": "https://api.github.com/repos/garronej/test-repo/commits?per_page=1&sha=master",
|
||||
"headers": {
|
||||
"access-control-allow-origin": "*",
|
||||
"access-control-expose-headers": "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset",
|
||||
"cache-control": "private, max-age=60, s-maxage=60",
|
||||
"connection": "close",
|
||||
"content-encoding": "gzip",
|
||||
"content-security-policy": "default-src 'none'",
|
||||
"content-type": "application/json; charset=utf-8",
|
||||
"date": "Thu, 30 Apr 2020 14:36:23 GMT",
|
||||
"etag": "W/\"1b6b2c80a330e5d466b85298480afbf0\"",
|
||||
"last-modified": "Thu, 30 Apr 2020 10:00:41 GMT",
|
||||
"link": "<https://api.github.com/repositories/258429883/commits?per_page=1&sha=master&page=2>; rel=\"next\", <https://api.github.com/repositories/258429883/commits?per_page=1&sha=master&page=44>; rel=\"last\"",
|
||||
"referrer-policy": "origin-when-cross-origin, strict-origin-when-cross-origin",
|
||||
"server": "GitHub.com",
|
||||
"status": "200 OK",
|
||||
"strict-transport-security": "max-age=31536000; includeSubdomains; preload",
|
||||
"transfer-encoding": "chunked",
|
||||
"vary": "Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With",
|
||||
"x-accepted-oauth-scopes": "",
|
||||
"x-content-type-options": "nosniff",
|
||||
"x-frame-options": "deny",
|
||||
"x-github-media-type": "github.v3; format=json",
|
||||
"x-github-request-id": "C905:52E0:621381:7626A6:5EAAE267",
|
||||
"x-oauth-scopes": "admin:enterprise, admin:gpg_key, admin:org, admin:org_hook, admin:public_key, admin:repo_hook, delete:packages, delete_repo, gist, notifications, read:packages, repo, user, workflow, write:discussion, write:packages",
|
||||
"x-ratelimit-limit": "5000",
|
||||
"x-ratelimit-remaining": "4984",
|
||||
"x-ratelimit-reset": "1588260675",
|
||||
"x-xss-protection": "1; mode=block"
|
||||
},
|
||||
"data": [
|
||||
{
|
||||
"sha": "166b4806520ea6e52a1b86c9e698b1ba3e082a29",
|
||||
"node_id": "MDY6Q29tbWl0MjU4NDI5ODgzOjE2NmI0ODA2NTIwZWE2ZTUyYTFiODZjOWU2OThiMWJhM2UwODJhMjk=",
|
||||
"commit": {
|
||||
"author": {
|
||||
"name": "Garrone Joseph",
|
||||
"email": "joseph@semasim.com",
|
||||
"date": "2020-04-30T10:00:41Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "GitHub",
|
||||
"email": "noreply@github.com",
|
||||
"date": "2020-04-30T10:00:41Z"
|
||||
},
|
||||
"message": "deuxième commit sur master after branch related",
|
||||
"tree": {
|
||||
"sha": "8adc7382661b7a37233304b05b103d2e78b60194",
|
||||
"url": "https://api.github.com/repos/garronej/test-repo/git/trees/8adc7382661b7a37233304b05b103d2e78b60194"
|
||||
},
|
||||
"url": "https://api.github.com/repos/garronej/test-repo/git/commits/166b4806520ea6e52a1b86c9e698b1ba3e082a29",
|
||||
"comment_count": 0,
|
||||
"verification": {
|
||||
"verified": true,
|
||||
"reason": "valid",
|
||||
"signature": "-----BEGIN PGP SIGNATURE-----\n\nwsBcBAABCAAQBQJeqqHJCRBK7hj4Ov3rIwAAdHIIAKob66RvqPKgRq2nY8ALUYEh\nJDdkV8+pMcXJ/zCWNvO0VDdMyk74JUUO1m5h0VgJiW1x1qKRgT/PfjYJrKkREexK\nu4sM2BVhkln/R12BDxeZhV7RX5F+CMIIEZHPZ/YYjeQjm/XbHYhnGssUkn8xzMY1\noaUQvt7f3+SbufHiBeXCX9y4+tQ8F6/wd6mMPSChs01ZbNiJ1qf52btvl682gi5V\nulNTeWM7XKeIjk/KKItYH/TiURS6bND0FZrooeEcpzSnuTidfBsWnQnmgDXW6tDC\ndWjFWLIhQ/EbT8bzpWboQh44WdbyuYl0ah9O996EMy/o4XPvZzk6RaYs+Wowdjc=\n=Oh/F\n-----END PGP SIGNATURE-----\n",
|
||||
"payload": "tree 8adc7382661b7a37233304b05b103d2e78b60194\nparent 400346201ebb6e124b1598a898aac67b7d993837\nauthor Garrone Joseph <joseph@semasim.com> 1588240841 +0200\ncommitter GitHub <noreply@github.com> 1588240841 +0200\n\ndeuxième commit sur master after branch related"
|
||||
}
|
||||
},
|
||||
"url": "https://api.github.com/repos/garronej/test-repo/commits/166b4806520ea6e52a1b86c9e698b1ba3e082a29",
|
||||
"html_url": "https://github.com/garronej/test-repo/commit/166b4806520ea6e52a1b86c9e698b1ba3e082a29",
|
||||
"comments_url": "https://api.github.com/repos/garronej/test-repo/commits/166b4806520ea6e52a1b86c9e698b1ba3e082a29/comments",
|
||||
"author": {
|
||||
"login": "garronej",
|
||||
"id": 6702424,
|
||||
"node_id": "MDQ6VXNlcjY3MDI0MjQ=",
|
||||
"avatar_url": "https://avatars0.githubusercontent.com/u/6702424?v=4",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/garronej",
|
||||
"html_url": "https://github.com/garronej",
|
||||
"followers_url": "https://api.github.com/users/garronej/followers",
|
||||
"following_url": "https://api.github.com/users/garronej/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/garronej/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/garronej/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/garronej/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/garronej/orgs",
|
||||
"repos_url": "https://api.github.com/users/garronej/repos",
|
||||
"events_url": "https://api.github.com/users/garronej/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/garronej/received_events",
|
||||
"type": "User",
|
||||
"site_admin": false
|
||||
},
|
||||
"committer": {
|
||||
"login": "web-flow",
|
||||
"id": 19864447,
|
||||
"node_id": "MDQ6VXNlcjE5ODY0NDQ3",
|
||||
"avatar_url": "https://avatars3.githubusercontent.com/u/19864447?v=4",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/web-flow",
|
||||
"html_url": "https://github.com/web-flow",
|
||||
"followers_url": "https://api.github.com/users/web-flow/followers",
|
||||
"following_url": "https://api.github.com/users/web-flow/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/web-flow/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/web-flow/orgs",
|
||||
"repos_url": "https://api.github.com/users/web-flow/repos",
|
||||
"events_url": "https://api.github.com/users/web-flow/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/web-flow/received_events",
|
||||
"type": "User",
|
||||
"site_admin": false
|
||||
},
|
||||
"parents": [
|
||||
{
|
||||
"sha": "400346201ebb6e124b1598a898aac67b7d993837",
|
||||
"url": "https://api.github.com/repos/garronej/test-repo/commits/400346201ebb6e124b1598a898aac67b7d993837",
|
||||
"html_url": "https://github.com/garronej/test-repo/commit/400346201ebb6e124b1598a898aac67b7d993837"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
272
res/commits.json
Normal file
272
res/commits.json
Normal file
|
|
@ -0,0 +1,272 @@
|
|||
{
|
||||
"status": 200,
|
||||
"url": "https://api.github.com/repos/garronej/test-repo/commits?per_page=3&sha=master",
|
||||
"headers": {
|
||||
"access-control-allow-origin": "*",
|
||||
"access-control-expose-headers": "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset",
|
||||
"cache-control": "private, max-age=60, s-maxage=60",
|
||||
"connection": "close",
|
||||
"content-encoding": "gzip",
|
||||
"content-security-policy": "default-src 'none'",
|
||||
"content-type": "application/json; charset=utf-8",
|
||||
"date": "Thu, 30 Apr 2020 15:16:28 GMT",
|
||||
"etag": "W/\"41be386c101f0d960ea4e915f075cc88\"",
|
||||
"last-modified": "Thu, 30 Apr 2020 10:00:41 GMT",
|
||||
"link": "<https://api.github.com/repositories/258429883/commits?per_page=3&sha=master&page=2>; rel=\"next\", <https://api.github.com/repositories/258429883/commits?per_page=3&sha=master&page=15>; rel=\"last\"",
|
||||
"referrer-policy": "origin-when-cross-origin, strict-origin-when-cross-origin",
|
||||
"server": "GitHub.com",
|
||||
"status": "200 OK",
|
||||
"strict-transport-security": "max-age=31536000; includeSubdomains; preload",
|
||||
"transfer-encoding": "chunked",
|
||||
"vary": "Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With",
|
||||
"x-accepted-oauth-scopes": "",
|
||||
"x-content-type-options": "nosniff",
|
||||
"x-frame-options": "deny",
|
||||
"x-github-media-type": "github.v3; format=json",
|
||||
"x-github-request-id": "C9E8:27E36:727543:89BEDE:5EAAEBCC",
|
||||
"x-oauth-scopes": "admin:enterprise, admin:gpg_key, admin:org, admin:org_hook, admin:public_key, admin:repo_hook, delete:packages, delete_repo, gist, notifications, read:packages, repo, user, workflow, write:discussion, write:packages",
|
||||
"x-ratelimit-limit": "5000",
|
||||
"x-ratelimit-remaining": "4983",
|
||||
"x-ratelimit-reset": "1588260675",
|
||||
"x-xss-protection": "1; mode=block"
|
||||
},
|
||||
"data": [
|
||||
{
|
||||
"sha": "166b4806520ea6e52a1b86c9e698b1ba3e082a29",
|
||||
"node_id": "MDY6Q29tbWl0MjU4NDI5ODgzOjE2NmI0ODA2NTIwZWE2ZTUyYTFiODZjOWU2OThiMWJhM2UwODJhMjk=",
|
||||
"commit": {
|
||||
"author": {
|
||||
"name": "Garrone Joseph",
|
||||
"email": "joseph@semasim.com",
|
||||
"date": "2020-04-30T10:00:41Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "GitHub",
|
||||
"email": "noreply@github.com",
|
||||
"date": "2020-04-30T10:00:41Z"
|
||||
},
|
||||
"message": "deuxième commit sur master after branch related",
|
||||
"tree": {
|
||||
"sha": "8adc7382661b7a37233304b05b103d2e78b60194",
|
||||
"url": "https://api.github.com/repos/garronej/test-repo/git/trees/8adc7382661b7a37233304b05b103d2e78b60194"
|
||||
},
|
||||
"url": "https://api.github.com/repos/garronej/test-repo/git/commits/166b4806520ea6e52a1b86c9e698b1ba3e082a29",
|
||||
"comment_count": 0,
|
||||
"verification": {
|
||||
"verified": true,
|
||||
"reason": "valid",
|
||||
"signature": "-----BEGIN PGP SIGNATURE-----\n\nwsBcBAABCAAQBQJeqqHJCRBK7hj4Ov3rIwAAdHIIAKob66RvqPKgRq2nY8ALUYEh\nJDdkV8+pMcXJ/zCWNvO0VDdMyk74JUUO1m5h0VgJiW1x1qKRgT/PfjYJrKkREexK\nu4sM2BVhkln/R12BDxeZhV7RX5F+CMIIEZHPZ/YYjeQjm/XbHYhnGssUkn8xzMY1\noaUQvt7f3+SbufHiBeXCX9y4+tQ8F6/wd6mMPSChs01ZbNiJ1qf52btvl682gi5V\nulNTeWM7XKeIjk/KKItYH/TiURS6bND0FZrooeEcpzSnuTidfBsWnQnmgDXW6tDC\ndWjFWLIhQ/EbT8bzpWboQh44WdbyuYl0ah9O996EMy/o4XPvZzk6RaYs+Wowdjc=\n=Oh/F\n-----END PGP SIGNATURE-----\n",
|
||||
"payload": "tree 8adc7382661b7a37233304b05b103d2e78b60194\nparent 400346201ebb6e124b1598a898aac67b7d993837\nauthor Garrone Joseph <joseph@semasim.com> 1588240841 +0200\ncommitter GitHub <noreply@github.com> 1588240841 +0200\n\ndeuxième commit sur master after branch related"
|
||||
}
|
||||
},
|
||||
"url": "https://api.github.com/repos/garronej/test-repo/commits/166b4806520ea6e52a1b86c9e698b1ba3e082a29",
|
||||
"html_url": "https://github.com/garronej/test-repo/commit/166b4806520ea6e52a1b86c9e698b1ba3e082a29",
|
||||
"comments_url": "https://api.github.com/repos/garronej/test-repo/commits/166b4806520ea6e52a1b86c9e698b1ba3e082a29/comments",
|
||||
"author": {
|
||||
"login": "garronej",
|
||||
"id": 6702424,
|
||||
"node_id": "MDQ6VXNlcjY3MDI0MjQ=",
|
||||
"avatar_url": "https://avatars0.githubusercontent.com/u/6702424?v=4",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/garronej",
|
||||
"html_url": "https://github.com/garronej",
|
||||
"followers_url": "https://api.github.com/users/garronej/followers",
|
||||
"following_url": "https://api.github.com/users/garronej/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/garronej/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/garronej/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/garronej/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/garronej/orgs",
|
||||
"repos_url": "https://api.github.com/users/garronej/repos",
|
||||
"events_url": "https://api.github.com/users/garronej/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/garronej/received_events",
|
||||
"type": "User",
|
||||
"site_admin": false
|
||||
},
|
||||
"committer": {
|
||||
"login": "web-flow",
|
||||
"id": 19864447,
|
||||
"node_id": "MDQ6VXNlcjE5ODY0NDQ3",
|
||||
"avatar_url": "https://avatars3.githubusercontent.com/u/19864447?v=4",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/web-flow",
|
||||
"html_url": "https://github.com/web-flow",
|
||||
"followers_url": "https://api.github.com/users/web-flow/followers",
|
||||
"following_url": "https://api.github.com/users/web-flow/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/web-flow/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/web-flow/orgs",
|
||||
"repos_url": "https://api.github.com/users/web-flow/repos",
|
||||
"events_url": "https://api.github.com/users/web-flow/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/web-flow/received_events",
|
||||
"type": "User",
|
||||
"site_admin": false
|
||||
},
|
||||
"parents": [
|
||||
{
|
||||
"sha": "400346201ebb6e124b1598a898aac67b7d993837",
|
||||
"url": "https://api.github.com/repos/garronej/test-repo/commits/400346201ebb6e124b1598a898aac67b7d993837",
|
||||
"html_url": "https://github.com/garronej/test-repo/commit/400346201ebb6e124b1598a898aac67b7d993837"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"sha": "400346201ebb6e124b1598a898aac67b7d993837",
|
||||
"node_id": "MDY6Q29tbWl0MjU4NDI5ODgzOjQwMDM0NjIwMWViYjZlMTI0YjE1OThhODk4YWFjNjdiN2Q5OTM4Mzc=",
|
||||
"commit": {
|
||||
"author": {
|
||||
"name": "Garrone Joseph",
|
||||
"email": "joseph@semasim.com",
|
||||
"date": "2020-04-30T10:00:07Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "GitHub",
|
||||
"email": "noreply@github.com",
|
||||
"date": "2020-04-30T10:00:07Z"
|
||||
},
|
||||
"message": "premier commit sur master after branch created",
|
||||
"tree": {
|
||||
"sha": "89168b8f7b6703c58ca113d94b7767a5c7de6774",
|
||||
"url": "https://api.github.com/repos/garronej/test-repo/git/trees/89168b8f7b6703c58ca113d94b7767a5c7de6774"
|
||||
},
|
||||
"url": "https://api.github.com/repos/garronej/test-repo/git/commits/400346201ebb6e124b1598a898aac67b7d993837",
|
||||
"comment_count": 0,
|
||||
"verification": {
|
||||
"verified": true,
|
||||
"reason": "valid",
|
||||
"signature": "-----BEGIN PGP SIGNATURE-----\n\nwsBcBAABCAAQBQJeqqGoCRBK7hj4Ov3rIwAAdHIIAHsfm2pXM13Ccp5qqaLslx3s\nB7vmWMpSZvkbHDrDAEO05j+XCM/lmmRBzfrn84LlpCGqCALj7KbjpYWg55P1OC4u\nxbvJV91e4/XM3GEX4+80XaOLi/6UR9yc8Tfa/t85HX1tZuxPW6ULS8pNcaXT4c0y\nRI+2C1bAhXOPrs2jdwdxBCLEhX7vpxUEptMBQ8y9rLpeLGgbB1oEHTusMu4wl1Gk\nSyyV35M1XrsMMg4nYEUuTv8RzOneiPiU80ZJC5+BBfF3aJsDpPKpR72+iUL83AGG\n4M78Lyls5oURHdy6DnYBDVUVcQvid2gYDd7/fc3lto4o5NGfW8vcF0ykMxXiiZY=\n=G/et\n-----END PGP SIGNATURE-----\n",
|
||||
"payload": "tree 89168b8f7b6703c58ca113d94b7767a5c7de6774\nparent 2f7a55c9de78965b0918868deb35830ab0e68532\nauthor Garrone Joseph <joseph@semasim.com> 1588240807 +0200\ncommitter GitHub <noreply@github.com> 1588240807 +0200\n\npremier commit sur master after branch created"
|
||||
}
|
||||
},
|
||||
"url": "https://api.github.com/repos/garronej/test-repo/commits/400346201ebb6e124b1598a898aac67b7d993837",
|
||||
"html_url": "https://github.com/garronej/test-repo/commit/400346201ebb6e124b1598a898aac67b7d993837",
|
||||
"comments_url": "https://api.github.com/repos/garronej/test-repo/commits/400346201ebb6e124b1598a898aac67b7d993837/comments",
|
||||
"author": {
|
||||
"login": "garronej",
|
||||
"id": 6702424,
|
||||
"node_id": "MDQ6VXNlcjY3MDI0MjQ=",
|
||||
"avatar_url": "https://avatars0.githubusercontent.com/u/6702424?v=4",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/garronej",
|
||||
"html_url": "https://github.com/garronej",
|
||||
"followers_url": "https://api.github.com/users/garronej/followers",
|
||||
"following_url": "https://api.github.com/users/garronej/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/garronej/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/garronej/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/garronej/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/garronej/orgs",
|
||||
"repos_url": "https://api.github.com/users/garronej/repos",
|
||||
"events_url": "https://api.github.com/users/garronej/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/garronej/received_events",
|
||||
"type": "User",
|
||||
"site_admin": false
|
||||
},
|
||||
"committer": {
|
||||
"login": "web-flow",
|
||||
"id": 19864447,
|
||||
"node_id": "MDQ6VXNlcjE5ODY0NDQ3",
|
||||
"avatar_url": "https://avatars3.githubusercontent.com/u/19864447?v=4",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/web-flow",
|
||||
"html_url": "https://github.com/web-flow",
|
||||
"followers_url": "https://api.github.com/users/web-flow/followers",
|
||||
"following_url": "https://api.github.com/users/web-flow/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/web-flow/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/web-flow/orgs",
|
||||
"repos_url": "https://api.github.com/users/web-flow/repos",
|
||||
"events_url": "https://api.github.com/users/web-flow/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/web-flow/received_events",
|
||||
"type": "User",
|
||||
"site_admin": false
|
||||
},
|
||||
"parents": [
|
||||
{
|
||||
"sha": "2f7a55c9de78965b0918868deb35830ab0e68532",
|
||||
"url": "https://api.github.com/repos/garronej/test-repo/commits/2f7a55c9de78965b0918868deb35830ab0e68532",
|
||||
"html_url": "https://github.com/garronej/test-repo/commit/2f7a55c9de78965b0918868deb35830ab0e68532"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"sha": "2f7a55c9de78965b0918868deb35830ab0e68532",
|
||||
"node_id": "MDY6Q29tbWl0MjU4NDI5ODgzOjJmN2E1NWM5ZGU3ODk2NWIwOTE4ODY4ZGViMzU4MzBhYjBlNjg1MzI=",
|
||||
"commit": {
|
||||
"author": {
|
||||
"name": "Garrone Joseph",
|
||||
"email": "joseph@semasim.com",
|
||||
"date": "2020-04-30T09:56:57Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "GitHub",
|
||||
"email": "noreply@github.com",
|
||||
"date": "2020-04-30T09:56:57Z"
|
||||
},
|
||||
"message": "Update README.md",
|
||||
"tree": {
|
||||
"sha": "0cf13ef05cdf393b11b338f743ca38441b5c7d37",
|
||||
"url": "https://api.github.com/repos/garronej/test-repo/git/trees/0cf13ef05cdf393b11b338f743ca38441b5c7d37"
|
||||
},
|
||||
"url": "https://api.github.com/repos/garronej/test-repo/git/commits/2f7a55c9de78965b0918868deb35830ab0e68532",
|
||||
"comment_count": 0,
|
||||
"verification": {
|
||||
"verified": true,
|
||||
"reason": "valid",
|
||||
"signature": "-----BEGIN PGP SIGNATURE-----\n\nwsBcBAABCAAQBQJeqqDpCRBK7hj4Ov3rIwAAdHIIAAFJdooGPFU9k1xypLb+DGs8\nsxIU0skR0ZoVVWvtDeWsSBbZXzGv4W5Fq65OmBJtpEuYhKe2PBd7+XWQ9vhocXZU\nLvUnAFNEupoTK7qpxHALC9aF7HhwoVA8ilSU/IaD9DUEh20Yy0HPV5rXPhie1Evp\n/+HG76ywzYSPl/V/uWwPNoQeN4bSjrE6HvWEH61Of8fKZ7NamrLYDr59Y65XalPy\nIPgJGdhvq/KOx9UaUqG8WfFaValFZN02Z2kJ1FgcZ7XLfjpsvzSxcC8m7rISb7JX\nqrZ2VweR2m7w6+YLD2cfAuEYYu5Nepec4MBQ0AxjO/CinMhz/joetRvxVJNzeho=\n=RMoe\n-----END PGP SIGNATURE-----\n",
|
||||
"payload": "tree 0cf13ef05cdf393b11b338f743ca38441b5c7d37\nparent 0fa34b925c720d8909a8c368268245d10fea9be9\nauthor Garrone Joseph <joseph@semasim.com> 1588240617 +0200\ncommitter GitHub <noreply@github.com> 1588240617 +0200\n\nUpdate README.md"
|
||||
}
|
||||
},
|
||||
"url": "https://api.github.com/repos/garronej/test-repo/commits/2f7a55c9de78965b0918868deb35830ab0e68532",
|
||||
"html_url": "https://github.com/garronej/test-repo/commit/2f7a55c9de78965b0918868deb35830ab0e68532",
|
||||
"comments_url": "https://api.github.com/repos/garronej/test-repo/commits/2f7a55c9de78965b0918868deb35830ab0e68532/comments",
|
||||
"author": {
|
||||
"login": "garronej",
|
||||
"id": 6702424,
|
||||
"node_id": "MDQ6VXNlcjY3MDI0MjQ=",
|
||||
"avatar_url": "https://avatars0.githubusercontent.com/u/6702424?v=4",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/garronej",
|
||||
"html_url": "https://github.com/garronej",
|
||||
"followers_url": "https://api.github.com/users/garronej/followers",
|
||||
"following_url": "https://api.github.com/users/garronej/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/garronej/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/garronej/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/garronej/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/garronej/orgs",
|
||||
"repos_url": "https://api.github.com/users/garronej/repos",
|
||||
"events_url": "https://api.github.com/users/garronej/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/garronej/received_events",
|
||||
"type": "User",
|
||||
"site_admin": false
|
||||
},
|
||||
"committer": {
|
||||
"login": "web-flow",
|
||||
"id": 19864447,
|
||||
"node_id": "MDQ6VXNlcjE5ODY0NDQ3",
|
||||
"avatar_url": "https://avatars3.githubusercontent.com/u/19864447?v=4",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/web-flow",
|
||||
"html_url": "https://github.com/web-flow",
|
||||
"followers_url": "https://api.github.com/users/web-flow/followers",
|
||||
"following_url": "https://api.github.com/users/web-flow/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/web-flow/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/web-flow/orgs",
|
||||
"repos_url": "https://api.github.com/users/web-flow/repos",
|
||||
"events_url": "https://api.github.com/users/web-flow/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/web-flow/received_events",
|
||||
"type": "User",
|
||||
"site_admin": false
|
||||
},
|
||||
"parents": [
|
||||
{
|
||||
"sha": "0fa34b925c720d8909a8c368268245d10fea9be9",
|
||||
"url": "https://api.github.com/repos/garronej/test-repo/commits/0fa34b925c720d8909a8c368268245d10fea9be9",
|
||||
"html_url": "https://github.com/garronej/test-repo/commit/0fa34b925c720d8909a8c368268245d10fea9be9"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
188
res/github_context.json
Normal file
188
res/github_context.json
Normal file
|
|
@ -0,0 +1,188 @@
|
|||
{
|
||||
"token": "***",
|
||||
"job": "build",
|
||||
"ref": "refs/heads/master",
|
||||
"sha": "166b4806520ea6e52a1b86c9e698b1ba3e082a29",
|
||||
"repository": "garronej/test-repo",
|
||||
"repository_owner": "garronej",
|
||||
"repositoryUrl": "git://github.com/garronej/test-repo.git",
|
||||
"run_id": "92024361",
|
||||
"run_number": "41",
|
||||
"actor": "garronej",
|
||||
"workflow": "Initial setup",
|
||||
"head_ref": "",
|
||||
"base_ref": "",
|
||||
"event_name": "push",
|
||||
"event": {
|
||||
"after": "166b4806520ea6e52a1b86c9e698b1ba3e082a29",
|
||||
"base_ref": null,
|
||||
"before": "400346201ebb6e124b1598a898aac67b7d993837",
|
||||
"commits": [
|
||||
{
|
||||
"author": {
|
||||
"email": "joseph@semasim.com",
|
||||
"name": "Garrone Joseph",
|
||||
"username": "garronej"
|
||||
},
|
||||
"committer": {
|
||||
"email": "noreply@github.com",
|
||||
"name": "GitHub",
|
||||
"username": "web-flow"
|
||||
},
|
||||
"distinct": true,
|
||||
"id": "166b4806520ea6e52a1b86c9e698b1ba3e082a29",
|
||||
"message": "deuxième commit sur master after branch related",
|
||||
"timestamp": "2020-04-30T12:00:41+02:00",
|
||||
"tree_id": "8adc7382661b7a37233304b05b103d2e78b60194",
|
||||
"url": "https://github.com/garronej/test-repo/commit/166b4806520ea6e52a1b86c9e698b1ba3e082a29"
|
||||
}
|
||||
],
|
||||
"compare": "https://github.com/garronej/test-repo/compare/400346201ebb...166b4806520e",
|
||||
"created": false,
|
||||
"deleted": false,
|
||||
"forced": false,
|
||||
"head_commit": {
|
||||
"author": {
|
||||
"email": "joseph@semasim.com",
|
||||
"name": "Garrone Joseph",
|
||||
"username": "garronej"
|
||||
},
|
||||
"committer": {
|
||||
"email": "noreply@github.com",
|
||||
"name": "GitHub",
|
||||
"username": "web-flow"
|
||||
},
|
||||
"distinct": true,
|
||||
"id": "166b4806520ea6e52a1b86c9e698b1ba3e082a29",
|
||||
"message": "deuxième commit sur master after branch related",
|
||||
"timestamp": "2020-04-30T12:00:41+02:00",
|
||||
"tree_id": "8adc7382661b7a37233304b05b103d2e78b60194",
|
||||
"url": "https://github.com/garronej/test-repo/commit/166b4806520ea6e52a1b86c9e698b1ba3e082a29"
|
||||
},
|
||||
"pusher": {
|
||||
"email": "joseph.garrone@ensimag.grenoble-inp.fr",
|
||||
"name": "garronej"
|
||||
},
|
||||
"ref": "refs/heads/master",
|
||||
"repository": {
|
||||
"archive_url": "https://api.github.com/repos/garronej/test-repo/{archive_format}{/ref}",
|
||||
"archived": false,
|
||||
"assignees_url": "https://api.github.com/repos/garronej/test-repo/assignees{/user}",
|
||||
"blobs_url": "https://api.github.com/repos/garronej/test-repo/git/blobs{/sha}",
|
||||
"branches_url": "https://api.github.com/repos/garronej/test-repo/branches{/branch}",
|
||||
"clone_url": "https://github.com/garronej/test-repo.git",
|
||||
"collaborators_url": "https://api.github.com/repos/garronej/test-repo/collaborators{/collaborator}",
|
||||
"comments_url": "https://api.github.com/repos/garronej/test-repo/comments{/number}",
|
||||
"commits_url": "https://api.github.com/repos/garronej/test-repo/commits{/sha}",
|
||||
"compare_url": "https://api.github.com/repos/garronej/test-repo/compare/{base}...{head}",
|
||||
"contents_url": "https://api.github.com/repos/garronej/test-repo/contents/{+path}",
|
||||
"contributors_url": "https://api.github.com/repos/garronej/test-repo/contributors",
|
||||
"created_at": 1587710837,
|
||||
"default_branch": "master",
|
||||
"deployments_url": "https://api.github.com/repos/garronej/test-repo/deployments",
|
||||
"description": "Alors ? ",
|
||||
"disabled": false,
|
||||
"downloads_url": "https://api.github.com/repos/garronej/test-repo/downloads",
|
||||
"events_url": "https://api.github.com/repos/garronej/test-repo/events",
|
||||
"fork": false,
|
||||
"forks": 1,
|
||||
"forks_count": 1,
|
||||
"forks_url": "https://api.github.com/repos/garronej/test-repo/forks",
|
||||
"full_name": "garronej/test-repo",
|
||||
"git_commits_url": "https://api.github.com/repos/garronej/test-repo/git/commits{/sha}",
|
||||
"git_refs_url": "https://api.github.com/repos/garronej/test-repo/git/refs{/sha}",
|
||||
"git_tags_url": "https://api.github.com/repos/garronej/test-repo/git/tags{/sha}",
|
||||
"git_url": "git://github.com/garronej/test-repo.git",
|
||||
"has_downloads": true,
|
||||
"has_issues": true,
|
||||
"has_pages": false,
|
||||
"has_projects": true,
|
||||
"has_wiki": true,
|
||||
"homepage": "",
|
||||
"hooks_url": "https://api.github.com/repos/garronej/test-repo/hooks",
|
||||
"html_url": "https://github.com/garronej/test-repo",
|
||||
"id": 258429883,
|
||||
"issue_comment_url": "https://api.github.com/repos/garronej/test-repo/issues/comments{/number}",
|
||||
"issue_events_url": "https://api.github.com/repos/garronej/test-repo/issues/events{/number}",
|
||||
"issues_url": "https://api.github.com/repos/garronej/test-repo/issues{/number}",
|
||||
"keys_url": "https://api.github.com/repos/garronej/test-repo/keys{/key_id}",
|
||||
"labels_url": "https://api.github.com/repos/garronej/test-repo/labels{/name}",
|
||||
"language": null,
|
||||
"languages_url": "https://api.github.com/repos/garronej/test-repo/languages",
|
||||
"license": null,
|
||||
"master_branch": "master",
|
||||
"merges_url": "https://api.github.com/repos/garronej/test-repo/merges",
|
||||
"milestones_url": "https://api.github.com/repos/garronej/test-repo/milestones{/number}",
|
||||
"mirror_url": null,
|
||||
"name": "test-repo",
|
||||
"node_id": "MDEwOlJlcG9zaXRvcnkyNTg0Mjk4ODM=",
|
||||
"notifications_url": "https://api.github.com/repos/garronej/test-repo/notifications{?since,all,participating}",
|
||||
"open_issues": 0,
|
||||
"open_issues_count": 0,
|
||||
"owner": {
|
||||
"avatar_url": "https://avatars0.githubusercontent.com/u/6702424?v=4",
|
||||
"email": "joseph.garrone@ensimag.grenoble-inp.fr",
|
||||
"events_url": "https://api.github.com/users/garronej/events{/privacy}",
|
||||
"followers_url": "https://api.github.com/users/garronej/followers",
|
||||
"following_url": "https://api.github.com/users/garronej/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/garronej/gists{/gist_id}",
|
||||
"gravatar_id": "",
|
||||
"html_url": "https://github.com/garronej",
|
||||
"id": 6702424,
|
||||
"login": "garronej",
|
||||
"name": "garronej",
|
||||
"node_id": "MDQ6VXNlcjY3MDI0MjQ=",
|
||||
"organizations_url": "https://api.github.com/users/garronej/orgs",
|
||||
"received_events_url": "https://api.github.com/users/garronej/received_events",
|
||||
"repos_url": "https://api.github.com/users/garronej/repos",
|
||||
"site_admin": false,
|
||||
"starred_url": "https://api.github.com/users/garronej/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/garronej/subscriptions",
|
||||
"type": "User",
|
||||
"url": "https://api.github.com/users/garronej"
|
||||
},
|
||||
"private": false,
|
||||
"pulls_url": "https://api.github.com/repos/garronej/test-repo/pulls{/number}",
|
||||
"pushed_at": 1588240841,
|
||||
"releases_url": "https://api.github.com/repos/garronej/test-repo/releases{/id}",
|
||||
"size": 37,
|
||||
"ssh_url": "git@github.com:garronej/test-repo.git",
|
||||
"stargazers": 1,
|
||||
"stargazers_count": 1,
|
||||
"stargazers_url": "https://api.github.com/repos/garronej/test-repo/stargazers",
|
||||
"statuses_url": "https://api.github.com/repos/garronej/test-repo/statuses/{sha}",
|
||||
"subscribers_url": "https://api.github.com/repos/garronej/test-repo/subscribers",
|
||||
"subscription_url": "https://api.github.com/repos/garronej/test-repo/subscription",
|
||||
"svn_url": "https://github.com/garronej/test-repo",
|
||||
"tags_url": "https://api.github.com/repos/garronej/test-repo/tags",
|
||||
"teams_url": "https://api.github.com/repos/garronej/test-repo/teams",
|
||||
"trees_url": "https://api.github.com/repos/garronej/test-repo/git/trees{/sha}",
|
||||
"updated_at": "2020-04-30T10:00:11Z",
|
||||
"url": "https://github.com/garronej/test-repo",
|
||||
"watchers": 1,
|
||||
"watchers_count": 1
|
||||
},
|
||||
"sender": {
|
||||
"avatar_url": "https://avatars0.githubusercontent.com/u/6702424?v=4",
|
||||
"events_url": "https://api.github.com/users/garronej/events{/privacy}",
|
||||
"followers_url": "https://api.github.com/users/garronej/followers",
|
||||
"following_url": "https://api.github.com/users/garronej/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/garronej/gists{/gist_id}",
|
||||
"gravatar_id": "",
|
||||
"html_url": "https://github.com/garronej",
|
||||
"id": 6702424,
|
||||
"login": "garronej",
|
||||
"node_id": "MDQ6VXNlcjY3MDI0MjQ=",
|
||||
"organizations_url": "https://api.github.com/users/garronej/orgs",
|
||||
"received_events_url": "https://api.github.com/users/garronej/received_events",
|
||||
"repos_url": "https://api.github.com/users/garronej/repos",
|
||||
"site_admin": false,
|
||||
"starred_url": "https://api.github.com/users/garronej/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/garronej/subscriptions",
|
||||
"type": "User",
|
||||
"url": "https://api.github.com/users/garronej"
|
||||
}
|
||||
},
|
||||
"workspace": "/home/runner/work/test-repo/test-repo",
|
||||
"action": "run1"
|
||||
}
|
||||
225
res/merged.json
Normal file
225
res/merged.json
Normal file
|
|
@ -0,0 +1,225 @@
|
|||
{
|
||||
"token": "***",
|
||||
"job": "test",
|
||||
"ref": "refs/heads/master",
|
||||
"sha": "36deb3a7cc241cfba71daceaa6efa80cbdc5e93e",
|
||||
"repository": "garronej/test-repo",
|
||||
"repository_owner": "garronej",
|
||||
"repositoryUrl": "git://github.com/garronej/test-repo.git",
|
||||
"run_id": "91992361",
|
||||
"run_number": "10",
|
||||
"actor": "garronej",
|
||||
"workflow": "the workflow name",
|
||||
"head_ref": "",
|
||||
"base_ref": "",
|
||||
"event_name": "push",
|
||||
"event": {
|
||||
"after": "36deb3a7cc241cfba71daceaa6efa80cbdc5e93e",
|
||||
"base_ref": null,
|
||||
"before": "3cac089f0b03951b610a389564198f53fb485579",
|
||||
"commits": [
|
||||
{
|
||||
"author": {
|
||||
"email": "joseph@semasim.com",
|
||||
"name": "Garrone Joseph",
|
||||
"username": "garronej"
|
||||
},
|
||||
"committer": {
|
||||
"email": "noreply@github.com",
|
||||
"name": "GitHub",
|
||||
"username": "web-flow"
|
||||
},
|
||||
"distinct": false,
|
||||
"id": "dd23ceb8c0002b80ca146cc2993acfd1da3c147a",
|
||||
"message": "commit for pull request 4",
|
||||
"timestamp": "2020-04-30T11:00:25+02:00",
|
||||
"tree_id": "983dfaf9f4306ed0ddcafdc19965573d9bfd84ce",
|
||||
"url": "https://github.com/garronej/test-repo/commit/dd23ceb8c0002b80ca146cc2993acfd1da3c147a"
|
||||
},
|
||||
{
|
||||
"author": {
|
||||
"email": "joseph@semasim.com",
|
||||
"name": "Garrone Joseph",
|
||||
"username": "garronej"
|
||||
},
|
||||
"committer": {
|
||||
"email": "noreply@github.com",
|
||||
"name": "GitHub",
|
||||
"username": "web-flow"
|
||||
},
|
||||
"distinct": false,
|
||||
"id": "e3788c6b40c0d017f2422f64193753d47d240471",
|
||||
"message": "Merge branch 'master' into garronej-patch-4",
|
||||
"timestamp": "2020-04-30T11:02:24+02:00",
|
||||
"tree_id": "a8188bb8b0af6309ae6936a4a7e5d0ffe44c0b3c",
|
||||
"url": "https://github.com/garronej/test-repo/commit/e3788c6b40c0d017f2422f64193753d47d240471"
|
||||
},
|
||||
{
|
||||
"author": {
|
||||
"email": "joseph@semasim.com",
|
||||
"name": "Garrone Joseph",
|
||||
"username": "garronej"
|
||||
},
|
||||
"committer": {
|
||||
"email": "noreply@github.com",
|
||||
"name": "GitHub",
|
||||
"username": "web-flow"
|
||||
},
|
||||
"distinct": true,
|
||||
"id": "36deb3a7cc241cfba71daceaa6efa80cbdc5e93e",
|
||||
"message": "Merge pull request #3 from garronej/garronej-patch-4\n\ncommit for pull request 4",
|
||||
"timestamp": "2020-04-30T11:09:51+02:00",
|
||||
"tree_id": "a8188bb8b0af6309ae6936a4a7e5d0ffe44c0b3c",
|
||||
"url": "https://github.com/garronej/test-repo/commit/36deb3a7cc241cfba71daceaa6efa80cbdc5e93e"
|
||||
}
|
||||
],
|
||||
"compare": "https://github.com/garronej/test-repo/compare/3cac089f0b03...36deb3a7cc24",
|
||||
"created": false,
|
||||
"deleted": false,
|
||||
"forced": false,
|
||||
"head_commit": {
|
||||
"author": {
|
||||
"email": "joseph@semasim.com",
|
||||
"name": "Garrone Joseph",
|
||||
"username": "garronej"
|
||||
},
|
||||
"committer": {
|
||||
"email": "noreply@github.com",
|
||||
"name": "GitHub",
|
||||
"username": "web-flow"
|
||||
},
|
||||
"distinct": true,
|
||||
"id": "36deb3a7cc241cfba71daceaa6efa80cbdc5e93e",
|
||||
"message": "Merge pull request #3 from garronej/garronej-patch-4\n\ncommit for pull request 4",
|
||||
"timestamp": "2020-04-30T11:09:51+02:00",
|
||||
"tree_id": "a8188bb8b0af6309ae6936a4a7e5d0ffe44c0b3c",
|
||||
"url": "https://github.com/garronej/test-repo/commit/36deb3a7cc241cfba71daceaa6efa80cbdc5e93e"
|
||||
},
|
||||
"pusher": {
|
||||
"email": "joseph.garrone@ensimag.grenoble-inp.fr",
|
||||
"name": "garronej"
|
||||
},
|
||||
"ref": "refs/heads/master",
|
||||
"repository": {
|
||||
"archive_url": "https://api.github.com/repos/garronej/test-repo/{archive_format}{/ref}",
|
||||
"archived": false,
|
||||
"assignees_url": "https://api.github.com/repos/garronej/test-repo/assignees{/user}",
|
||||
"blobs_url": "https://api.github.com/repos/garronej/test-repo/git/blobs{/sha}",
|
||||
"branches_url": "https://api.github.com/repos/garronej/test-repo/branches{/branch}",
|
||||
"clone_url": "https://github.com/garronej/test-repo.git",
|
||||
"collaborators_url": "https://api.github.com/repos/garronej/test-repo/collaborators{/collaborator}",
|
||||
"comments_url": "https://api.github.com/repos/garronej/test-repo/comments{/number}",
|
||||
"commits_url": "https://api.github.com/repos/garronej/test-repo/commits{/sha}",
|
||||
"compare_url": "https://api.github.com/repos/garronej/test-repo/compare/{base}...{head}",
|
||||
"contents_url": "https://api.github.com/repos/garronej/test-repo/contents/{+path}",
|
||||
"contributors_url": "https://api.github.com/repos/garronej/test-repo/contributors",
|
||||
"created_at": 1587710837,
|
||||
"default_branch": "master",
|
||||
"deployments_url": "https://api.github.com/repos/garronej/test-repo/deployments",
|
||||
"description": "Alors ? ",
|
||||
"disabled": false,
|
||||
"downloads_url": "https://api.github.com/repos/garronej/test-repo/downloads",
|
||||
"events_url": "https://api.github.com/repos/garronej/test-repo/events",
|
||||
"fork": false,
|
||||
"forks": 1,
|
||||
"forks_count": 1,
|
||||
"forks_url": "https://api.github.com/repos/garronej/test-repo/forks",
|
||||
"full_name": "garronej/test-repo",
|
||||
"git_commits_url": "https://api.github.com/repos/garronej/test-repo/git/commits{/sha}",
|
||||
"git_refs_url": "https://api.github.com/repos/garronej/test-repo/git/refs{/sha}",
|
||||
"git_tags_url": "https://api.github.com/repos/garronej/test-repo/git/tags{/sha}",
|
||||
"git_url": "git://github.com/garronej/test-repo.git",
|
||||
"has_downloads": true,
|
||||
"has_issues": true,
|
||||
"has_pages": false,
|
||||
"has_projects": true,
|
||||
"has_wiki": true,
|
||||
"homepage": "",
|
||||
"hooks_url": "https://api.github.com/repos/garronej/test-repo/hooks",
|
||||
"html_url": "https://github.com/garronej/test-repo",
|
||||
"id": 258429883,
|
||||
"issue_comment_url": "https://api.github.com/repos/garronej/test-repo/issues/comments{/number}",
|
||||
"issue_events_url": "https://api.github.com/repos/garronej/test-repo/issues/events{/number}",
|
||||
"issues_url": "https://api.github.com/repos/garronej/test-repo/issues{/number}",
|
||||
"keys_url": "https://api.github.com/repos/garronej/test-repo/keys{/key_id}",
|
||||
"labels_url": "https://api.github.com/repos/garronej/test-repo/labels{/name}",
|
||||
"language": null,
|
||||
"languages_url": "https://api.github.com/repos/garronej/test-repo/languages",
|
||||
"license": null,
|
||||
"master_branch": "master",
|
||||
"merges_url": "https://api.github.com/repos/garronej/test-repo/merges",
|
||||
"milestones_url": "https://api.github.com/repos/garronej/test-repo/milestones{/number}",
|
||||
"mirror_url": null,
|
||||
"name": "test-repo",
|
||||
"node_id": "MDEwOlJlcG9zaXRvcnkyNTg0Mjk4ODM=",
|
||||
"notifications_url": "https://api.github.com/repos/garronej/test-repo/notifications{?since,all,participating}",
|
||||
"open_issues": 0,
|
||||
"open_issues_count": 0,
|
||||
"owner": {
|
||||
"avatar_url": "https://avatars0.githubusercontent.com/u/6702424?v=4",
|
||||
"email": "joseph.garrone@ensimag.grenoble-inp.fr",
|
||||
"events_url": "https://api.github.com/users/garronej/events{/privacy}",
|
||||
"followers_url": "https://api.github.com/users/garronej/followers",
|
||||
"following_url": "https://api.github.com/users/garronej/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/garronej/gists{/gist_id}",
|
||||
"gravatar_id": "",
|
||||
"html_url": "https://github.com/garronej",
|
||||
"id": 6702424,
|
||||
"login": "garronej",
|
||||
"name": "garronej",
|
||||
"node_id": "MDQ6VXNlcjY3MDI0MjQ=",
|
||||
"organizations_url": "https://api.github.com/users/garronej/orgs",
|
||||
"received_events_url": "https://api.github.com/users/garronej/received_events",
|
||||
"repos_url": "https://api.github.com/users/garronej/repos",
|
||||
"site_admin": false,
|
||||
"starred_url": "https://api.github.com/users/garronej/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/garronej/subscriptions",
|
||||
"type": "User",
|
||||
"url": "https://api.github.com/users/garronej"
|
||||
},
|
||||
"private": false,
|
||||
"pulls_url": "https://api.github.com/repos/garronej/test-repo/pulls{/number}",
|
||||
"pushed_at": 1588237792,
|
||||
"releases_url": "https://api.github.com/repos/garronej/test-repo/releases{/id}",
|
||||
"size": 31,
|
||||
"ssh_url": "git@github.com:garronej/test-repo.git",
|
||||
"stargazers": 1,
|
||||
"stargazers_count": 1,
|
||||
"stargazers_url": "https://api.github.com/repos/garronej/test-repo/stargazers",
|
||||
"statuses_url": "https://api.github.com/repos/garronej/test-repo/statuses/{sha}",
|
||||
"subscribers_url": "https://api.github.com/repos/garronej/test-repo/subscribers",
|
||||
"subscription_url": "https://api.github.com/repos/garronej/test-repo/subscription",
|
||||
"svn_url": "https://github.com/garronej/test-repo",
|
||||
"tags_url": "https://api.github.com/repos/garronej/test-repo/tags",
|
||||
"teams_url": "https://api.github.com/repos/garronej/test-repo/teams",
|
||||
"trees_url": "https://api.github.com/repos/garronej/test-repo/git/trees{/sha}",
|
||||
"updated_at": "2020-04-30T09:00:23Z",
|
||||
"url": "https://github.com/garronej/test-repo",
|
||||
"watchers": 1,
|
||||
"watchers_count": 1
|
||||
},
|
||||
"sender": {
|
||||
"avatar_url": "https://avatars0.githubusercontent.com/u/6702424?v=4",
|
||||
"events_url": "https://api.github.com/users/garronej/events{/privacy}",
|
||||
"followers_url": "https://api.github.com/users/garronej/followers",
|
||||
"following_url": "https://api.github.com/users/garronej/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/garronej/gists{/gist_id}",
|
||||
"gravatar_id": "",
|
||||
"html_url": "https://github.com/garronej",
|
||||
"id": 6702424,
|
||||
"login": "garronej",
|
||||
"node_id": "MDQ6VXNlcjY3MDI0MjQ=",
|
||||
"organizations_url": "https://api.github.com/users/garronej/orgs",
|
||||
"received_events_url": "https://api.github.com/users/garronej/received_events",
|
||||
"repos_url": "https://api.github.com/users/garronej/repos",
|
||||
"site_admin": false,
|
||||
"starred_url": "https://api.github.com/users/garronej/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/garronej/subscriptions",
|
||||
"type": "User",
|
||||
"url": "https://api.github.com/users/garronej"
|
||||
}
|
||||
},
|
||||
"workspace": "/home/runner/work/test-repo/test-repo",
|
||||
"action": "run2",
|
||||
"event_path": "/home/runner/work/_temp/_github_workflow/event.json"
|
||||
}
|
||||
223
res/pr_closed_not_merged.json
Normal file
223
res/pr_closed_not_merged.json
Normal file
|
|
@ -0,0 +1,223 @@
|
|||
{
|
||||
"url": "https://api.github.com/repos/denoland/deno_website2/pulls/243",
|
||||
"id": 376901639,
|
||||
"node_id": "MDExOlB1bGxSZXF1ZXN0Mzc2OTAxNjM5",
|
||||
"html_url": "https://github.com/denoland/deno_website2/pull/243",
|
||||
"diff_url": "https://github.com/denoland/deno_website2/pull/243.diff",
|
||||
"patch_url": "https://github.com/denoland/deno_website2/pull/243.patch",
|
||||
"issue_url": "https://api.github.com/repos/denoland/deno_website2/issues/243",
|
||||
"number": 243,
|
||||
"state": "closed",
|
||||
"locked": false,
|
||||
"title": "Update database.json",
|
||||
"user": {
|
||||
"login": "ebebbington",
|
||||
"id": 47337480,
|
||||
"node_id": "MDQ6VXNlcjQ3MzM3NDgw",
|
||||
"avatar_url": "https://avatars1.githubusercontent.com/u/47337480?v=4",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/ebebbington",
|
||||
"html_url": "https://github.com/ebebbington",
|
||||
"followers_url": "https://api.github.com/users/ebebbington/followers",
|
||||
"following_url": "https://api.github.com/users/ebebbington/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/ebebbington/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/ebebbington/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/ebebbington/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/ebebbington/orgs",
|
||||
"repos_url": "https://api.github.com/users/ebebbington/repos",
|
||||
"events_url": "https://api.github.com/users/ebebbington/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/ebebbington/received_events",
|
||||
"type": "User",
|
||||
"site_admin": false
|
||||
},
|
||||
"body": "",
|
||||
"created_at": "2020-02-19T00:19:16Z",
|
||||
"updated_at": "2020-02-19T01:36:47Z",
|
||||
"closed_at": "2020-02-19T01:36:47Z",
|
||||
"merged_at": null,
|
||||
"merge_commit_sha": "3c2466b5531ca936a4298e289e2fd0be21113243",
|
||||
"assignee": null,
|
||||
"assignees": [],
|
||||
"requested_reviewers": [],
|
||||
"requested_teams": [],
|
||||
"labels": [],
|
||||
"milestone": null,
|
||||
"draft": false,
|
||||
"commits_url": "https://api.github.com/repos/denoland/deno_website2/pulls/243/commits",
|
||||
"review_comments_url": "https://api.github.com/repos/denoland/deno_website2/pulls/243/comments",
|
||||
"review_comment_url": "https://api.github.com/repos/denoland/deno_website2/pulls/comments{/number}",
|
||||
"comments_url": "https://api.github.com/repos/denoland/deno_website2/issues/243/comments",
|
||||
"statuses_url": "https://api.github.com/repos/denoland/deno_website2/statuses/dd984adce147336ebe4e3f5c87f5bb256c710d2a",
|
||||
"head": {
|
||||
"label": "ebebbington:patch-1",
|
||||
"ref": "patch-1",
|
||||
"sha": "dd984adce147336ebe4e3f5c87f5bb256c710d2a",
|
||||
"user": {
|
||||
"login": "ebebbington",
|
||||
"id": 47337480,
|
||||
"node_id": "MDQ6VXNlcjQ3MzM3NDgw",
|
||||
"avatar_url": "https://avatars1.githubusercontent.com/u/47337480?v=4",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/ebebbington",
|
||||
"html_url": "https://github.com/ebebbington",
|
||||
"followers_url": "https://api.github.com/users/ebebbington/followers",
|
||||
"following_url": "https://api.github.com/users/ebebbington/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/ebebbington/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/ebebbington/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/ebebbington/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/ebebbington/orgs",
|
||||
"repos_url": "https://api.github.com/users/ebebbington/repos",
|
||||
"events_url": "https://api.github.com/users/ebebbington/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/ebebbington/received_events",
|
||||
"type": "User",
|
||||
"site_admin": false
|
||||
},
|
||||
"repo": null
|
||||
},
|
||||
"base": {
|
||||
"label": "denoland:master",
|
||||
"ref": "master",
|
||||
"sha": "a1fd79e283995341830c0864e2282146fe604401",
|
||||
"user": {
|
||||
"login": "denoland",
|
||||
"id": 42048915,
|
||||
"node_id": "MDEyOk9yZ2FuaXphdGlvbjQyMDQ4OTE1",
|
||||
"avatar_url": "https://avatars1.githubusercontent.com/u/42048915?v=4",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/denoland",
|
||||
"html_url": "https://github.com/denoland",
|
||||
"followers_url": "https://api.github.com/users/denoland/followers",
|
||||
"following_url": "https://api.github.com/users/denoland/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/denoland/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/denoland/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/denoland/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/denoland/orgs",
|
||||
"repos_url": "https://api.github.com/users/denoland/repos",
|
||||
"events_url": "https://api.github.com/users/denoland/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/denoland/received_events",
|
||||
"type": "Organization",
|
||||
"site_admin": false
|
||||
},
|
||||
"repo": {
|
||||
"id": 216156518,
|
||||
"node_id": "MDEwOlJlcG9zaXRvcnkyMTYxNTY1MTg=",
|
||||
"name": "deno_website2",
|
||||
"full_name": "denoland/deno_website2",
|
||||
"private": false,
|
||||
"owner": {
|
||||
"login": "denoland",
|
||||
"id": 42048915,
|
||||
"node_id": "MDEyOk9yZ2FuaXphdGlvbjQyMDQ4OTE1",
|
||||
"avatar_url": "https://avatars1.githubusercontent.com/u/42048915?v=4",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/denoland",
|
||||
"html_url": "https://github.com/denoland",
|
||||
"followers_url": "https://api.github.com/users/denoland/followers",
|
||||
"following_url": "https://api.github.com/users/denoland/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/denoland/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/denoland/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/denoland/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/denoland/orgs",
|
||||
"repos_url": "https://api.github.com/users/denoland/repos",
|
||||
"events_url": "https://api.github.com/users/denoland/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/denoland/received_events",
|
||||
"type": "Organization",
|
||||
"site_admin": false
|
||||
},
|
||||
"html_url": "https://github.com/denoland/deno_website2",
|
||||
"description": "deno.land website ",
|
||||
"fork": false,
|
||||
"url": "https://api.github.com/repos/denoland/deno_website2",
|
||||
"forks_url": "https://api.github.com/repos/denoland/deno_website2/forks",
|
||||
"keys_url": "https://api.github.com/repos/denoland/deno_website2/keys{/key_id}",
|
||||
"collaborators_url": "https://api.github.com/repos/denoland/deno_website2/collaborators{/collaborator}",
|
||||
"teams_url": "https://api.github.com/repos/denoland/deno_website2/teams",
|
||||
"hooks_url": "https://api.github.com/repos/denoland/deno_website2/hooks",
|
||||
"issue_events_url": "https://api.github.com/repos/denoland/deno_website2/issues/events{/number}",
|
||||
"events_url": "https://api.github.com/repos/denoland/deno_website2/events",
|
||||
"assignees_url": "https://api.github.com/repos/denoland/deno_website2/assignees{/user}",
|
||||
"branches_url": "https://api.github.com/repos/denoland/deno_website2/branches{/branch}",
|
||||
"tags_url": "https://api.github.com/repos/denoland/deno_website2/tags",
|
||||
"blobs_url": "https://api.github.com/repos/denoland/deno_website2/git/blobs{/sha}",
|
||||
"git_tags_url": "https://api.github.com/repos/denoland/deno_website2/git/tags{/sha}",
|
||||
"git_refs_url": "https://api.github.com/repos/denoland/deno_website2/git/refs{/sha}",
|
||||
"trees_url": "https://api.github.com/repos/denoland/deno_website2/git/trees{/sha}",
|
||||
"statuses_url": "https://api.github.com/repos/denoland/deno_website2/statuses/{sha}",
|
||||
"languages_url": "https://api.github.com/repos/denoland/deno_website2/languages",
|
||||
"stargazers_url": "https://api.github.com/repos/denoland/deno_website2/stargazers",
|
||||
"contributors_url": "https://api.github.com/repos/denoland/deno_website2/contributors",
|
||||
"subscribers_url": "https://api.github.com/repos/denoland/deno_website2/subscribers",
|
||||
"subscription_url": "https://api.github.com/repos/denoland/deno_website2/subscription",
|
||||
"commits_url": "https://api.github.com/repos/denoland/deno_website2/commits{/sha}",
|
||||
"git_commits_url": "https://api.github.com/repos/denoland/deno_website2/git/commits{/sha}",
|
||||
"comments_url": "https://api.github.com/repos/denoland/deno_website2/comments{/number}",
|
||||
"issue_comment_url": "https://api.github.com/repos/denoland/deno_website2/issues/comments{/number}",
|
||||
"contents_url": "https://api.github.com/repos/denoland/deno_website2/contents/{+path}",
|
||||
"compare_url": "https://api.github.com/repos/denoland/deno_website2/compare/{base}...{head}",
|
||||
"merges_url": "https://api.github.com/repos/denoland/deno_website2/merges",
|
||||
"archive_url": "https://api.github.com/repos/denoland/deno_website2/{archive_format}{/ref}",
|
||||
"downloads_url": "https://api.github.com/repos/denoland/deno_website2/downloads",
|
||||
"issues_url": "https://api.github.com/repos/denoland/deno_website2/issues{/number}",
|
||||
"pulls_url": "https://api.github.com/repos/denoland/deno_website2/pulls{/number}",
|
||||
"milestones_url": "https://api.github.com/repos/denoland/deno_website2/milestones{/number}",
|
||||
"notifications_url": "https://api.github.com/repos/denoland/deno_website2/notifications{?since,all,participating}",
|
||||
"labels_url": "https://api.github.com/repos/denoland/deno_website2/labels{/name}",
|
||||
"releases_url": "https://api.github.com/repos/denoland/deno_website2/releases{/id}",
|
||||
"deployments_url": "https://api.github.com/repos/denoland/deno_website2/deployments",
|
||||
"created_at": "2019-10-19T05:53:43Z",
|
||||
"updated_at": "2020-05-12T22:28:15Z",
|
||||
"pushed_at": "2020-05-12T22:35:23Z",
|
||||
"git_url": "git://github.com/denoland/deno_website2.git",
|
||||
"ssh_url": "git@github.com:denoland/deno_website2.git",
|
||||
"clone_url": "https://github.com/denoland/deno_website2.git",
|
||||
"svn_url": "https://github.com/denoland/deno_website2",
|
||||
"homepage": "https://deno.land/",
|
||||
"size": 1517,
|
||||
"stargazers_count": 187,
|
||||
"watchers_count": 187,
|
||||
"language": "TypeScript",
|
||||
"has_issues": true,
|
||||
"has_projects": false,
|
||||
"has_downloads": true,
|
||||
"has_wiki": false,
|
||||
"has_pages": false,
|
||||
"forks_count": 131,
|
||||
"mirror_url": null,
|
||||
"archived": false,
|
||||
"disabled": false,
|
||||
"open_issues_count": 33,
|
||||
"license": null,
|
||||
"forks": 131,
|
||||
"open_issues": 33,
|
||||
"watchers": 187,
|
||||
"default_branch": "master"
|
||||
}
|
||||
},
|
||||
"_links": {
|
||||
"self": {
|
||||
"href": "https://api.github.com/repos/denoland/deno_website2/pulls/243"
|
||||
},
|
||||
"html": {
|
||||
"href": "https://github.com/denoland/deno_website2/pull/243"
|
||||
},
|
||||
"issue": {
|
||||
"href": "https://api.github.com/repos/denoland/deno_website2/issues/243"
|
||||
},
|
||||
"comments": {
|
||||
"href": "https://api.github.com/repos/denoland/deno_website2/issues/243/comments"
|
||||
},
|
||||
"review_comments": {
|
||||
"href": "https://api.github.com/repos/denoland/deno_website2/pulls/243/comments"
|
||||
},
|
||||
"review_comment": {
|
||||
"href": "https://api.github.com/repos/denoland/deno_website2/pulls/comments{/number}"
|
||||
},
|
||||
"commits": {
|
||||
"href": "https://api.github.com/repos/denoland/deno_website2/pulls/243/commits"
|
||||
},
|
||||
"statuses": {
|
||||
"href": "https://api.github.com/repos/denoland/deno_website2/statuses/dd984adce147336ebe4e3f5c87f5bb256c710d2a"
|
||||
}
|
||||
},
|
||||
"author_association": "CONTRIBUTOR"
|
||||
}
|
||||
469
res/pull_request.json
Normal file
469
res/pull_request.json
Normal file
|
|
@ -0,0 +1,469 @@
|
|||
|
||||
|
||||
{
|
||||
"token": "***",
|
||||
"job": "test",
|
||||
"ref": "refs/pull/3/merge",
|
||||
"sha": "edd8d31fc8584fd040a33fa234a4e173cde5e988",
|
||||
"repository": "garronej/test-repo",
|
||||
"repository_owner": "garronej",
|
||||
"repositoryUrl": "git://github.com/garronej/test-repo.git",
|
||||
"run_id": "91983605",
|
||||
"run_number": "9",
|
||||
"actor": "garronej",
|
||||
"workflow": "the workflow name",
|
||||
"head_ref": "garronej-patch-4",
|
||||
"base_ref": "master",
|
||||
"event_name": "pull_request",
|
||||
"event": {
|
||||
"action": "synchronize",
|
||||
"after": "e3788c6b40c0d017f2422f64193753d47d240471",
|
||||
"before": "dd23ceb8c0002b80ca146cc2993acfd1da3c147a",
|
||||
"number": 3,
|
||||
"pull_request": {
|
||||
"_links": {
|
||||
"comments": {
|
||||
"href": "https://api.github.com/repos/garronej/test-repo/issues/3/comments"
|
||||
},
|
||||
"commits": {
|
||||
"href": "https://api.github.com/repos/garronej/test-repo/pulls/3/commits"
|
||||
},
|
||||
"html": {
|
||||
"href": "https://github.com/garronej/test-repo/pull/3"
|
||||
},
|
||||
"issue": {
|
||||
"href": "https://api.github.com/repos/garronej/test-repo/issues/3"
|
||||
},
|
||||
"review_comment": {
|
||||
"href": "https://api.github.com/repos/garronej/test-repo/pulls/comments{/number}"
|
||||
},
|
||||
"review_comments": {
|
||||
"href": "https://api.github.com/repos/garronej/test-repo/pulls/3/comments"
|
||||
},
|
||||
"self": {
|
||||
"href": "https://api.github.com/repos/garronej/test-repo/pulls/3"
|
||||
},
|
||||
"statuses": {
|
||||
"href": "https://api.github.com/repos/garronej/test-repo/statuses/e3788c6b40c0d017f2422f64193753d47d240471"
|
||||
}
|
||||
},
|
||||
"additions": 4,
|
||||
"assignee": null,
|
||||
"assignees": [],
|
||||
"author_association": "OWNER",
|
||||
"base": {
|
||||
"label": "garronej:master",
|
||||
"ref": "master",
|
||||
"repo": {
|
||||
"archive_url": "https://api.github.com/repos/garronej/test-repo/{archive_format}{/ref}",
|
||||
"archived": false,
|
||||
"assignees_url": "https://api.github.com/repos/garronej/test-repo/assignees{/user}",
|
||||
"blobs_url": "https://api.github.com/repos/garronej/test-repo/git/blobs{/sha}",
|
||||
"branches_url": "https://api.github.com/repos/garronej/test-repo/branches{/branch}",
|
||||
"clone_url": "https://github.com/garronej/test-repo.git",
|
||||
"collaborators_url": "https://api.github.com/repos/garronej/test-repo/collaborators{/collaborator}",
|
||||
"comments_url": "https://api.github.com/repos/garronej/test-repo/comments{/number}",
|
||||
"commits_url": "https://api.github.com/repos/garronej/test-repo/commits{/sha}",
|
||||
"compare_url": "https://api.github.com/repos/garronej/test-repo/compare/{base}...{head}",
|
||||
"contents_url": "https://api.github.com/repos/garronej/test-repo/contents/{+path}",
|
||||
"contributors_url": "https://api.github.com/repos/garronej/test-repo/contributors",
|
||||
"created_at": "2020-04-24T06:47:17Z",
|
||||
"default_branch": "master",
|
||||
"deployments_url": "https://api.github.com/repos/garronej/test-repo/deployments",
|
||||
"description": "Alors ? ",
|
||||
"disabled": false,
|
||||
"downloads_url": "https://api.github.com/repos/garronej/test-repo/downloads",
|
||||
"events_url": "https://api.github.com/repos/garronej/test-repo/events",
|
||||
"fork": false,
|
||||
"forks": 1,
|
||||
"forks_count": 1,
|
||||
"forks_url": "https://api.github.com/repos/garronej/test-repo/forks",
|
||||
"full_name": "garronej/test-repo",
|
||||
"git_commits_url": "https://api.github.com/repos/garronej/test-repo/git/commits{/sha}",
|
||||
"git_refs_url": "https://api.github.com/repos/garronej/test-repo/git/refs{/sha}",
|
||||
"git_tags_url": "https://api.github.com/repos/garronej/test-repo/git/tags{/sha}",
|
||||
"git_url": "git://github.com/garronej/test-repo.git",
|
||||
"has_downloads": true,
|
||||
"has_issues": true,
|
||||
"has_pages": false,
|
||||
"has_projects": true,
|
||||
"has_wiki": true,
|
||||
"homepage": "",
|
||||
"hooks_url": "https://api.github.com/repos/garronej/test-repo/hooks",
|
||||
"html_url": "https://github.com/garronej/test-repo",
|
||||
"id": 258429883,
|
||||
"issue_comment_url": "https://api.github.com/repos/garronej/test-repo/issues/comments{/number}",
|
||||
"issue_events_url": "https://api.github.com/repos/garronej/test-repo/issues/events{/number}",
|
||||
"issues_url": "https://api.github.com/repos/garronej/test-repo/issues{/number}",
|
||||
"keys_url": "https://api.github.com/repos/garronej/test-repo/keys{/key_id}",
|
||||
"labels_url": "https://api.github.com/repos/garronej/test-repo/labels{/name}",
|
||||
"language": null,
|
||||
"languages_url": "https://api.github.com/repos/garronej/test-repo/languages",
|
||||
"license": null,
|
||||
"merges_url": "https://api.github.com/repos/garronej/test-repo/merges",
|
||||
"milestones_url": "https://api.github.com/repos/garronej/test-repo/milestones{/number}",
|
||||
"mirror_url": null,
|
||||
"name": "test-repo",
|
||||
"node_id": "MDEwOlJlcG9zaXRvcnkyNTg0Mjk4ODM=",
|
||||
"notifications_url": "https://api.github.com/repos/garronej/test-repo/notifications{?since,all,participating}",
|
||||
"open_issues": 1,
|
||||
"open_issues_count": 1,
|
||||
"owner": {
|
||||
"avatar_url": "https://avatars0.githubusercontent.com/u/6702424?v=4",
|
||||
"events_url": "https://api.github.com/users/garronej/events{/privacy}",
|
||||
"followers_url": "https://api.github.com/users/garronej/followers",
|
||||
"following_url": "https://api.github.com/users/garronej/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/garronej/gists{/gist_id}",
|
||||
"gravatar_id": "",
|
||||
"html_url": "https://github.com/garronej",
|
||||
"id": 6702424,
|
||||
"login": "garronej",
|
||||
"node_id": "MDQ6VXNlcjY3MDI0MjQ=",
|
||||
"organizations_url": "https://api.github.com/users/garronej/orgs",
|
||||
"received_events_url": "https://api.github.com/users/garronej/received_events",
|
||||
"repos_url": "https://api.github.com/users/garronej/repos",
|
||||
"site_admin": false,
|
||||
"starred_url": "https://api.github.com/users/garronej/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/garronej/subscriptions",
|
||||
"type": "User",
|
||||
"url": "https://api.github.com/users/garronej"
|
||||
},
|
||||
"private": false,
|
||||
"pulls_url": "https://api.github.com/repos/garronej/test-repo/pulls{/number}",
|
||||
"pushed_at": "2020-04-30T09:02:25Z",
|
||||
"releases_url": "https://api.github.com/repos/garronej/test-repo/releases{/id}",
|
||||
"size": 31,
|
||||
"ssh_url": "git@github.com:garronej/test-repo.git",
|
||||
"stargazers_count": 1,
|
||||
"stargazers_url": "https://api.github.com/repos/garronej/test-repo/stargazers",
|
||||
"statuses_url": "https://api.github.com/repos/garronej/test-repo/statuses/{sha}",
|
||||
"subscribers_url": "https://api.github.com/repos/garronej/test-repo/subscribers",
|
||||
"subscription_url": "https://api.github.com/repos/garronej/test-repo/subscription",
|
||||
"svn_url": "https://github.com/garronej/test-repo",
|
||||
"tags_url": "https://api.github.com/repos/garronej/test-repo/tags",
|
||||
"teams_url": "https://api.github.com/repos/garronej/test-repo/teams",
|
||||
"trees_url": "https://api.github.com/repos/garronej/test-repo/git/trees{/sha}",
|
||||
"updated_at": "2020-04-30T09:00:23Z",
|
||||
"url": "https://api.github.com/repos/garronej/test-repo",
|
||||
"watchers": 1,
|
||||
"watchers_count": 1
|
||||
},
|
||||
"sha": "3cac089f0b03951b610a389564198f53fb485579",
|
||||
"user": {
|
||||
"avatar_url": "https://avatars0.githubusercontent.com/u/6702424?v=4",
|
||||
"events_url": "https://api.github.com/users/garronej/events{/privacy}",
|
||||
"followers_url": "https://api.github.com/users/garronej/followers",
|
||||
"following_url": "https://api.github.com/users/garronej/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/garronej/gists{/gist_id}",
|
||||
"gravatar_id": "",
|
||||
"html_url": "https://github.com/garronej",
|
||||
"id": 6702424,
|
||||
"login": "garronej",
|
||||
"node_id": "MDQ6VXNlcjY3MDI0MjQ=",
|
||||
"organizations_url": "https://api.github.com/users/garronej/orgs",
|
||||
"received_events_url": "https://api.github.com/users/garronej/received_events",
|
||||
"repos_url": "https://api.github.com/users/garronej/repos",
|
||||
"site_admin": false,
|
||||
"starred_url": "https://api.github.com/users/garronej/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/garronej/subscriptions",
|
||||
"type": "User",
|
||||
"url": "https://api.github.com/users/garronej"
|
||||
}
|
||||
},
|
||||
"body": "",
|
||||
"changed_files": 1,
|
||||
"closed_at": null,
|
||||
"comments": 0,
|
||||
"comments_url": "https://api.github.com/repos/garronej/test-repo/issues/3/comments",
|
||||
"commits": 2,
|
||||
"commits_url": "https://api.github.com/repos/garronej/test-repo/pulls/3/commits",
|
||||
"created_at": "2020-04-30T09:00:35Z",
|
||||
"deletions": 1,
|
||||
"diff_url": "https://github.com/garronej/test-repo/pull/3.diff",
|
||||
"draft": false,
|
||||
"head": {
|
||||
"label": "garronej:garronej-patch-4",
|
||||
"ref": "garronej-patch-4",
|
||||
"repo": {
|
||||
"archive_url": "https://api.github.com/repos/garronej/test-repo/{archive_format}{/ref}",
|
||||
"archived": false,
|
||||
"assignees_url": "https://api.github.com/repos/garronej/test-repo/assignees{/user}",
|
||||
"blobs_url": "https://api.github.com/repos/garronej/test-repo/git/blobs{/sha}",
|
||||
"branches_url": "https://api.github.com/repos/garronej/test-repo/branches{/branch}",
|
||||
"clone_url": "https://github.com/garronej/test-repo.git",
|
||||
"collaborators_url": "https://api.github.com/repos/garronej/test-repo/collaborators{/collaborator}",
|
||||
"comments_url": "https://api.github.com/repos/garronej/test-repo/comments{/number}",
|
||||
"commits_url": "https://api.github.com/repos/garronej/test-repo/commits{/sha}",
|
||||
"compare_url": "https://api.github.com/repos/garronej/test-repo/compare/{base}...{head}",
|
||||
"contents_url": "https://api.github.com/repos/garronej/test-repo/contents/{+path}",
|
||||
"contributors_url": "https://api.github.com/repos/garronej/test-repo/contributors",
|
||||
"created_at": "2020-04-24T06:47:17Z",
|
||||
"default_branch": "master",
|
||||
"deployments_url": "https://api.github.com/repos/garronej/test-repo/deployments",
|
||||
"description": "Alors ? ",
|
||||
"disabled": false,
|
||||
"downloads_url": "https://api.github.com/repos/garronej/test-repo/downloads",
|
||||
"events_url": "https://api.github.com/repos/garronej/test-repo/events",
|
||||
"fork": false,
|
||||
"forks": 1,
|
||||
"forks_count": 1,
|
||||
"forks_url": "https://api.github.com/repos/garronej/test-repo/forks",
|
||||
"full_name": "garronej/test-repo",
|
||||
"git_commits_url": "https://api.github.com/repos/garronej/test-repo/git/commits{/sha}",
|
||||
"git_refs_url": "https://api.github.com/repos/garronej/test-repo/git/refs{/sha}",
|
||||
"git_tags_url": "https://api.github.com/repos/garronej/test-repo/git/tags{/sha}",
|
||||
"git_url": "git://github.com/garronej/test-repo.git",
|
||||
"has_downloads": true,
|
||||
"has_issues": true,
|
||||
"has_pages": false,
|
||||
"has_projects": true,
|
||||
"has_wiki": true,
|
||||
"homepage": "",
|
||||
"hooks_url": "https://api.github.com/repos/garronej/test-repo/hooks",
|
||||
"html_url": "https://github.com/garronej/test-repo",
|
||||
"id": 258429883,
|
||||
"issue_comment_url": "https://api.github.com/repos/garronej/test-repo/issues/comments{/number}",
|
||||
"issue_events_url": "https://api.github.com/repos/garronej/test-repo/issues/events{/number}",
|
||||
"issues_url": "https://api.github.com/repos/garronej/test-repo/issues{/number}",
|
||||
"keys_url": "https://api.github.com/repos/garronej/test-repo/keys{/key_id}",
|
||||
"labels_url": "https://api.github.com/repos/garronej/test-repo/labels{/name}",
|
||||
"language": null,
|
||||
"languages_url": "https://api.github.com/repos/garronej/test-repo/languages",
|
||||
"license": null,
|
||||
"merges_url": "https://api.github.com/repos/garronej/test-repo/merges",
|
||||
"milestones_url": "https://api.github.com/repos/garronej/test-repo/milestones{/number}",
|
||||
"mirror_url": null,
|
||||
"name": "test-repo",
|
||||
"node_id": "MDEwOlJlcG9zaXRvcnkyNTg0Mjk4ODM=",
|
||||
"notifications_url": "https://api.github.com/repos/garronej/test-repo/notifications{?since,all,participating}",
|
||||
"open_issues": 1,
|
||||
"open_issues_count": 1,
|
||||
"owner": {
|
||||
"avatar_url": "https://avatars0.githubusercontent.com/u/6702424?v=4",
|
||||
"events_url": "https://api.github.com/users/garronej/events{/privacy}",
|
||||
"followers_url": "https://api.github.com/users/garronej/followers",
|
||||
"following_url": "https://api.github.com/users/garronej/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/garronej/gists{/gist_id}",
|
||||
"gravatar_id": "",
|
||||
"html_url": "https://github.com/garronej",
|
||||
"id": 6702424,
|
||||
"login": "garronej",
|
||||
"node_id": "MDQ6VXNlcjY3MDI0MjQ=",
|
||||
"organizations_url": "https://api.github.com/users/garronej/orgs",
|
||||
"received_events_url": "https://api.github.com/users/garronej/received_events",
|
||||
"repos_url": "https://api.github.com/users/garronej/repos",
|
||||
"site_admin": false,
|
||||
"starred_url": "https://api.github.com/users/garronej/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/garronej/subscriptions",
|
||||
"type": "User",
|
||||
"url": "https://api.github.com/users/garronej"
|
||||
},
|
||||
"private": false,
|
||||
"pulls_url": "https://api.github.com/repos/garronej/test-repo/pulls{/number}",
|
||||
"pushed_at": "2020-04-30T09:02:25Z",
|
||||
"releases_url": "https://api.github.com/repos/garronej/test-repo/releases{/id}",
|
||||
"size": 31,
|
||||
"ssh_url": "git@github.com:garronej/test-repo.git",
|
||||
"stargazers_count": 1,
|
||||
"stargazers_url": "https://api.github.com/repos/garronej/test-repo/stargazers",
|
||||
"statuses_url": "https://api.github.com/repos/garronej/test-repo/statuses/{sha}",
|
||||
"subscribers_url": "https://api.github.com/repos/garronej/test-repo/subscribers",
|
||||
"subscription_url": "https://api.github.com/repos/garronej/test-repo/subscription",
|
||||
"svn_url": "https://github.com/garronej/test-repo",
|
||||
"tags_url": "https://api.github.com/repos/garronej/test-repo/tags",
|
||||
"teams_url": "https://api.github.com/repos/garronej/test-repo/teams",
|
||||
"trees_url": "https://api.github.com/repos/garronej/test-repo/git/trees{/sha}",
|
||||
"updated_at": "2020-04-30T09:00:23Z",
|
||||
"url": "https://api.github.com/repos/garronej/test-repo",
|
||||
"watchers": 1,
|
||||
"watchers_count": 1
|
||||
},
|
||||
"sha": "e3788c6b40c0d017f2422f64193753d47d240471",
|
||||
"user": {
|
||||
"avatar_url": "https://avatars0.githubusercontent.com/u/6702424?v=4",
|
||||
"events_url": "https://api.github.com/users/garronej/events{/privacy}",
|
||||
"followers_url": "https://api.github.com/users/garronej/followers",
|
||||
"following_url": "https://api.github.com/users/garronej/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/garronej/gists{/gist_id}",
|
||||
"gravatar_id": "",
|
||||
"html_url": "https://github.com/garronej",
|
||||
"id": 6702424,
|
||||
"login": "garronej",
|
||||
"node_id": "MDQ6VXNlcjY3MDI0MjQ=",
|
||||
"organizations_url": "https://api.github.com/users/garronej/orgs",
|
||||
"received_events_url": "https://api.github.com/users/garronej/received_events",
|
||||
"repos_url": "https://api.github.com/users/garronej/repos",
|
||||
"site_admin": false,
|
||||
"starred_url": "https://api.github.com/users/garronej/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/garronej/subscriptions",
|
||||
"type": "User",
|
||||
"url": "https://api.github.com/users/garronej"
|
||||
}
|
||||
},
|
||||
"html_url": "https://github.com/garronej/test-repo/pull/3",
|
||||
"id": 411270304,
|
||||
"issue_url": "https://api.github.com/repos/garronej/test-repo/issues/3",
|
||||
"labels": [],
|
||||
"locked": false,
|
||||
"maintainer_can_modify": false,
|
||||
"merge_commit_sha": null,
|
||||
"mergeable": null,
|
||||
"mergeable_state": "unknown",
|
||||
"merged": false,
|
||||
"merged_at": null,
|
||||
"merged_by": null,
|
||||
"milestone": null,
|
||||
"node_id": "MDExOlB1bGxSZXF1ZXN0NDExMjcwMzA0",
|
||||
"number": 3,
|
||||
"patch_url": "https://github.com/garronej/test-repo/pull/3.patch",
|
||||
"rebaseable": null,
|
||||
"requested_reviewers": [],
|
||||
"requested_teams": [],
|
||||
"review_comment_url": "https://api.github.com/repos/garronej/test-repo/pulls/comments{/number}",
|
||||
"review_comments": 0,
|
||||
"review_comments_url": "https://api.github.com/repos/garronej/test-repo/pulls/3/comments",
|
||||
"state": "open",
|
||||
"statuses_url": "https://api.github.com/repos/garronej/test-repo/statuses/e3788c6b40c0d017f2422f64193753d47d240471",
|
||||
"title": "commit for pull request 4",
|
||||
"updated_at": "2020-04-30T09:02:26Z",
|
||||
"url": "https://api.github.com/repos/garronej/test-repo/pulls/3",
|
||||
"user": {
|
||||
"avatar_url": "https://avatars0.githubusercontent.com/u/6702424?v=4",
|
||||
"events_url": "https://api.github.com/users/garronej/events{/privacy}",
|
||||
"followers_url": "https://api.github.com/users/garronej/followers",
|
||||
"following_url": "https://api.github.com/users/garronej/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/garronej/gists{/gist_id}",
|
||||
"gravatar_id": "",
|
||||
"html_url": "https://github.com/garronej",
|
||||
"id": 6702424,
|
||||
"login": "garronej",
|
||||
"node_id": "MDQ6VXNlcjY3MDI0MjQ=",
|
||||
"organizations_url": "https://api.github.com/users/garronej/orgs",
|
||||
"received_events_url": "https://api.github.com/users/garronej/received_events",
|
||||
"repos_url": "https://api.github.com/users/garronej/repos",
|
||||
"site_admin": false,
|
||||
"starred_url": "https://api.github.com/users/garronej/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/garronej/subscriptions",
|
||||
"type": "User",
|
||||
"url": "https://api.github.com/users/garronej"
|
||||
}
|
||||
},
|
||||
"repository": {
|
||||
"archive_url": "https://api.github.com/repos/garronej/test-repo/{archive_format}{/ref}",
|
||||
"archived": false,
|
||||
"assignees_url": "https://api.github.com/repos/garronej/test-repo/assignees{/user}",
|
||||
"blobs_url": "https://api.github.com/repos/garronej/test-repo/git/blobs{/sha}",
|
||||
"branches_url": "https://api.github.com/repos/garronej/test-repo/branches{/branch}",
|
||||
"clone_url": "https://github.com/garronej/test-repo.git",
|
||||
"collaborators_url": "https://api.github.com/repos/garronej/test-repo/collaborators{/collaborator}",
|
||||
"comments_url": "https://api.github.com/repos/garronej/test-repo/comments{/number}",
|
||||
"commits_url": "https://api.github.com/repos/garronej/test-repo/commits{/sha}",
|
||||
"compare_url": "https://api.github.com/repos/garronej/test-repo/compare/{base}...{head}",
|
||||
"contents_url": "https://api.github.com/repos/garronej/test-repo/contents/{+path}",
|
||||
"contributors_url": "https://api.github.com/repos/garronej/test-repo/contributors",
|
||||
"created_at": "2020-04-24T06:47:17Z",
|
||||
"default_branch": "master",
|
||||
"deployments_url": "https://api.github.com/repos/garronej/test-repo/deployments",
|
||||
"description": "Alors ? ",
|
||||
"disabled": false,
|
||||
"downloads_url": "https://api.github.com/repos/garronej/test-repo/downloads",
|
||||
"events_url": "https://api.github.com/repos/garronej/test-repo/events",
|
||||
"fork": false,
|
||||
"forks": 1,
|
||||
"forks_count": 1,
|
||||
"forks_url": "https://api.github.com/repos/garronej/test-repo/forks",
|
||||
"full_name": "garronej/test-repo",
|
||||
"git_commits_url": "https://api.github.com/repos/garronej/test-repo/git/commits{/sha}",
|
||||
"git_refs_url": "https://api.github.com/repos/garronej/test-repo/git/refs{/sha}",
|
||||
"git_tags_url": "https://api.github.com/repos/garronej/test-repo/git/tags{/sha}",
|
||||
"git_url": "git://github.com/garronej/test-repo.git",
|
||||
"has_downloads": true,
|
||||
"has_issues": true,
|
||||
"has_pages": false,
|
||||
"has_projects": true,
|
||||
"has_wiki": true,
|
||||
"homepage": "",
|
||||
"hooks_url": "https://api.github.com/repos/garronej/test-repo/hooks",
|
||||
"html_url": "https://github.com/garronej/test-repo",
|
||||
"id": 258429883,
|
||||
"issue_comment_url": "https://api.github.com/repos/garronej/test-repo/issues/comments{/number}",
|
||||
"issue_events_url": "https://api.github.com/repos/garronej/test-repo/issues/events{/number}",
|
||||
"issues_url": "https://api.github.com/repos/garronej/test-repo/issues{/number}",
|
||||
"keys_url": "https://api.github.com/repos/garronej/test-repo/keys{/key_id}",
|
||||
"labels_url": "https://api.github.com/repos/garronej/test-repo/labels{/name}",
|
||||
"language": null,
|
||||
"languages_url": "https://api.github.com/repos/garronej/test-repo/languages",
|
||||
"license": null,
|
||||
"merges_url": "https://api.github.com/repos/garronej/test-repo/merges",
|
||||
"milestones_url": "https://api.github.com/repos/garronej/test-repo/milestones{/number}",
|
||||
"mirror_url": null,
|
||||
"name": "test-repo",
|
||||
"node_id": "MDEwOlJlcG9zaXRvcnkyNTg0Mjk4ODM=",
|
||||
"notifications_url": "https://api.github.com/repos/garronej/test-repo/notifications{?since,all,participating}",
|
||||
"open_issues": 1,
|
||||
"open_issues_count": 1,
|
||||
"owner": {
|
||||
"avatar_url": "https://avatars0.githubusercontent.com/u/6702424?v=4",
|
||||
"events_url": "https://api.github.com/users/garronej/events{/privacy}",
|
||||
"followers_url": "https://api.github.com/users/garronej/followers",
|
||||
"following_url": "https://api.github.com/users/garronej/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/garronej/gists{/gist_id}",
|
||||
"gravatar_id": "",
|
||||
"html_url": "https://github.com/garronej",
|
||||
"id": 6702424,
|
||||
"login": "garronej",
|
||||
"node_id": "MDQ6VXNlcjY3MDI0MjQ=",
|
||||
"organizations_url": "https://api.github.com/users/garronej/orgs",
|
||||
"received_events_url": "https://api.github.com/users/garronej/received_events",
|
||||
"repos_url": "https://api.github.com/users/garronej/repos",
|
||||
"site_admin": false,
|
||||
"starred_url": "https://api.github.com/users/garronej/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/garronej/subscriptions",
|
||||
"type": "User",
|
||||
"url": "https://api.github.com/users/garronej"
|
||||
},
|
||||
"private": false,
|
||||
"pulls_url": "https://api.github.com/repos/garronej/test-repo/pulls{/number}",
|
||||
"pushed_at": "2020-04-30T09:02:25Z",
|
||||
"releases_url": "https://api.github.com/repos/garronej/test-repo/releases{/id}",
|
||||
"size": 31,
|
||||
"ssh_url": "git@github.com:garronej/test-repo.git",
|
||||
"stargazers_count": 1,
|
||||
"stargazers_url": "https://api.github.com/repos/garronej/test-repo/stargazers",
|
||||
"statuses_url": "https://api.github.com/repos/garronej/test-repo/statuses/{sha}",
|
||||
"subscribers_url": "https://api.github.com/repos/garronej/test-repo/subscribers",
|
||||
"subscription_url": "https://api.github.com/repos/garronej/test-repo/subscription",
|
||||
"svn_url": "https://github.com/garronej/test-repo",
|
||||
"tags_url": "https://api.github.com/repos/garronej/test-repo/tags",
|
||||
"teams_url": "https://api.github.com/repos/garronej/test-repo/teams",
|
||||
"trees_url": "https://api.github.com/repos/garronej/test-repo/git/trees{/sha}",
|
||||
"updated_at": "2020-04-30T09:00:23Z",
|
||||
"url": "https://api.github.com/repos/garronej/test-repo",
|
||||
"watchers": 1,
|
||||
"watchers_count": 1
|
||||
},
|
||||
"sender": {
|
||||
"avatar_url": "https://avatars0.githubusercontent.com/u/6702424?v=4",
|
||||
"events_url": "https://api.github.com/users/garronej/events{/privacy}",
|
||||
"followers_url": "https://api.github.com/users/garronej/followers",
|
||||
"following_url": "https://api.github.com/users/garronej/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/garronej/gists{/gist_id}",
|
||||
"gravatar_id": "",
|
||||
"html_url": "https://github.com/garronej",
|
||||
"id": 6702424,
|
||||
"login": "garronej",
|
||||
"node_id": "MDQ6VXNlcjY3MDI0MjQ=",
|
||||
"organizations_url": "https://api.github.com/users/garronej/orgs",
|
||||
"received_events_url": "https://api.github.com/users/garronej/received_events",
|
||||
"repos_url": "https://api.github.com/users/garronej/repos",
|
||||
"site_admin": false,
|
||||
"starred_url": "https://api.github.com/users/garronej/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/garronej/subscriptions",
|
||||
"type": "User",
|
||||
"url": "https://api.github.com/users/garronej"
|
||||
}
|
||||
},
|
||||
"workspace": "/home/runner/work/test-repo/test-repo",
|
||||
"action": "run2",
|
||||
"event_path": "/home/runner/work/_temp/_github_workflow/event.json"
|
||||
}
|
||||
185
res/push_from_denoify_ci.json
Normal file
185
res/push_from_denoify_ci.json
Normal file
|
|
@ -0,0 +1,185 @@
|
|||
|
||||
{
|
||||
"token": "***",
|
||||
"job": "test_node",
|
||||
"ref": "refs/heads/dev",
|
||||
"sha": "0e848524bf10b4896a939364d27afa2cd459a506",
|
||||
"repository": "garronej/super_waffle",
|
||||
"repository_owner": "garronej",
|
||||
"repositoryUrl": "git://github.com/garronej/super_waffle.git",
|
||||
"run_id": "102085103",
|
||||
"run_number": "4",
|
||||
"actor": "garronej",
|
||||
"workflow": "ci",
|
||||
"head_ref": "",
|
||||
"base_ref": "",
|
||||
"event_name": "push",
|
||||
"event": {
|
||||
"after": "0e848524bf10b4896a939364d27afa2cd459a506",
|
||||
"base_ref": null,
|
||||
"before": "6265951bf62040cca203c93b92fabf1b6a8a8711",
|
||||
"commits": [
|
||||
{
|
||||
"author": {
|
||||
"email": "denoify_ci@github.com",
|
||||
"name": "denoify_ci"
|
||||
},
|
||||
"committer": {
|
||||
"email": "denoify_ci@github.com",
|
||||
"name": "denoify_ci"
|
||||
},
|
||||
"distinct": true,
|
||||
"id": "0e848524bf10b4896a939364d27afa2cd459a506",
|
||||
"message": "Update changelog v0.0.2",
|
||||
"timestamp": "2020-05-12T02:57:00Z",
|
||||
"tree_id": "b6ab3ee15210a0abf662d81364f93c172b7f0138",
|
||||
"url": "https://github.com/garronej/super_waffle/commit/0e848524bf10b4896a939364d27afa2cd459a506"
|
||||
}
|
||||
],
|
||||
"compare": "https://github.com/garronej/super_waffle/compare/6265951bf620...0e848524bf10",
|
||||
"created": false,
|
||||
"deleted": false,
|
||||
"forced": false,
|
||||
"head_commit": {
|
||||
"author": {
|
||||
"email": "denoify_ci@github.com",
|
||||
"name": "denoify_ci"
|
||||
},
|
||||
"committer": {
|
||||
"email": "denoify_ci@github.com",
|
||||
"name": "denoify_ci"
|
||||
},
|
||||
"distinct": true,
|
||||
"id": "0e848524bf10b4896a939364d27afa2cd459a506",
|
||||
"message": "Update changelog v0.0.2",
|
||||
"timestamp": "2020-05-12T02:57:00Z",
|
||||
"tree_id": "b6ab3ee15210a0abf662d81364f93c172b7f0138",
|
||||
"url": "https://github.com/garronej/super_waffle/commit/0e848524bf10b4896a939364d27afa2cd459a506"
|
||||
},
|
||||
"pusher": {
|
||||
"email": "joseph.garrone@ensimag.grenoble-inp.fr",
|
||||
"name": "garronej"
|
||||
},
|
||||
"ref": "refs/heads/dev",
|
||||
"repository": {
|
||||
"archive_url": "https://api.github.com/repos/garronej/super_waffle/{archive_format}{/ref}",
|
||||
"archived": false,
|
||||
"assignees_url": "https://api.github.com/repos/garronej/super_waffle/assignees{/user}",
|
||||
"blobs_url": "https://api.github.com/repos/garronej/super_waffle/git/blobs{/sha}",
|
||||
"branches_url": "https://api.github.com/repos/garronej/super_waffle/branches{/branch}",
|
||||
"clone_url": "https://github.com/garronej/super_waffle.git",
|
||||
"collaborators_url": "https://api.github.com/repos/garronej/super_waffle/collaborators{/collaborator}",
|
||||
"comments_url": "https://api.github.com/repos/garronej/super_waffle/comments{/number}",
|
||||
"commits_url": "https://api.github.com/repos/garronej/super_waffle/commits{/sha}",
|
||||
"compare_url": "https://api.github.com/repos/garronej/super_waffle/compare/{base}...{head}",
|
||||
"contents_url": "https://api.github.com/repos/garronej/super_waffle/contents/{+path}",
|
||||
"contributors_url": "https://api.github.com/repos/garronej/super_waffle/contributors",
|
||||
"created_at": 1589246432,
|
||||
"default_branch": "dev",
|
||||
"deployments_url": "https://api.github.com/repos/garronej/super_waffle/deployments",
|
||||
"description": "oh well",
|
||||
"disabled": false,
|
||||
"downloads_url": "https://api.github.com/repos/garronej/super_waffle/downloads",
|
||||
"events_url": "https://api.github.com/repos/garronej/super_waffle/events",
|
||||
"fork": false,
|
||||
"forks": 0,
|
||||
"forks_count": 0,
|
||||
"forks_url": "https://api.github.com/repos/garronej/super_waffle/forks",
|
||||
"full_name": "garronej/super_waffle",
|
||||
"git_commits_url": "https://api.github.com/repos/garronej/super_waffle/git/commits{/sha}",
|
||||
"git_refs_url": "https://api.github.com/repos/garronej/super_waffle/git/refs{/sha}",
|
||||
"git_tags_url": "https://api.github.com/repos/garronej/super_waffle/git/tags{/sha}",
|
||||
"git_url": "git://github.com/garronej/super_waffle.git",
|
||||
"has_downloads": true,
|
||||
"has_issues": true,
|
||||
"has_pages": false,
|
||||
"has_projects": true,
|
||||
"has_wiki": true,
|
||||
"homepage": null,
|
||||
"hooks_url": "https://api.github.com/repos/garronej/super_waffle/hooks",
|
||||
"html_url": "https://github.com/garronej/super_waffle",
|
||||
"id": 263199352,
|
||||
"issue_comment_url": "https://api.github.com/repos/garronej/super_waffle/issues/comments{/number}",
|
||||
"issue_events_url": "https://api.github.com/repos/garronej/super_waffle/issues/events{/number}",
|
||||
"issues_url": "https://api.github.com/repos/garronej/super_waffle/issues{/number}",
|
||||
"keys_url": "https://api.github.com/repos/garronej/super_waffle/keys{/key_id}",
|
||||
"labels_url": "https://api.github.com/repos/garronej/super_waffle/labels{/name}",
|
||||
"language": "TypeScript",
|
||||
"languages_url": "https://api.github.com/repos/garronej/super_waffle/languages",
|
||||
"license": null,
|
||||
"master_branch": "dev",
|
||||
"merges_url": "https://api.github.com/repos/garronej/super_waffle/merges",
|
||||
"milestones_url": "https://api.github.com/repos/garronej/super_waffle/milestones{/number}",
|
||||
"mirror_url": null,
|
||||
"name": "super_waffle",
|
||||
"node_id": "MDEwOlJlcG9zaXRvcnkyNjMxOTkzNTI=",
|
||||
"notifications_url": "https://api.github.com/repos/garronej/super_waffle/notifications{?since,all,participating}",
|
||||
"open_issues": 0,
|
||||
"open_issues_count": 0,
|
||||
"owner": {
|
||||
"avatar_url": "https://avatars0.githubusercontent.com/u/6702424?v=4",
|
||||
"email": "joseph.garrone@ensimag.grenoble-inp.fr",
|
||||
"events_url": "https://api.github.com/users/garronej/events{/privacy}",
|
||||
"followers_url": "https://api.github.com/users/garronej/followers",
|
||||
"following_url": "https://api.github.com/users/garronej/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/garronej/gists{/gist_id}",
|
||||
"gravatar_id": "",
|
||||
"html_url": "https://github.com/garronej",
|
||||
"id": 6702424,
|
||||
"login": "garronej",
|
||||
"name": "garronej",
|
||||
"node_id": "MDQ6VXNlcjY3MDI0MjQ=",
|
||||
"organizations_url": "https://api.github.com/users/garronej/orgs",
|
||||
"received_events_url": "https://api.github.com/users/garronej/received_events",
|
||||
"repos_url": "https://api.github.com/users/garronej/repos",
|
||||
"site_admin": false,
|
||||
"starred_url": "https://api.github.com/users/garronej/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/garronej/subscriptions",
|
||||
"type": "User",
|
||||
"url": "https://api.github.com/users/garronej"
|
||||
},
|
||||
"private": false,
|
||||
"pulls_url": "https://api.github.com/repos/garronej/super_waffle/pulls{/number}",
|
||||
"pushed_at": 1589252222,
|
||||
"releases_url": "https://api.github.com/repos/garronej/super_waffle/releases{/id}",
|
||||
"size": 13,
|
||||
"ssh_url": "git@github.com:garronej/super_waffle.git",
|
||||
"stargazers": 0,
|
||||
"stargazers_count": 0,
|
||||
"stargazers_url": "https://api.github.com/repos/garronej/super_waffle/stargazers",
|
||||
"statuses_url": "https://api.github.com/repos/garronej/super_waffle/statuses/{sha}",
|
||||
"subscribers_url": "https://api.github.com/repos/garronej/super_waffle/subscribers",
|
||||
"subscription_url": "https://api.github.com/repos/garronej/super_waffle/subscription",
|
||||
"svn_url": "https://github.com/garronej/super_waffle",
|
||||
"tags_url": "https://api.github.com/repos/garronej/super_waffle/tags",
|
||||
"teams_url": "https://api.github.com/repos/garronej/super_waffle/teams",
|
||||
"trees_url": "https://api.github.com/repos/garronej/super_waffle/git/trees{/sha}",
|
||||
"updated_at": "2020-05-12T02:36:00Z",
|
||||
"url": "https://github.com/garronej/super_waffle",
|
||||
"watchers": 0,
|
||||
"watchers_count": 0
|
||||
},
|
||||
"sender": {
|
||||
"avatar_url": "https://avatars0.githubusercontent.com/u/6702424?v=4",
|
||||
"events_url": "https://api.github.com/users/garronej/events{/privacy}",
|
||||
"followers_url": "https://api.github.com/users/garronej/followers",
|
||||
"following_url": "https://api.github.com/users/garronej/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/garronej/gists{/gist_id}",
|
||||
"gravatar_id": "",
|
||||
"html_url": "https://github.com/garronej",
|
||||
"id": 6702424,
|
||||
"login": "garronej",
|
||||
"node_id": "MDQ6VXNlcjY3MDI0MjQ=",
|
||||
"organizations_url": "https://api.github.com/users/garronej/orgs",
|
||||
"received_events_url": "https://api.github.com/users/garronej/received_events",
|
||||
"repos_url": "https://api.github.com/users/garronej/repos",
|
||||
"site_admin": false,
|
||||
"starred_url": "https://api.github.com/users/garronej/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/garronej/subscriptions",
|
||||
"type": "User",
|
||||
"url": "https://api.github.com/users/garronej"
|
||||
}
|
||||
},
|
||||
"workspace": "/home/runner/work/super_waffle/super_waffle",
|
||||
"action": "run1"
|
||||
}
|
||||
316
res/tmp.json
Normal file
316
res/tmp.json
Normal file
|
|
@ -0,0 +1,316 @@
|
|||
{
|
||||
"url": "https://api.github.com/repos/denoland/deno_website2/pulls/315",
|
||||
"id": 401601041,
|
||||
"node_id": "MDExOlB1bGxSZXF1ZXN0NDAxNjAxMDQx",
|
||||
"html_url": "https://github.com/denoland/deno_website2/pull/315",
|
||||
"diff_url": "https://github.com/denoland/deno_website2/pull/315.diff",
|
||||
"patch_url": "https://github.com/denoland/deno_website2/pull/315.patch",
|
||||
"issue_url": "https://api.github.com/repos/denoland/deno_website2/issues/315",
|
||||
"number": 315,
|
||||
"state": "open",
|
||||
"locked": false,
|
||||
"title": "Auto-focus Third Party Modules search field",
|
||||
"user": {
|
||||
"login": "chances",
|
||||
"id": 635049,
|
||||
"node_id": "MDQ6VXNlcjYzNTA0OQ==",
|
||||
"avatar_url": "https://avatars2.githubusercontent.com/u/635049?v=4",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/chances",
|
||||
"html_url": "https://github.com/chances",
|
||||
"followers_url": "https://api.github.com/users/chances/followers",
|
||||
"following_url": "https://api.github.com/users/chances/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/chances/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/chances/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/chances/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/chances/orgs",
|
||||
"repos_url": "https://api.github.com/users/chances/repos",
|
||||
"events_url": "https://api.github.com/users/chances/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/chances/received_events",
|
||||
"type": "User",
|
||||
"site_admin": false
|
||||
},
|
||||
"body": "Add the [`autoFocus`](https://material-ui.com/api/text-field/#props) attribute to the Third Party Modules search field for better ergonomics when navigating directly to [deno.land/x](https://deno.land/x).\r\n\r\nRelated to #176.",
|
||||
"created_at": "2020-04-09T19:21:59Z",
|
||||
"updated_at": "2020-04-09T20:15:45Z",
|
||||
"closed_at": null,
|
||||
"merged_at": null,
|
||||
"merge_commit_sha": "321921f786a5788289b5346a4ee7d999a63b46ce",
|
||||
"assignee": null,
|
||||
"assignees": [],
|
||||
"requested_reviewers": [],
|
||||
"requested_teams": [],
|
||||
"labels": [],
|
||||
"milestone": null,
|
||||
"draft": false,
|
||||
"commits_url": "https://api.github.com/repos/denoland/deno_website2/pulls/315/commits",
|
||||
"review_comments_url": "https://api.github.com/repos/denoland/deno_website2/pulls/315/comments",
|
||||
"review_comment_url": "https://api.github.com/repos/denoland/deno_website2/pulls/comments{/number}",
|
||||
"comments_url": "https://api.github.com/repos/denoland/deno_website2/issues/315/comments",
|
||||
"statuses_url": "https://api.github.com/repos/denoland/deno_website2/statuses/841509e864f96e890fed282b436f156b79ccfe12",
|
||||
"head": {
|
||||
"label": "chances:autofocus-module-search",
|
||||
"ref": "autofocus-module-search",
|
||||
"sha": "841509e864f96e890fed282b436f156b79ccfe12",
|
||||
"user": {
|
||||
"login": "chances",
|
||||
"id": 635049,
|
||||
"node_id": "MDQ6VXNlcjYzNTA0OQ==",
|
||||
"avatar_url": "https://avatars2.githubusercontent.com/u/635049?v=4",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/chances",
|
||||
"html_url": "https://github.com/chances",
|
||||
"followers_url": "https://api.github.com/users/chances/followers",
|
||||
"following_url": "https://api.github.com/users/chances/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/chances/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/chances/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/chances/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/chances/orgs",
|
||||
"repos_url": "https://api.github.com/users/chances/repos",
|
||||
"events_url": "https://api.github.com/users/chances/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/chances/received_events",
|
||||
"type": "User",
|
||||
"site_admin": false
|
||||
},
|
||||
"repo": {
|
||||
"id": 253940050,
|
||||
"node_id": "MDEwOlJlcG9zaXRvcnkyNTM5NDAwNTA=",
|
||||
"name": "deno_website2",
|
||||
"full_name": "chances/deno_website2",
|
||||
"private": false,
|
||||
"owner": {
|
||||
"login": "chances",
|
||||
"id": 635049,
|
||||
"node_id": "MDQ6VXNlcjYzNTA0OQ==",
|
||||
"avatar_url": "https://avatars2.githubusercontent.com/u/635049?v=4",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/chances",
|
||||
"html_url": "https://github.com/chances",
|
||||
"followers_url": "https://api.github.com/users/chances/followers",
|
||||
"following_url": "https://api.github.com/users/chances/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/chances/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/chances/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/chances/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/chances/orgs",
|
||||
"repos_url": "https://api.github.com/users/chances/repos",
|
||||
"events_url": "https://api.github.com/users/chances/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/chances/received_events",
|
||||
"type": "User",
|
||||
"site_admin": false
|
||||
},
|
||||
"html_url": "https://github.com/chances/deno_website2",
|
||||
"description": "deno.land website ",
|
||||
"fork": true,
|
||||
"url": "https://api.github.com/repos/chances/deno_website2",
|
||||
"forks_url": "https://api.github.com/repos/chances/deno_website2/forks",
|
||||
"keys_url": "https://api.github.com/repos/chances/deno_website2/keys{/key_id}",
|
||||
"collaborators_url": "https://api.github.com/repos/chances/deno_website2/collaborators{/collaborator}",
|
||||
"teams_url": "https://api.github.com/repos/chances/deno_website2/teams",
|
||||
"hooks_url": "https://api.github.com/repos/chances/deno_website2/hooks",
|
||||
"issue_events_url": "https://api.github.com/repos/chances/deno_website2/issues/events{/number}",
|
||||
"events_url": "https://api.github.com/repos/chances/deno_website2/events",
|
||||
"assignees_url": "https://api.github.com/repos/chances/deno_website2/assignees{/user}",
|
||||
"branches_url": "https://api.github.com/repos/chances/deno_website2/branches{/branch}",
|
||||
"tags_url": "https://api.github.com/repos/chances/deno_website2/tags",
|
||||
"blobs_url": "https://api.github.com/repos/chances/deno_website2/git/blobs{/sha}",
|
||||
"git_tags_url": "https://api.github.com/repos/chances/deno_website2/git/tags{/sha}",
|
||||
"git_refs_url": "https://api.github.com/repos/chances/deno_website2/git/refs{/sha}",
|
||||
"trees_url": "https://api.github.com/repos/chances/deno_website2/git/trees{/sha}",
|
||||
"statuses_url": "https://api.github.com/repos/chances/deno_website2/statuses/{sha}",
|
||||
"languages_url": "https://api.github.com/repos/chances/deno_website2/languages",
|
||||
"stargazers_url": "https://api.github.com/repos/chances/deno_website2/stargazers",
|
||||
"contributors_url": "https://api.github.com/repos/chances/deno_website2/contributors",
|
||||
"subscribers_url": "https://api.github.com/repos/chances/deno_website2/subscribers",
|
||||
"subscription_url": "https://api.github.com/repos/chances/deno_website2/subscription",
|
||||
"commits_url": "https://api.github.com/repos/chances/deno_website2/commits{/sha}",
|
||||
"git_commits_url": "https://api.github.com/repos/chances/deno_website2/git/commits{/sha}",
|
||||
"comments_url": "https://api.github.com/repos/chances/deno_website2/comments{/number}",
|
||||
"issue_comment_url": "https://api.github.com/repos/chances/deno_website2/issues/comments{/number}",
|
||||
"contents_url": "https://api.github.com/repos/chances/deno_website2/contents/{+path}",
|
||||
"compare_url": "https://api.github.com/repos/chances/deno_website2/compare/{base}...{head}",
|
||||
"merges_url": "https://api.github.com/repos/chances/deno_website2/merges",
|
||||
"archive_url": "https://api.github.com/repos/chances/deno_website2/{archive_format}{/ref}",
|
||||
"downloads_url": "https://api.github.com/repos/chances/deno_website2/downloads",
|
||||
"issues_url": "https://api.github.com/repos/chances/deno_website2/issues{/number}",
|
||||
"pulls_url": "https://api.github.com/repos/chances/deno_website2/pulls{/number}",
|
||||
"milestones_url": "https://api.github.com/repos/chances/deno_website2/milestones{/number}",
|
||||
"notifications_url": "https://api.github.com/repos/chances/deno_website2/notifications{?since,all,participating}",
|
||||
"labels_url": "https://api.github.com/repos/chances/deno_website2/labels{/name}",
|
||||
"releases_url": "https://api.github.com/repos/chances/deno_website2/releases{/id}",
|
||||
"deployments_url": "https://api.github.com/repos/chances/deno_website2/deployments",
|
||||
"created_at": "2020-04-07T23:58:20Z",
|
||||
"updated_at": "2020-04-07T23:58:22Z",
|
||||
"pushed_at": "2020-04-09T19:52:19Z",
|
||||
"git_url": "git://github.com/chances/deno_website2.git",
|
||||
"ssh_url": "git@github.com:chances/deno_website2.git",
|
||||
"clone_url": "https://github.com/chances/deno_website2.git",
|
||||
"svn_url": "https://github.com/chances/deno_website2",
|
||||
"homepage": "https://deno.land/",
|
||||
"size": 1436,
|
||||
"stargazers_count": 0,
|
||||
"watchers_count": 0,
|
||||
"language": null,
|
||||
"has_issues": false,
|
||||
"has_projects": true,
|
||||
"has_downloads": true,
|
||||
"has_wiki": false,
|
||||
"has_pages": false,
|
||||
"forks_count": 0,
|
||||
"mirror_url": null,
|
||||
"archived": false,
|
||||
"disabled": false,
|
||||
"open_issues_count": 0,
|
||||
"license": null,
|
||||
"forks": 0,
|
||||
"open_issues": 0,
|
||||
"watchers": 0,
|
||||
"default_branch": "master"
|
||||
}
|
||||
},
|
||||
"base": {
|
||||
"label": "denoland:master",
|
||||
"ref": "master",
|
||||
"sha": "dd04ec78e2d1ae7d8b43eca1232e719574e9985a",
|
||||
"user": {
|
||||
"login": "denoland",
|
||||
"id": 42048915,
|
||||
"node_id": "MDEyOk9yZ2FuaXphdGlvbjQyMDQ4OTE1",
|
||||
"avatar_url": "https://avatars1.githubusercontent.com/u/42048915?v=4",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/denoland",
|
||||
"html_url": "https://github.com/denoland",
|
||||
"followers_url": "https://api.github.com/users/denoland/followers",
|
||||
"following_url": "https://api.github.com/users/denoland/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/denoland/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/denoland/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/denoland/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/denoland/orgs",
|
||||
"repos_url": "https://api.github.com/users/denoland/repos",
|
||||
"events_url": "https://api.github.com/users/denoland/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/denoland/received_events",
|
||||
"type": "Organization",
|
||||
"site_admin": false
|
||||
},
|
||||
"repo": {
|
||||
"id": 216156518,
|
||||
"node_id": "MDEwOlJlcG9zaXRvcnkyMTYxNTY1MTg=",
|
||||
"name": "deno_website2",
|
||||
"full_name": "denoland/deno_website2",
|
||||
"private": false,
|
||||
"owner": {
|
||||
"login": "denoland",
|
||||
"id": 42048915,
|
||||
"node_id": "MDEyOk9yZ2FuaXphdGlvbjQyMDQ4OTE1",
|
||||
"avatar_url": "https://avatars1.githubusercontent.com/u/42048915?v=4",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/denoland",
|
||||
"html_url": "https://github.com/denoland",
|
||||
"followers_url": "https://api.github.com/users/denoland/followers",
|
||||
"following_url": "https://api.github.com/users/denoland/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/denoland/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/denoland/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/denoland/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/denoland/orgs",
|
||||
"repos_url": "https://api.github.com/users/denoland/repos",
|
||||
"events_url": "https://api.github.com/users/denoland/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/denoland/received_events",
|
||||
"type": "Organization",
|
||||
"site_admin": false
|
||||
},
|
||||
"html_url": "https://github.com/denoland/deno_website2",
|
||||
"description": "deno.land website ",
|
||||
"fork": false,
|
||||
"url": "https://api.github.com/repos/denoland/deno_website2",
|
||||
"forks_url": "https://api.github.com/repos/denoland/deno_website2/forks",
|
||||
"keys_url": "https://api.github.com/repos/denoland/deno_website2/keys{/key_id}",
|
||||
"collaborators_url": "https://api.github.com/repos/denoland/deno_website2/collaborators{/collaborator}",
|
||||
"teams_url": "https://api.github.com/repos/denoland/deno_website2/teams",
|
||||
"hooks_url": "https://api.github.com/repos/denoland/deno_website2/hooks",
|
||||
"issue_events_url": "https://api.github.com/repos/denoland/deno_website2/issues/events{/number}",
|
||||
"events_url": "https://api.github.com/repos/denoland/deno_website2/events",
|
||||
"assignees_url": "https://api.github.com/repos/denoland/deno_website2/assignees{/user}",
|
||||
"branches_url": "https://api.github.com/repos/denoland/deno_website2/branches{/branch}",
|
||||
"tags_url": "https://api.github.com/repos/denoland/deno_website2/tags",
|
||||
"blobs_url": "https://api.github.com/repos/denoland/deno_website2/git/blobs{/sha}",
|
||||
"git_tags_url": "https://api.github.com/repos/denoland/deno_website2/git/tags{/sha}",
|
||||
"git_refs_url": "https://api.github.com/repos/denoland/deno_website2/git/refs{/sha}",
|
||||
"trees_url": "https://api.github.com/repos/denoland/deno_website2/git/trees{/sha}",
|
||||
"statuses_url": "https://api.github.com/repos/denoland/deno_website2/statuses/{sha}",
|
||||
"languages_url": "https://api.github.com/repos/denoland/deno_website2/languages",
|
||||
"stargazers_url": "https://api.github.com/repos/denoland/deno_website2/stargazers",
|
||||
"contributors_url": "https://api.github.com/repos/denoland/deno_website2/contributors",
|
||||
"subscribers_url": "https://api.github.com/repos/denoland/deno_website2/subscribers",
|
||||
"subscription_url": "https://api.github.com/repos/denoland/deno_website2/subscription",
|
||||
"commits_url": "https://api.github.com/repos/denoland/deno_website2/commits{/sha}",
|
||||
"git_commits_url": "https://api.github.com/repos/denoland/deno_website2/git/commits{/sha}",
|
||||
"comments_url": "https://api.github.com/repos/denoland/deno_website2/comments{/number}",
|
||||
"issue_comment_url": "https://api.github.com/repos/denoland/deno_website2/issues/comments{/number}",
|
||||
"contents_url": "https://api.github.com/repos/denoland/deno_website2/contents/{+path}",
|
||||
"compare_url": "https://api.github.com/repos/denoland/deno_website2/compare/{base}...{head}",
|
||||
"merges_url": "https://api.github.com/repos/denoland/deno_website2/merges",
|
||||
"archive_url": "https://api.github.com/repos/denoland/deno_website2/{archive_format}{/ref}",
|
||||
"downloads_url": "https://api.github.com/repos/denoland/deno_website2/downloads",
|
||||
"issues_url": "https://api.github.com/repos/denoland/deno_website2/issues{/number}",
|
||||
"pulls_url": "https://api.github.com/repos/denoland/deno_website2/pulls{/number}",
|
||||
"milestones_url": "https://api.github.com/repos/denoland/deno_website2/milestones{/number}",
|
||||
"notifications_url": "https://api.github.com/repos/denoland/deno_website2/notifications{?since,all,participating}",
|
||||
"labels_url": "https://api.github.com/repos/denoland/deno_website2/labels{/name}",
|
||||
"releases_url": "https://api.github.com/repos/denoland/deno_website2/releases{/id}",
|
||||
"deployments_url": "https://api.github.com/repos/denoland/deno_website2/deployments",
|
||||
"created_at": "2019-10-19T05:53:43Z",
|
||||
"updated_at": "2020-05-12T22:28:15Z",
|
||||
"pushed_at": "2020-05-12T22:35:23Z",
|
||||
"git_url": "git://github.com/denoland/deno_website2.git",
|
||||
"ssh_url": "git@github.com:denoland/deno_website2.git",
|
||||
"clone_url": "https://github.com/denoland/deno_website2.git",
|
||||
"svn_url": "https://github.com/denoland/deno_website2",
|
||||
"homepage": "https://deno.land/",
|
||||
"size": 1517,
|
||||
"stargazers_count": 187,
|
||||
"watchers_count": 187,
|
||||
"language": "TypeScript",
|
||||
"has_issues": true,
|
||||
"has_projects": false,
|
||||
"has_downloads": true,
|
||||
"has_wiki": false,
|
||||
"has_pages": false,
|
||||
"forks_count": 131,
|
||||
"mirror_url": null,
|
||||
"archived": false,
|
||||
"disabled": false,
|
||||
"open_issues_count": 32,
|
||||
"license": null,
|
||||
"forks": 131,
|
||||
"open_issues": 32,
|
||||
"watchers": 187,
|
||||
"default_branch": "master"
|
||||
}
|
||||
},
|
||||
"_links": {
|
||||
"self": {
|
||||
"href": "https://api.github.com/repos/denoland/deno_website2/pulls/315"
|
||||
},
|
||||
"html": {
|
||||
"href": "https://github.com/denoland/deno_website2/pull/315"
|
||||
},
|
||||
"issue": {
|
||||
"href": "https://api.github.com/repos/denoland/deno_website2/issues/315"
|
||||
},
|
||||
"comments": {
|
||||
"href": "https://api.github.com/repos/denoland/deno_website2/issues/315/comments"
|
||||
},
|
||||
"review_comments": {
|
||||
"href": "https://api.github.com/repos/denoland/deno_website2/pulls/315/comments"
|
||||
},
|
||||
"review_comment": {
|
||||
"href": "https://api.github.com/repos/denoland/deno_website2/pulls/comments{/number}"
|
||||
},
|
||||
"commits": {
|
||||
"href": "https://api.github.com/repos/denoland/deno_website2/pulls/315/commits"
|
||||
},
|
||||
"statuses": {
|
||||
"href": "https://api.github.com/repos/denoland/deno_website2/statuses/841509e864f96e890fed282b436f156b79ccfe12"
|
||||
}
|
||||
},
|
||||
"author_association": "CONTRIBUTOR"
|
||||
}
|
||||
33
src/bin/generateActionYml.ts
Normal file
33
src/bin/generateActionYml.ts
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
|
||||
import * as fs from "fs";
|
||||
import * as path from "path";
|
||||
import { inputNames, getInputDescription, getInputDefault } from "../inputHelper";
|
||||
import { outputNames, getOutputDescription } from "../outputHelper";
|
||||
|
||||
const projectRoot = path.join(__dirname, "..", "..");
|
||||
|
||||
const packageJsonParsed = require(path.join(projectRoot, "package.json"));
|
||||
|
||||
fs.writeFileSync(
|
||||
path.join(projectRoot, "action.yml"),
|
||||
Buffer.from([
|
||||
`name: '${packageJsonParsed["name"]}'`,
|
||||
`description: '${packageJsonParsed["description"]}'`,
|
||||
`author: '${packageJsonParsed["author"]}'`,
|
||||
`inputs:`,
|
||||
...inputNames.map((inputName, i) => [
|
||||
` ${inputName}:`,
|
||||
` required: ${i === 0 ? "true" : "false"}`,
|
||||
` description: '${getInputDescription(inputName).replace(/'/g,"''")}'`,
|
||||
...[getInputDefault(inputName)].filter(x=>x!==undefined).map(s=>` default: '${s}'`)
|
||||
].join("\n")),
|
||||
`outputs:`,
|
||||
...outputNames.map((outputName, i) => [
|
||||
` ${outputName}:`,
|
||||
` description: '${getOutputDescription(outputName).replace(/'/g,"''")}'`
|
||||
].join("\n")),
|
||||
`runs:`,
|
||||
` using: 'node12'`,
|
||||
` main: 'dist/index.js'`
|
||||
].join("\n"), "utf8")
|
||||
);
|
||||
47
src/dispatch_event.ts
Normal file
47
src/dispatch_event.ts
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
import { getActionParamsFactory } from "./inputHelper";
|
||||
import { createOctokit } from "./tools/createOctokit";
|
||||
|
||||
export const { getActionParams } = getActionParamsFactory({
|
||||
"inputNameSubset": [
|
||||
"owner",
|
||||
"repo",
|
||||
"event_type",
|
||||
"client_payload_json",
|
||||
"github_token"
|
||||
] as const
|
||||
});
|
||||
|
||||
export type Params = ReturnType<typeof getActionParams>;
|
||||
|
||||
|
||||
type CoreLike = {
|
||||
debug: (message: string) => void;
|
||||
};
|
||||
|
||||
export async function action(
|
||||
_actionName: "dispatch_event",
|
||||
params: Params,
|
||||
core: CoreLike
|
||||
) {
|
||||
|
||||
const { owner, repo, event_type, client_payload_json, github_token } = params;
|
||||
|
||||
core.debug(JSON.stringify({ _actionName, params }));
|
||||
|
||||
|
||||
const octokit = createOctokit({ github_token });
|
||||
|
||||
await octokit.repos.createDispatchEvent({
|
||||
owner,
|
||||
repo,
|
||||
event_type,
|
||||
|
||||
...(!!client_payload_json ?
|
||||
{ "client_payload": JSON.parse(client_payload_json) } :
|
||||
{}
|
||||
)
|
||||
});
|
||||
|
||||
|
||||
|
||||
}
|
||||
61
src/get_package_json_version.ts
Normal file
61
src/get_package_json_version.ts
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
|
||||
import fetch from "node-fetch";
|
||||
const urlJoin: typeof import("path").join = require("url-join");
|
||||
import { setOutputFactory } from "./outputHelper";
|
||||
import { NpmModuleVersion } from "./tools/NpmModuleVersion";
|
||||
|
||||
import { getActionParamsFactory } from "./inputHelper";
|
||||
|
||||
export const { getActionParams } = getActionParamsFactory({
|
||||
"inputNameSubset": [
|
||||
"owner",
|
||||
"repo",
|
||||
"branch",
|
||||
"compare_to_version"
|
||||
] as const
|
||||
});
|
||||
|
||||
export type Params = ReturnType<typeof getActionParams>;
|
||||
|
||||
type CoreLike = {
|
||||
debug: (message: string) => void;
|
||||
};
|
||||
|
||||
export const { setOutput } = setOutputFactory<"version" | "compare_result">();
|
||||
|
||||
export async function action(
|
||||
_actionName: "get_package_json_version",
|
||||
params: Params,
|
||||
core: CoreLike
|
||||
): Promise<Parameters<typeof setOutput>[0]> {
|
||||
|
||||
core.debug(JSON.stringify(params));
|
||||
|
||||
const { owner, repo, branch, compare_to_version } = params;
|
||||
|
||||
const version = await fetch(
|
||||
urlJoin(
|
||||
"https://raw.github.com",
|
||||
owner,
|
||||
repo,
|
||||
branch,
|
||||
"package.json"
|
||||
)
|
||||
)
|
||||
.then(res => res.text())
|
||||
.then(text => JSON.parse(text))
|
||||
.then(({ version }) => version as string)
|
||||
.catch(() => "")
|
||||
;
|
||||
|
||||
core.debug(`Version on ${owner}/${repo}#${branch} is ${version}`);
|
||||
|
||||
return {
|
||||
version,
|
||||
"compare_result": NpmModuleVersion.compare(
|
||||
NpmModuleVersion.parse(version || "0.0.0"),
|
||||
NpmModuleVersion.parse(compare_to_version)
|
||||
).toString()
|
||||
};
|
||||
|
||||
}
|
||||
129
src/inputHelper.ts
Normal file
129
src/inputHelper.ts
Normal file
|
|
@ -0,0 +1,129 @@
|
|||
|
||||
import * as core from '@actions/core';
|
||||
|
||||
export const inputNames = [
|
||||
"action_name",
|
||||
"owner",
|
||||
"repo",
|
||||
"event_type",
|
||||
"client_payload_json",
|
||||
"branch",
|
||||
"exclude_commit_from_author_names_json",
|
||||
"module_name",
|
||||
"compare_to_version",
|
||||
"input_string",
|
||||
"search_value",
|
||||
"replace_value",
|
||||
"should_webhook_be_enabled",
|
||||
"github_token"
|
||||
] as const;
|
||||
|
||||
export const availableActions = [
|
||||
"get_package_json_version",
|
||||
"dispatch_event",
|
||||
"update_changelog",
|
||||
"sync_package_and_package_lock_version",
|
||||
"setup_repo_webhook_for_deno_land_publishing",
|
||||
"is_well_formed_and_available_module_name",
|
||||
"string_replace",
|
||||
"tell_if_project_uses_npm_or_yarn",
|
||||
"is_package_json_version_upgraded"
|
||||
] as const;
|
||||
|
||||
|
||||
export function getInputDescription(inputName: typeof inputNames[number]): string {
|
||||
switch(inputName){
|
||||
case "action_name": return [
|
||||
`Action to run, one of: `,
|
||||
availableActions.map(s=>`"${s}"`).join(", ")
|
||||
].join("");
|
||||
case "owner": return [
|
||||
"Repository owner, example: 'garronej',",
|
||||
"github.repository_owner"
|
||||
].join("");
|
||||
case "repo": return [
|
||||
"Repository name, example: ",
|
||||
"'evt', github.event.repository.name"
|
||||
].join("");
|
||||
case "event_type": return [
|
||||
"see: https://developer.github.com/v3/",
|
||||
"repos/#create-a-repository-dispatch-event"
|
||||
].join("");
|
||||
case "client_payload_json": return [
|
||||
"Example '{\"p\":\"foo\"}' see: https://developer.github.com/v3/",
|
||||
"repos/#create-a-repository-dispatch-event"
|
||||
].join("");
|
||||
case "branch": return "Example: default ( can also be a sha )";
|
||||
case "exclude_commit_from_author_names_json": return [
|
||||
"For update_changelog, do not includes commit from user ",
|
||||
`certain committer in the CHANGELOG.md, ex: '["denoify_ci"]'`
|
||||
].join("");
|
||||
case "module_name": return [
|
||||
`A candidate module name, Example: lodash`
|
||||
].join("");
|
||||
case "compare_to_version": return [
|
||||
`For get_package_json_version, a version against which comparing the result`,
|
||||
`if found version more recent than compare_to_version compare_result is 1`,
|
||||
`if found version is equal to compare_to_version compare_result is 0`,
|
||||
`if found version is older to compare_to_version compare_result -1`,
|
||||
`Example: 0.1.3`
|
||||
].join(" ");
|
||||
case "input_string": return `For string_replace, the string to replace`;
|
||||
case "search_value": return `For string_replace, Example '-' ( Will be used as arg for RegExp constructor )`;
|
||||
case "replace_value": return `For string_replace, Example '_'`;
|
||||
case "should_webhook_be_enabled": return `true|false, Should the create webhook be enabled, with setup_repo_webhook_for_deno_land_publishing`;
|
||||
case "github_token": return "GitHub Personal access token";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export function getInputDefault(inputName: typeof inputNames[number]): string | undefined {
|
||||
|
||||
switch(inputName){
|
||||
case "owner": return "${{github.repository_owner}}";
|
||||
case "repo": return "${{github.event.repository.name}}";
|
||||
case "branch": return "${{ github.sha }}";
|
||||
case "github_token": return "${{ github.token }}";
|
||||
case "exclude_commit_from_author_names_json": return '["actions"]';
|
||||
case "should_webhook_be_enabled": return "true";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
const getInput = (inputName: typeof inputNames[number]) => {
|
||||
|
||||
if (inputNames.indexOf(inputName) < 0) {
|
||||
throw new Error(`${inputName} expected`);
|
||||
}
|
||||
|
||||
return core.getInput(inputName);
|
||||
|
||||
}
|
||||
|
||||
|
||||
export function getActionParamsFactory<U extends typeof inputNames[number]>(
|
||||
params: {
|
||||
inputNameSubset: readonly U[]
|
||||
}
|
||||
) {
|
||||
|
||||
const { inputNameSubset } = params;
|
||||
|
||||
function getActionParams() {
|
||||
|
||||
const params: Record<U, string> = {} as any;
|
||||
|
||||
inputNameSubset.forEach(inputName => params[inputName] = getInput(inputName));
|
||||
|
||||
return params;
|
||||
|
||||
};
|
||||
|
||||
return { getActionParams };
|
||||
|
||||
}
|
||||
|
||||
export function getActionName(): typeof availableActions[number] {
|
||||
return getInput("action_name") as any;
|
||||
}
|
||||
100
src/is_package_json_version_upgraded.ts
Normal file
100
src/is_package_json_version_upgraded.ts
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
|
||||
import fetch from "node-fetch";
|
||||
const urlJoin: typeof import("path").join = require("url-join");
|
||||
import { setOutputFactory } from "./outputHelper";
|
||||
import { NpmModuleVersion } from "./tools/NpmModuleVersion";
|
||||
import { getActionParamsFactory } from "./inputHelper";
|
||||
import { createOctokit } from "./tools/createOctokit";
|
||||
import { getLatestSemVersionedTagFactory } from "./tools/octokit-addons/getLatestSemVersionedTag";
|
||||
|
||||
export const { getActionParams } = getActionParamsFactory({
|
||||
"inputNameSubset": [
|
||||
"owner",
|
||||
"repo",
|
||||
"branch",
|
||||
"github_token"
|
||||
] as const
|
||||
});
|
||||
|
||||
export type Params = ReturnType<typeof getActionParams>;
|
||||
|
||||
type CoreLike = {
|
||||
debug: (message: string) => void;
|
||||
};
|
||||
|
||||
export const { setOutput } = setOutputFactory<"from_version" | "to_version" | "is_upgraded_version">();
|
||||
|
||||
export async function action(
|
||||
_actionName: "is_package_json_version_upgraded",
|
||||
params: Params,
|
||||
core: CoreLike
|
||||
): Promise<Parameters<typeof setOutput>[0]> {
|
||||
|
||||
core.debug(JSON.stringify(params));
|
||||
|
||||
const { owner, repo, branch, github_token } = params;
|
||||
|
||||
const to_version = await getPackageJsonVersion({ owner, repo, branch });
|
||||
|
||||
if( to_version === undefined ){
|
||||
throw new Error("No version in package.json on ${owner}/${repo}#${branch} (or repo is private)");
|
||||
}
|
||||
|
||||
core.debug(`Version on ${owner}/${repo}#${branch} is ${NpmModuleVersion.stringify(to_version)}`);
|
||||
|
||||
const octokit = createOctokit({ github_token });
|
||||
|
||||
const { getLatestSemVersionedTag } = getLatestSemVersionedTagFactory({ octokit });
|
||||
|
||||
const { version: from_version } = await getLatestSemVersionedTag({ owner, repo })
|
||||
.then(wrap => wrap === undefined ? { "version": NpmModuleVersion.parse("0.0.0") } : wrap);
|
||||
|
||||
core.debug(`Last version was ${NpmModuleVersion.stringify(from_version)}`);
|
||||
|
||||
const is_upgraded_version = NpmModuleVersion.compare(
|
||||
to_version,
|
||||
from_version
|
||||
) === 1 ? "true" : "false";
|
||||
|
||||
core.debug(`Is version upgraded: ${is_upgraded_version}`);
|
||||
|
||||
return {
|
||||
"to_version": NpmModuleVersion.stringify(to_version),
|
||||
"from_version": NpmModuleVersion.stringify(from_version),
|
||||
is_upgraded_version
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
//TODO: Find a way to make it work with private repo
|
||||
async function getPackageJsonVersion(params: {
|
||||
owner: string;
|
||||
repo: string;
|
||||
branch: string;
|
||||
}): Promise<NpmModuleVersion | undefined> {
|
||||
|
||||
const { owner, repo, branch } = params;
|
||||
|
||||
const version = await fetch(
|
||||
urlJoin(
|
||||
`https://raw.github.com`,
|
||||
owner,
|
||||
repo,
|
||||
branch,
|
||||
"package.json"
|
||||
)
|
||||
)
|
||||
.then(res => res.text())
|
||||
.then(text => JSON.parse(text))
|
||||
.then(({ version }) => version as string)
|
||||
.catch(()=> undefined)
|
||||
;
|
||||
|
||||
if( version === undefined){
|
||||
return undefined;
|
||||
}
|
||||
|
||||
return NpmModuleVersion.parse(version);
|
||||
|
||||
}
|
||||
|
||||
58
src/is_well_formed_and_available_module_name.ts
Normal file
58
src/is_well_formed_and_available_module_name.ts
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
|
||||
|
||||
import { setOutputFactory } from "./outputHelper";
|
||||
import { getActionParamsFactory } from "./inputHelper";
|
||||
import { is404 } from "./tools/is404";
|
||||
|
||||
import validate_npm_package_name from "validate-npm-package-name";
|
||||
|
||||
|
||||
export const { getActionParams } = getActionParamsFactory({
|
||||
"inputNameSubset": [
|
||||
"module_name"
|
||||
] as const
|
||||
});
|
||||
|
||||
export type Params = ReturnType<typeof getActionParams>;
|
||||
|
||||
type CoreLike = {
|
||||
debug: (message: string) => void;
|
||||
};
|
||||
|
||||
export const { setOutput } = setOutputFactory<
|
||||
"is_valid_node_module_name" |
|
||||
"is_valid_deno_module_name" |
|
||||
"is_available_on_npm" |
|
||||
"is_available_on_deno_land"
|
||||
>();
|
||||
|
||||
export async function action(
|
||||
_actionName: "is_well_formed_and_available_module_name",
|
||||
params: Params,
|
||||
core: CoreLike
|
||||
): Promise<Parameters<typeof setOutput>[0]> {
|
||||
|
||||
const { module_name } = params;
|
||||
|
||||
const { validForNewPackages } = validate_npm_package_name(module_name);
|
||||
|
||||
const validForDenoPackages = validForNewPackages && module_name.indexOf("-") < 0
|
||||
|
||||
return {
|
||||
"is_valid_node_module_name": validForNewPackages ? "true" : "false",
|
||||
"is_available_on_npm":
|
||||
!validForNewPackages ?
|
||||
"false"
|
||||
:
|
||||
(await is404(`https://www.npmjs.com/package/${module_name}`)) ?
|
||||
"true" : "false",
|
||||
"is_valid_deno_module_name": validForDenoPackages ? "true" : "false",
|
||||
"is_available_on_deno_land":
|
||||
!validForDenoPackages ?
|
||||
"false"
|
||||
:
|
||||
(await is404(`https://deno.land/x/${module_name}/`)) ?
|
||||
"true" : "false"
|
||||
};
|
||||
|
||||
}
|
||||
113
src/main.ts
Normal file
113
src/main.ts
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
import * as core from '@actions/core'
|
||||
import * as get_package_json_version from "./get_package_json_version";
|
||||
import * as dispatch_event from "./dispatch_event";
|
||||
import * as sync_package_and_package_lock_version from "./sync_package_and_package_lock_version";
|
||||
import * as setup_repo_webhook_for_deno_land_publishing from "./setup_repo_webhook_for_deno_land_publishing";
|
||||
import * as is_well_formed_and_available_module_name from "./is_well_formed_and_available_module_name";
|
||||
import * as tell_if_project_uses_npm_or_yarn from "./tell_if_project_uses_npm_or_yarn";
|
||||
import * as string_replace from "./string_replace";
|
||||
import * as is_package_json_version_upgraded from "./is_package_json_version_upgraded";
|
||||
import { getActionName } from "./inputHelper";
|
||||
import * as update_changelog from "./update_changelog";
|
||||
|
||||
async function run(): Promise<null> {
|
||||
|
||||
const action_name = getActionName();
|
||||
|
||||
switch (action_name) {
|
||||
case "get_package_json_version":
|
||||
get_package_json_version.setOutput(
|
||||
await get_package_json_version.action(
|
||||
action_name,
|
||||
get_package_json_version.getActionParams(),
|
||||
core
|
||||
)
|
||||
);
|
||||
return null;
|
||||
case "dispatch_event":
|
||||
await dispatch_event.action(
|
||||
action_name,
|
||||
dispatch_event.getActionParams(),
|
||||
core
|
||||
);
|
||||
return null;
|
||||
case "update_changelog":
|
||||
await update_changelog.action(
|
||||
action_name,
|
||||
update_changelog.getActionParams(),
|
||||
core
|
||||
);
|
||||
return null;
|
||||
case "sync_package_and_package_lock_version":
|
||||
await sync_package_and_package_lock_version.action(
|
||||
action_name,
|
||||
sync_package_and_package_lock_version.getActionParams(),
|
||||
core
|
||||
);
|
||||
return null;
|
||||
case "setup_repo_webhook_for_deno_land_publishing":
|
||||
setup_repo_webhook_for_deno_land_publishing.setOutput(
|
||||
await setup_repo_webhook_for_deno_land_publishing.action(
|
||||
action_name,
|
||||
setup_repo_webhook_for_deno_land_publishing.getActionParams(),
|
||||
core
|
||||
)
|
||||
);
|
||||
return null;
|
||||
case "is_well_formed_and_available_module_name":
|
||||
is_well_formed_and_available_module_name.setOutput(
|
||||
await is_well_formed_and_available_module_name.action(
|
||||
action_name,
|
||||
is_well_formed_and_available_module_name.getActionParams(),
|
||||
core
|
||||
)
|
||||
);
|
||||
return null;
|
||||
case "string_replace":
|
||||
string_replace.setOutput(
|
||||
await string_replace.action(
|
||||
action_name,
|
||||
string_replace.getActionParams(),
|
||||
core
|
||||
)
|
||||
);
|
||||
return null;
|
||||
case "tell_if_project_uses_npm_or_yarn":
|
||||
tell_if_project_uses_npm_or_yarn.setOutput(
|
||||
await tell_if_project_uses_npm_or_yarn.action(
|
||||
action_name,
|
||||
tell_if_project_uses_npm_or_yarn.getActionParams(),
|
||||
core
|
||||
)
|
||||
);
|
||||
return null;
|
||||
case "is_package_json_version_upgraded":
|
||||
is_package_json_version_upgraded.setOutput(
|
||||
await is_package_json_version_upgraded.action(
|
||||
action_name,
|
||||
is_package_json_version_upgraded.getActionParams(),
|
||||
core
|
||||
)
|
||||
);
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
if (1 === 0 + 1) {
|
||||
throw new Error(`${action_name} Not supported by this toolkit`);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
(async () => {
|
||||
|
||||
try {
|
||||
|
||||
await run()
|
||||
|
||||
} catch (error) {
|
||||
core.setFailed(error.message);
|
||||
}
|
||||
|
||||
})();
|
||||
|
||||
51
src/outputHelper.ts
Normal file
51
src/outputHelper.ts
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
|
||||
import * as core from '@actions/core'
|
||||
import { objectKeys } from "evt/dist/tools/typeSafety/objectKeys";
|
||||
|
||||
export const outputNames = [
|
||||
"version",
|
||||
"is_valid_node_module_name",
|
||||
"is_valid_deno_module_name",
|
||||
"is_available_on_npm",
|
||||
"is_available_on_deno_land",
|
||||
"was_already_published",
|
||||
"compare_result",
|
||||
"replace_result",
|
||||
"was_hook_created",
|
||||
"npm_or_yarn",
|
||||
"from_version",
|
||||
"to_version",
|
||||
"is_upgraded_version"
|
||||
] as const;
|
||||
|
||||
|
||||
export function getOutputDescription(inputName: typeof outputNames[number]): string {
|
||||
switch (inputName) {
|
||||
case "version": return "Output of get_package_json_version";
|
||||
case "is_valid_node_module_name": return "true|false";
|
||||
case "is_valid_deno_module_name": return "true|false";
|
||||
case "is_available_on_npm": return "true|false";
|
||||
case "is_available_on_deno_land": return "true|false";
|
||||
case "was_already_published": return "true|false";
|
||||
case "compare_result": return "1|0|-1";
|
||||
case "replace_result": return "Output of string_replace";
|
||||
case "was_hook_created": return "true|false";
|
||||
case "npm_or_yarn": return "npm|yarn";
|
||||
case "from_version": return "Output of is_package_json_version_upgraded, string";
|
||||
case "to_version": return "Output of is_package_json_version_upgraded, string";
|
||||
case "is_upgraded_version": return "Output of is_package_json_version_upgraded, true|false";
|
||||
}
|
||||
}
|
||||
|
||||
export function setOutputFactory<U extends typeof outputNames[number]>() {
|
||||
|
||||
function setOutput(outputs: Record<U, string>): void {
|
||||
|
||||
objectKeys(outputs)
|
||||
.forEach(outputName => core.setOutput(outputName, outputs[outputName]));
|
||||
|
||||
};
|
||||
|
||||
return { setOutput };
|
||||
|
||||
}
|
||||
56
src/setup_repo_webhook_for_deno_land_publishing.ts
Normal file
56
src/setup_repo_webhook_for_deno_land_publishing.ts
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
|
||||
import { setOutputFactory } from "./outputHelper";
|
||||
import { getActionParamsFactory } from "./inputHelper";
|
||||
import { createOctokit } from "./tools/createOctokit";
|
||||
|
||||
export const { getActionParams } = getActionParamsFactory({
|
||||
"inputNameSubset": [
|
||||
"owner",
|
||||
"repo",
|
||||
"should_webhook_be_enabled",
|
||||
"github_token"
|
||||
] as const
|
||||
});
|
||||
|
||||
export type Params = ReturnType<typeof getActionParams>;
|
||||
|
||||
type CoreLike = {
|
||||
debug: (message: string) => void;
|
||||
warning: (message: string) => void;
|
||||
};
|
||||
|
||||
|
||||
export const { setOutput } = setOutputFactory<"was_hook_created">();
|
||||
|
||||
export async function action(
|
||||
_actionName: "setup_repo_webhook_for_deno_land_publishing",
|
||||
params: Params,
|
||||
core: CoreLike
|
||||
): Promise<Parameters<typeof setOutput>[0]> {
|
||||
|
||||
const { owner, repo, should_webhook_be_enabled, github_token } = params;
|
||||
|
||||
const octokit = createOctokit({ github_token });
|
||||
|
||||
try {
|
||||
|
||||
await octokit.repos.createWebhook({
|
||||
owner,
|
||||
repo,
|
||||
"active": should_webhook_be_enabled === "true",
|
||||
"events": ["create"],
|
||||
"config": {
|
||||
"url": `https://api.deno.land/webhook/gh/${repo}?subdir=deno_dist%252F`,
|
||||
"content_type": "json"
|
||||
}
|
||||
});
|
||||
|
||||
} catch {
|
||||
|
||||
return { "was_hook_created": "false" };
|
||||
|
||||
}
|
||||
|
||||
return { "was_hook_created": "true" };
|
||||
|
||||
}
|
||||
39
src/string_replace.ts
Normal file
39
src/string_replace.ts
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
|
||||
import { setOutputFactory } from "./outputHelper";
|
||||
|
||||
import { getActionParamsFactory } from "./inputHelper";
|
||||
|
||||
export const { getActionParams } = getActionParamsFactory({
|
||||
"inputNameSubset": [
|
||||
"input_string",
|
||||
"search_value",
|
||||
"replace_value"
|
||||
] as const
|
||||
});
|
||||
|
||||
export type Params = ReturnType<typeof getActionParams>;
|
||||
|
||||
type CoreLike = {
|
||||
debug: (message: string) => void;
|
||||
};
|
||||
|
||||
export const { setOutput } = setOutputFactory<"replace_result">();
|
||||
|
||||
export async function action(
|
||||
_actionName: "string_replace",
|
||||
params: Params,
|
||||
core: CoreLike
|
||||
): Promise<Parameters<typeof setOutput>[0]> {
|
||||
|
||||
core.debug(JSON.stringify(params));
|
||||
|
||||
const { input_string, search_value, replace_value } = params;
|
||||
|
||||
return {
|
||||
"replace_result": input_string.replace(
|
||||
new RegExp(search_value, "g"),
|
||||
replace_value
|
||||
)
|
||||
};
|
||||
|
||||
}
|
||||
92
src/sync_package_and_package_lock_version.ts
Normal file
92
src/sync_package_and_package_lock_version.ts
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
import { getActionParamsFactory } from "./inputHelper";
|
||||
import * as st from "scripting-tools";
|
||||
import * as fs from "fs";
|
||||
import { gitCommit } from "./tools/gitCommit";
|
||||
|
||||
export const { getActionParams } = getActionParamsFactory({
|
||||
"inputNameSubset": [
|
||||
"owner",
|
||||
"repo",
|
||||
"branch",
|
||||
"github_token"
|
||||
] as const
|
||||
});
|
||||
|
||||
export type Params = ReturnType<typeof getActionParams>;
|
||||
|
||||
type CoreLike = {
|
||||
debug: (message: string) => void;
|
||||
};
|
||||
|
||||
export async function action(
|
||||
_actionName: "sync_package_and_package_lock_version",
|
||||
params: Params,
|
||||
core: CoreLike
|
||||
) {
|
||||
|
||||
core.debug(JSON.stringify(params));
|
||||
|
||||
const { owner, repo, branch, github_token } = params;
|
||||
|
||||
await gitCommit({
|
||||
owner,
|
||||
repo,
|
||||
github_token,
|
||||
"commitAuthorEmail": "actions@github.com",
|
||||
"performChanges": async () => {
|
||||
|
||||
await st.exec(`git checkout ${branch}`);
|
||||
|
||||
const { version } = JSON.parse(
|
||||
fs.readFileSync("package.json")
|
||||
.toString("utf8")
|
||||
);
|
||||
|
||||
if (!fs.existsSync("package-lock.json")) {
|
||||
core.debug(`No package-lock.json tracked by ${owner}/${repo}#${branch}`);
|
||||
return { "commit": false };
|
||||
}
|
||||
|
||||
const packageLockJsonRaw = fs.readFileSync("package-lock.json")
|
||||
.toString("utf8")
|
||||
;
|
||||
|
||||
const packageLockJsonParsed = JSON.parse(
|
||||
packageLockJsonRaw
|
||||
);
|
||||
|
||||
if (packageLockJsonParsed.version === version) {
|
||||
core.debug("Nothing to do, version in package.json and package-lock.json are the same");
|
||||
return { "commit": false };
|
||||
}
|
||||
|
||||
fs.writeFileSync(
|
||||
"package-lock.json",
|
||||
Buffer.from(
|
||||
JSON.stringify(
|
||||
(() => {
|
||||
packageLockJsonParsed.version = version;
|
||||
packageLockJsonParsed.packages[""].version = version;
|
||||
return packageLockJsonParsed;
|
||||
})(),
|
||||
null,
|
||||
packageLockJsonRaw
|
||||
.replace(/\t/g, " ")
|
||||
.match(/^(\s*)\"version\"/m)![1].length
|
||||
) + packageLockJsonRaw.match(/}([\r\n]*)$/)![1],
|
||||
"utf8"
|
||||
)
|
||||
);
|
||||
|
||||
return {
|
||||
"commit": true,
|
||||
"addAll": false,
|
||||
"message": "Sync package.json and package.lock version"
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
50
src/tell_if_project_uses_npm_or_yarn.ts
Normal file
50
src/tell_if_project_uses_npm_or_yarn.ts
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
|
||||
import fetch from "node-fetch";
|
||||
const urlJoin: typeof import("path").join = require("url-join");
|
||||
import { setOutputFactory } from "./outputHelper";
|
||||
|
||||
import { getActionParamsFactory } from "./inputHelper";
|
||||
|
||||
export const { getActionParams } = getActionParamsFactory({
|
||||
"inputNameSubset": [
|
||||
"owner",
|
||||
"repo",
|
||||
"branch"
|
||||
] as const
|
||||
});
|
||||
|
||||
export type Params = ReturnType<typeof getActionParams>;
|
||||
|
||||
type CoreLike = {
|
||||
debug: (message: string) => void;
|
||||
};
|
||||
|
||||
export const { setOutput } = setOutputFactory<"npm_or_yarn">();
|
||||
|
||||
export async function action(
|
||||
_actionName: "tell_if_project_uses_npm_or_yarn",
|
||||
params: Params,
|
||||
core: CoreLike
|
||||
): Promise<Parameters<typeof setOutput>[0]> {
|
||||
|
||||
core.debug(JSON.stringify(params));
|
||||
|
||||
const { owner, repo } = params;
|
||||
|
||||
const branch = params.branch.split("/").reverse()[0];
|
||||
|
||||
const npm_or_yarn = await fetch(
|
||||
urlJoin(
|
||||
"https://raw.github.com",
|
||||
owner,
|
||||
repo,
|
||||
branch,
|
||||
"yarn.lock"
|
||||
)
|
||||
).then(res => res.status === 404 ? "npm" : "yarn")
|
||||
|
||||
core.debug(`Version on ${owner}/${repo}#${branch} is using ${npm_or_yarn}`);
|
||||
|
||||
return { npm_or_yarn };
|
||||
|
||||
}
|
||||
17
src/test/dispatch_event.ts
Normal file
17
src/test/dispatch_event.ts
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
|
||||
|
||||
|
||||
import { action } from "../dispatch_event";
|
||||
|
||||
action(
|
||||
"dispatch_event",
|
||||
{
|
||||
"owner": "garronej",
|
||||
"repo": "test-repo",
|
||||
"event_type": "example-event",
|
||||
"client_payload_json": JSON.stringify({ "foo": "bar" }),
|
||||
"github_token": ""
|
||||
},
|
||||
{ "debug": console.log }
|
||||
);
|
||||
|
||||
22
src/test/get_package_json_version.ts
Normal file
22
src/test/get_package_json_version.ts
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
|
||||
|
||||
|
||||
import { action } from "../get_package_json_version";
|
||||
|
||||
(async () => {
|
||||
|
||||
const repo = "denoify";
|
||||
|
||||
const result = await action("get_package_json_version", {
|
||||
"owner": "garronej",
|
||||
repo,
|
||||
"branch": "aa5da60301bea4cf0e80e98a4579f7076b544a44",
|
||||
"compare_to_version": "0.0.0"
|
||||
}, { "debug": console.log });
|
||||
|
||||
console.log(result);
|
||||
|
||||
|
||||
})();
|
||||
|
||||
|
||||
20
src/test/is_package_json_version_upgraded.ts
Normal file
20
src/test/is_package_json_version_upgraded.ts
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
|
||||
|
||||
import { action } from "../is_package_json_version_upgraded";
|
||||
|
||||
(async () => {
|
||||
|
||||
const repo = "keycloakify-demo-app";
|
||||
|
||||
const result = await action("is_package_json_version_upgraded", {
|
||||
"owner": "InseeFrLab",
|
||||
repo,
|
||||
"branch": "4fc0ccb46bdb3912e0a215ca3ae45aed458ea6a4",
|
||||
"github_token": ""
|
||||
}, { "debug": console.log });
|
||||
|
||||
console.log(result);
|
||||
|
||||
})();
|
||||
|
||||
|
||||
33
src/test/is_well_formed_and_available_module_name.ts
Normal file
33
src/test/is_well_formed_and_available_module_name.ts
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
|
||||
|
||||
|
||||
|
||||
import { action } from "../is_well_formed_and_available_module_name";
|
||||
|
||||
(async () => {
|
||||
|
||||
|
||||
for (const module_name of [
|
||||
"congenial_pancake",
|
||||
"evt",
|
||||
"_okay",
|
||||
"mai-oui-c-clair"
|
||||
]) {
|
||||
|
||||
console.log({ module_name });
|
||||
|
||||
const resp = await action(
|
||||
"is_well_formed_and_available_module_name",
|
||||
{ module_name },
|
||||
{ "debug": console.log }
|
||||
);
|
||||
|
||||
console.log(resp);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
})();
|
||||
|
||||
|
||||
27
src/test/setup_repo_webhook_for_deno_land_publishing.ts
Normal file
27
src/test/setup_repo_webhook_for_deno_land_publishing.ts
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
|
||||
import { action } from "../setup_repo_webhook_for_deno_land_publishing";
|
||||
import * as st from "scripting-tools";
|
||||
|
||||
(async () => {
|
||||
|
||||
st.enableCmdTrace();
|
||||
|
||||
const repo = "reimagined_octo_winner_kay";
|
||||
|
||||
const resp = await action(
|
||||
"setup_repo_webhook_for_deno_land_publishing",
|
||||
{
|
||||
"owner": "garronej",
|
||||
"repo": "reimagined_octo_winner_kay",
|
||||
"should_webhook_be_enabled": "false",
|
||||
"github_token": ""
|
||||
},
|
||||
{
|
||||
"debug": console.log,
|
||||
"warning": console.warn
|
||||
}
|
||||
);
|
||||
|
||||
console.log(resp);
|
||||
|
||||
})();
|
||||
17
src/test/string_replace.ts
Normal file
17
src/test/string_replace.ts
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
|
||||
import { action } from "../string_replace";
|
||||
import * as st from "scripting-tools";
|
||||
|
||||
(async () => {
|
||||
|
||||
const { replace_result } = await action("string_replace", {
|
||||
"input_string": "octo-computing-machine",
|
||||
"search_value": "-",
|
||||
"replace_value": "_"
|
||||
},
|
||||
{ "debug": console.log }
|
||||
);
|
||||
|
||||
console.log({ replace_result });
|
||||
|
||||
})();
|
||||
20
src/test/sync_package_and_package_lock_version.ts
Normal file
20
src/test/sync_package_and_package_lock_version.ts
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
|
||||
|
||||
import { action } from "../sync_package_and_package_lock_version";
|
||||
|
||||
(async () => {
|
||||
|
||||
const repo = "literate-sniffle";
|
||||
|
||||
await action("sync_package_and_package_lock_version", {
|
||||
"owner": "garronej",
|
||||
repo,
|
||||
"branch": "master",
|
||||
"github_token": ""
|
||||
},
|
||||
{ "debug": console.log }
|
||||
);
|
||||
|
||||
})();
|
||||
|
||||
|
||||
17
src/test/tell_if_project_uses_npm_or_yarn.ts
Normal file
17
src/test/tell_if_project_uses_npm_or_yarn.ts
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
|
||||
|
||||
import { action } from "../tell_if_project_uses_npm_or_yarn";
|
||||
|
||||
(async () => {
|
||||
|
||||
const repo = "powerhooks";
|
||||
|
||||
await action("tell_if_project_uses_npm_or_yarn", {
|
||||
"owner": "garronej",
|
||||
repo,
|
||||
"branch": "refs/heads/master"
|
||||
},
|
||||
{ "debug": console.log }
|
||||
);
|
||||
|
||||
})();
|
||||
25
src/test/update_changelog.ts
Normal file
25
src/test/update_changelog.ts
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
|
||||
import { action } from "../update_changelog";
|
||||
import * as st from "scripting-tools";
|
||||
|
||||
(async () => {
|
||||
|
||||
st.enableCmdTrace();
|
||||
|
||||
const repo = "sturdy_umbrella";
|
||||
|
||||
await action("update_changelog", {
|
||||
"owner": "garronej",
|
||||
repo,
|
||||
"branch": "dev",
|
||||
"exclude_commit_from_author_names_json": JSON.stringify(["denoify_ci"]),
|
||||
"github_token": ""
|
||||
},
|
||||
{
|
||||
"debug": console.log,
|
||||
"warning": console.log
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
})();
|
||||
90
src/tools/NpmModuleVersion.ts
Normal file
90
src/tools/NpmModuleVersion.ts
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
|
||||
|
||||
export type NpmModuleVersion = {
|
||||
major: number;
|
||||
minor: number;
|
||||
patch: number;
|
||||
};
|
||||
|
||||
export namespace NpmModuleVersion {
|
||||
|
||||
export function parse(versionStr: string): NpmModuleVersion {
|
||||
|
||||
const match = versionStr.match(/^([0-9]+)\.([0-9]+)\.([0-9]+)(?:-beta.([0-9]+))?/);
|
||||
|
||||
if( !match ){
|
||||
throw new Error(`${versionStr} is not a valid NPM version`);
|
||||
}
|
||||
|
||||
return {
|
||||
"major": parseInt(match[1]),
|
||||
"minor": parseInt(match[2]),
|
||||
"patch": parseInt(match[3])
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
export function stringify(v: NpmModuleVersion) {
|
||||
return `${v.major}.${v.minor}.${v.patch}`;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* v1 < v2 => -1
|
||||
* v1 === v2 => 0
|
||||
* v1 > v2 => 1
|
||||
*
|
||||
*/
|
||||
export function compare(v1: NpmModuleVersion, v2: NpmModuleVersion): -1 | 0 | 1 {
|
||||
|
||||
const sign = (n: number): -1 | 0 | 1 => n === 0 ? 0 : (n < 0 ? -1 : 1);
|
||||
|
||||
if (v1.major === v2.major) {
|
||||
if (v1.minor === v2.minor) {
|
||||
return sign(v1.patch - v2.patch);
|
||||
} else {
|
||||
return sign(v1.minor - v2.minor);
|
||||
}
|
||||
} else {
|
||||
return sign(v1.major - v2.major);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export function bumpType(
|
||||
params: {
|
||||
versionBehindStr: string;
|
||||
versionAheadStr: string;
|
||||
}
|
||||
): "SAME" | "MAJOR" | "MINOR" | "PATCH" {
|
||||
|
||||
|
||||
const versionAhead = parse(params.versionAheadStr);
|
||||
const versionBehind = parse(params.versionBehindStr);
|
||||
|
||||
if( compare(versionBehind, versionAhead) === 1 ){
|
||||
throw new Error(`Version regression ${versionBehind} -> ${versionAhead}`);
|
||||
}
|
||||
|
||||
if (versionBehind.major !== versionAhead.major) {
|
||||
|
||||
return "MAJOR";
|
||||
|
||||
} else if (versionBehind.minor !== versionAhead.minor) {
|
||||
|
||||
return "MINOR";
|
||||
|
||||
} else if (versionBehind.patch !== versionAhead.patch) {
|
||||
|
||||
return "PATCH";
|
||||
|
||||
} else {
|
||||
|
||||
return "SAME";
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
10
src/tools/createOctokit.ts
Normal file
10
src/tools/createOctokit.ts
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
|
||||
import { Octokit } from "@octokit/rest";
|
||||
|
||||
export function createOctokit(params: { github_token: string; }) {
|
||||
|
||||
const { github_token } = params;
|
||||
|
||||
return new Octokit({ ...(github_token !== "" ? { "auth": github_token } : {}) });
|
||||
|
||||
}
|
||||
60
src/tools/gitCommit.ts
Normal file
60
src/tools/gitCommit.ts
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
import * as st from "scripting-tools";
|
||||
|
||||
export async function gitCommit(
|
||||
params: {
|
||||
owner: string;
|
||||
repo: string;
|
||||
commitAuthorEmail: string;
|
||||
performChanges: () => Promise<{ commit: false; } | { commit: true; addAll: boolean; message: string; }>;
|
||||
github_token: string;
|
||||
}
|
||||
) {
|
||||
|
||||
const { owner, repo, commitAuthorEmail, performChanges, github_token } = params;
|
||||
|
||||
await st.exec(`git clone https://github.com/${owner}/${repo}`);
|
||||
|
||||
const cwd = process.cwd();
|
||||
|
||||
process.chdir(repo);
|
||||
|
||||
const changesResult = await (async () => {
|
||||
|
||||
try {
|
||||
|
||||
return await performChanges();
|
||||
|
||||
} catch (error) {
|
||||
|
||||
return error as Error;
|
||||
|
||||
}
|
||||
|
||||
})()
|
||||
|
||||
if (!(changesResult instanceof Error) && changesResult.commit) {
|
||||
|
||||
await st.exec(`git config --local user.email "${commitAuthorEmail}"`);
|
||||
await st.exec(`git config --local user.name "${commitAuthorEmail.split("@")[0]}"`);
|
||||
|
||||
if (changesResult.addAll) {
|
||||
|
||||
await st.exec(`git add -A`);
|
||||
|
||||
}
|
||||
|
||||
await st.exec(`git commit -am "${changesResult.message}"`);
|
||||
|
||||
await st.exec(`git push "https://${owner}:${github_token}@github.com/${owner}/${repo}.git"`);
|
||||
|
||||
}
|
||||
|
||||
process.chdir(cwd);
|
||||
|
||||
await st.exec(`rm -r ${repo}`);
|
||||
|
||||
if (changesResult instanceof Error) {
|
||||
throw changesResult;
|
||||
}
|
||||
|
||||
}
|
||||
6
src/tools/is404.ts
Normal file
6
src/tools/is404.ts
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
|
||||
import fetch from "node-fetch";
|
||||
|
||||
export function is404(url: string): Promise<boolean> {
|
||||
return fetch(url).then(({ status }) => status === 404);
|
||||
}
|
||||
55
src/tools/octokit-addons/getCommitAhead.ts
Normal file
55
src/tools/octokit-addons/getCommitAhead.ts
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
|
||||
import { getCommonOriginFactory } from "./getCommonOrigin";
|
||||
import { listCommitFactory } from "./listCommit";
|
||||
import type { Commit } from "./getCommitAsyncIterable";
|
||||
import type { Octokit } from "@octokit/rest";
|
||||
|
||||
/** Take two branch that have a common origin and list all the
|
||||
* commit that have been made on the branch that is ahead since it
|
||||
* has been forked from the branch that is behind.
|
||||
* From the older to the newest.
|
||||
* */
|
||||
export function getCommitAheadFactory(
|
||||
params: { octokit: Octokit; }
|
||||
) {
|
||||
|
||||
const { octokit } = params;
|
||||
|
||||
const { getCommonOrigin } = getCommonOriginFactory({ octokit });
|
||||
const { listCommit } = listCommitFactory({ octokit });
|
||||
|
||||
async function getCommitAhead(
|
||||
params: {
|
||||
owner: string;
|
||||
repo: string;
|
||||
branchBehind: string;
|
||||
branchAhead: string;
|
||||
}
|
||||
): Promise<{ commits: Commit[]; }> {
|
||||
|
||||
const { owner, repo, branchBehind, branchAhead } = params;
|
||||
|
||||
const { sha } = await getCommonOrigin({
|
||||
owner,
|
||||
repo,
|
||||
"branch1": branchBehind,
|
||||
"branch2": branchAhead
|
||||
});
|
||||
|
||||
const commits = await listCommit({
|
||||
owner,
|
||||
repo,
|
||||
"branch": branchAhead,
|
||||
sha
|
||||
});
|
||||
|
||||
return { commits };
|
||||
|
||||
|
||||
}
|
||||
|
||||
return { getCommitAhead };
|
||||
|
||||
|
||||
|
||||
}
|
||||
100
src/tools/octokit-addons/getCommitAsyncIterable.ts
Normal file
100
src/tools/octokit-addons/getCommitAsyncIterable.ts
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
|
||||
import type { AsyncReturnType } from "evt/dist/tools/typeSafety/AsyncReturnType";
|
||||
import type { Octokit } from "@octokit/rest";
|
||||
|
||||
|
||||
/*
|
||||
.sha
|
||||
.commit.message
|
||||
.author.type
|
||||
.author.type !== "User"
|
||||
*/
|
||||
|
||||
/** Alias for the non exported ReposListCommitsResponseData type alias */
|
||||
export type Commit = AsyncReturnType<Octokit["repos"]["listCommits"]>["data"][number];
|
||||
|
||||
const per_page = 30;
|
||||
|
||||
/** Iterate over the commits of a repo's branch */
|
||||
export function getCommitAsyncIterableFactory(params: { octokit: Octokit; }) {
|
||||
|
||||
const { octokit } = params;
|
||||
|
||||
function getCommitAsyncIterable(
|
||||
params: {
|
||||
owner: string;
|
||||
repo: string;
|
||||
branch: string;
|
||||
}
|
||||
): AsyncIterable<Commit> {
|
||||
|
||||
const { owner, repo, branch } = params;
|
||||
|
||||
let commits: Commit[] = [];
|
||||
|
||||
let page = 0;
|
||||
|
||||
let isLastPage: boolean | undefined = undefined;
|
||||
|
||||
const getReposListCommitsResponseData = (params: { page: number }) =>
|
||||
octokit.repos.listCommits({
|
||||
owner,
|
||||
repo,
|
||||
per_page,
|
||||
"page": params.page,
|
||||
"sha": branch
|
||||
}).then(({ data }) => data)
|
||||
;
|
||||
|
||||
return {
|
||||
[Symbol.asyncIterator]() {
|
||||
return {
|
||||
"next": async ()=> {
|
||||
|
||||
if (commits.length === 0) {
|
||||
|
||||
if (isLastPage) {
|
||||
return { "done": true, "value": undefined };
|
||||
}
|
||||
|
||||
page++;
|
||||
|
||||
commits = await getReposListCommitsResponseData({ page });
|
||||
|
||||
if (commits.length === 0) {
|
||||
return { "done": true, "value": undefined };
|
||||
}
|
||||
|
||||
isLastPage =
|
||||
commits.length !== per_page ||
|
||||
(await getReposListCommitsResponseData({ "page": page + 1 })).length === 0
|
||||
;
|
||||
|
||||
}
|
||||
|
||||
const [commit, ...rest] = commits;
|
||||
|
||||
commits = rest;
|
||||
|
||||
return {
|
||||
"value": commit,
|
||||
"done": false
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
|
||||
return { getCommitAsyncIterable };
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
90
src/tools/octokit-addons/getCommonOrigin.ts
Normal file
90
src/tools/octokit-addons/getCommonOrigin.ts
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
|
||||
import { getCommitAsyncIterableFactory } from "./getCommitAsyncIterable";
|
||||
import type { Octokit } from "@octokit/rest";
|
||||
|
||||
/** Return the sha of the first common commit between two branches */
|
||||
export function getCommonOriginFactory(params: { octokit: Octokit; }) {
|
||||
|
||||
const { octokit } = params;
|
||||
|
||||
const { getCommitAsyncIterable } = getCommitAsyncIterableFactory({ octokit });
|
||||
|
||||
async function getCommonOrigin(
|
||||
params: {
|
||||
owner: string;
|
||||
repo: string;
|
||||
branch1: string;
|
||||
branch2: string;
|
||||
}
|
||||
): Promise<{ sha: string; }> {
|
||||
|
||||
const { owner, repo, branch1, branch2 } = params;
|
||||
|
||||
const [
|
||||
commitAsyncIterable1,
|
||||
commitAsyncIterable2
|
||||
] = ([branch1, branch2] as const)
|
||||
.map(branch => getCommitAsyncIterable({ owner, repo, branch }))
|
||||
;
|
||||
|
||||
|
||||
let shas1: string[] = [];
|
||||
let shas2: string[] = [];
|
||||
|
||||
while (true) {
|
||||
|
||||
const [
|
||||
itRes1,
|
||||
itRes2
|
||||
] =
|
||||
await Promise.all(
|
||||
([commitAsyncIterable1, commitAsyncIterable2] as const)
|
||||
.map(
|
||||
commitAsyncIterable => commitAsyncIterable[Symbol.asyncIterator]()
|
||||
.next()
|
||||
)
|
||||
)
|
||||
;
|
||||
|
||||
let sha1: string | undefined = undefined;
|
||||
|
||||
if (!itRes1.done) {
|
||||
|
||||
sha1 = itRes1.value.sha;
|
||||
|
||||
shas1.push(sha1);
|
||||
|
||||
}
|
||||
|
||||
let sha2: string | undefined = undefined;
|
||||
|
||||
if (!itRes2.done) {
|
||||
|
||||
sha2 = itRes2.value.sha;
|
||||
|
||||
shas2.push(sha2);
|
||||
|
||||
}
|
||||
|
||||
if (!!sha1 && shas2.includes(sha1)) {
|
||||
return { "sha": sha1 };
|
||||
}
|
||||
|
||||
if (!!sha2 && shas1.includes(sha2)) {
|
||||
return { "sha": sha2 };
|
||||
}
|
||||
|
||||
if (itRes1.done && itRes2.done) {
|
||||
throw new Error("No common origin");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
return { getCommonOrigin };
|
||||
|
||||
|
||||
}
|
||||
48
src/tools/octokit-addons/getLatestSemVersionedTag.ts
Normal file
48
src/tools/octokit-addons/getLatestSemVersionedTag.ts
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
|
||||
import { listTagsFactory } from "./listTags";
|
||||
import type { Octokit } from "@octokit/rest";
|
||||
import { NpmModuleVersion } from "../NpmModuleVersion";
|
||||
|
||||
export function getLatestSemVersionedTagFactory(params: { octokit: Octokit; }) {
|
||||
|
||||
const { octokit } = params;
|
||||
|
||||
async function getLatestSemVersionedTag(
|
||||
params: {
|
||||
owner: string;
|
||||
repo: string;
|
||||
}
|
||||
): Promise<{
|
||||
tag: string;
|
||||
version: NpmModuleVersion;
|
||||
} | undefined> {
|
||||
|
||||
const { owner, repo } = params;
|
||||
|
||||
const semVersionedTags: { tag: string; version: NpmModuleVersion; }[] = [];
|
||||
|
||||
const { listTags } = listTagsFactory({ octokit });
|
||||
|
||||
for await (const tag of listTags({ owner, repo })) {
|
||||
|
||||
const match = tag.match(/^v?([0-9]+\.[0-9]+\.[0-9]+)$/);
|
||||
|
||||
if (!match) {
|
||||
continue;
|
||||
}
|
||||
|
||||
semVersionedTags.push({
|
||||
tag,
|
||||
"version": NpmModuleVersion.parse( match[1])
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
return semVersionedTags
|
||||
.sort(({ version: vX }, { version: vY }) => NpmModuleVersion.compare(vY, vX))[0];
|
||||
|
||||
};
|
||||
|
||||
return { getLatestSemVersionedTag };
|
||||
|
||||
}
|
||||
93
src/tools/octokit-addons/getPullRequestAsyncIterable.ts
Normal file
93
src/tools/octokit-addons/getPullRequestAsyncIterable.ts
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
|
||||
import type { AsyncReturnType } from "evt/dist/tools/typeSafety/AsyncReturnType";
|
||||
import type { Octokit } from "@octokit/rest";
|
||||
|
||||
|
||||
|
||||
/** Alias for the non exported PullsListResponseData type alias */
|
||||
export type PullRequest = AsyncReturnType<Octokit["pulls"]["list"]>["data"][number];
|
||||
|
||||
const per_page = 99;
|
||||
|
||||
export function getPullRequestAsyncIterableFactory(params: { octokit: Octokit; }) {
|
||||
|
||||
const { octokit } = params;
|
||||
|
||||
function getPullRequestAsyncIterable(
|
||||
params: {
|
||||
owner: string;
|
||||
repo: string;
|
||||
state: "open" | "closed" | "all"
|
||||
}
|
||||
): AsyncIterable<PullRequest> {
|
||||
|
||||
const { owner, repo, state } = params;
|
||||
|
||||
let pullRequests: PullRequest[] = [];
|
||||
|
||||
let page = 0;
|
||||
|
||||
let isLastPage: boolean | undefined = undefined;
|
||||
|
||||
const getPullsListResponseData = (params: { page: number }) =>
|
||||
octokit.pulls.list({
|
||||
owner,
|
||||
repo,
|
||||
state,
|
||||
per_page,
|
||||
"page": params.page
|
||||
}).then(({ data }) => data)
|
||||
;
|
||||
|
||||
return {
|
||||
[Symbol.asyncIterator]() {
|
||||
return {
|
||||
"next": async ()=> {
|
||||
|
||||
if (pullRequests.length === 0) {
|
||||
|
||||
if (isLastPage) {
|
||||
return { "done": true, "value": undefined };
|
||||
}
|
||||
|
||||
page++;
|
||||
|
||||
pullRequests = await getPullsListResponseData({ page });
|
||||
|
||||
if (pullRequests.length === 0) {
|
||||
return { "done": true, "value": undefined };
|
||||
}
|
||||
|
||||
isLastPage =
|
||||
pullRequests.length !== per_page ||
|
||||
(await getPullsListResponseData({ "page": page + 1 })).length === 0
|
||||
;
|
||||
|
||||
}
|
||||
|
||||
const [pullRequest, ...rest] = pullRequests;
|
||||
|
||||
pullRequests = rest;
|
||||
|
||||
return {
|
||||
"value": pullRequest,
|
||||
"done": false
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
|
||||
return { getPullRequestAsyncIterable };
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
4
src/tools/octokit-addons/index.ts
Normal file
4
src/tools/octokit-addons/index.ts
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
export { getCommitAheadFactory as getChangeLogFactory } from "./getCommitAhead";
|
||||
export { Commit, getCommitAsyncIterableFactory } from "./getCommitAsyncIterable";
|
||||
export { getCommonOriginFactory } from "./getCommonOrigin";
|
||||
export { listCommitFactory } from "./listCommit";
|
||||
51
src/tools/octokit-addons/listCommit.ts
Normal file
51
src/tools/octokit-addons/listCommit.ts
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
|
||||
import type { Octokit } from "@octokit/rest";
|
||||
import { getCommitAsyncIterableFactory } from "./getCommitAsyncIterable";
|
||||
import type { Commit } from "./getCommitAsyncIterable";
|
||||
|
||||
/** Return the list of commit since given sha (excluded)
|
||||
* ordered from the oldest to the newest */
|
||||
export function listCommitFactory(
|
||||
params: { octokit: Octokit }
|
||||
) {
|
||||
|
||||
const { octokit } = params;
|
||||
|
||||
const { getCommitAsyncIterable } = getCommitAsyncIterableFactory({ octokit });
|
||||
|
||||
async function listCommit(
|
||||
params: {
|
||||
owner: string;
|
||||
repo: string;
|
||||
branch: string;
|
||||
sha: string;
|
||||
}
|
||||
): Promise<Commit[]> {
|
||||
|
||||
const { owner, repo, branch, sha } = params;
|
||||
|
||||
const commitAsyncIterable = getCommitAsyncIterable({
|
||||
owner,
|
||||
repo,
|
||||
branch
|
||||
});
|
||||
|
||||
const commits: Commit[]= [];
|
||||
|
||||
for await (const commit of commitAsyncIterable) {
|
||||
|
||||
if( commit.sha === sha ){
|
||||
break;
|
||||
}
|
||||
|
||||
commits.push(commit);
|
||||
|
||||
}
|
||||
|
||||
return commits.reverse();
|
||||
|
||||
}
|
||||
|
||||
return { listCommit };
|
||||
|
||||
}
|
||||
82
src/tools/octokit-addons/listTags.ts
Normal file
82
src/tools/octokit-addons/listTags.ts
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
import type { Octokit } from "@octokit/rest";
|
||||
|
||||
const per_page = 99;
|
||||
|
||||
export function listTagsFactory(params: { octokit: Octokit; }) {
|
||||
|
||||
const { octokit } = params;
|
||||
|
||||
const octokit_repo_listTags = (
|
||||
async (
|
||||
params: {
|
||||
owner: string;
|
||||
repo: string;
|
||||
per_page: number;
|
||||
page: number;
|
||||
}
|
||||
) => {
|
||||
|
||||
return octokit.repos.listTags(params);
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
async function* listTags(
|
||||
params: {
|
||||
owner: string;
|
||||
repo: string;
|
||||
}
|
||||
): AsyncGenerator<string> {
|
||||
|
||||
const { owner, repo } = params;
|
||||
|
||||
let page = 1;
|
||||
|
||||
while (true) {
|
||||
|
||||
const resp = await octokit_repo_listTags({
|
||||
owner,
|
||||
repo,
|
||||
per_page,
|
||||
"page": page++
|
||||
});
|
||||
|
||||
for (const branch of resp.data.map(({ name }) => name)) {
|
||||
yield branch;
|
||||
}
|
||||
|
||||
if (resp.data.length < 99) {
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/** Returns the same "latest" tag as deno.land/x, not actually the latest though */
|
||||
async function getLatestTag(
|
||||
params: {
|
||||
owner: string;
|
||||
repo: string;
|
||||
}
|
||||
): Promise<string | undefined> {
|
||||
|
||||
const { owner, repo } = params;
|
||||
|
||||
const itRes = await listTags({ owner, repo }).next();
|
||||
|
||||
if (itRes.done) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
return itRes.value;
|
||||
|
||||
}
|
||||
|
||||
return { listTags, getLatestTag };
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
22
src/tools/test/octokit-addons/getChangeLog.ts
Normal file
22
src/tools/test/octokit-addons/getChangeLog.ts
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
|
||||
import { getCommitAheadFactory } from "../../octokit-addons/getCommitAhead";
|
||||
import { Octokit } from "@octokit/rest";
|
||||
|
||||
(async ()=>{
|
||||
|
||||
const octokit = new Octokit();
|
||||
|
||||
const { getCommitAhead } = getCommitAheadFactory({ octokit });
|
||||
|
||||
const { commits } = await getCommitAhead({
|
||||
"owner": "garronej",
|
||||
"repo": "test-repo",
|
||||
"branchBehind": "garronej-patch-1",
|
||||
"branchAhead": "master"
|
||||
});
|
||||
|
||||
const messages = commits.map(({ commit })=> commit.message );
|
||||
|
||||
console.log(JSON.stringify(messages, null, 2));
|
||||
|
||||
})();
|
||||
28
src/tools/test/octokit-addons/getCommitAsyncIterable.ts
Normal file
28
src/tools/test/octokit-addons/getCommitAsyncIterable.ts
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
|
||||
import { getCommitAsyncIterableFactory } from "../../octokit-addons/getCommitAsyncIterable";
|
||||
import { createOctokit } from "../../createOctokit";
|
||||
|
||||
|
||||
(async function () {
|
||||
|
||||
const octokit = createOctokit({ "github_token": "" });
|
||||
|
||||
const { getCommitAsyncIterable } = getCommitAsyncIterableFactory({ octokit });
|
||||
|
||||
const commitAsyncIterable = getCommitAsyncIterable({
|
||||
"owner": "garronej",
|
||||
"repo": "test-repo",
|
||||
"branch": "master"
|
||||
});
|
||||
|
||||
for await (const commit of commitAsyncIterable) {
|
||||
console.log(commit.commit.message);
|
||||
}
|
||||
|
||||
console.log("done");
|
||||
|
||||
})();
|
||||
|
||||
|
||||
|
||||
|
||||
23
src/tools/test/octokit-addons/getCommonOrigin.ts
Normal file
23
src/tools/test/octokit-addons/getCommonOrigin.ts
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
|
||||
import { getCommonOriginFactory } from "../../octokit-addons/getCommonOrigin";
|
||||
import { Octokit } from "@octokit/rest";
|
||||
|
||||
|
||||
(async function () {
|
||||
|
||||
const octokit = new Octokit();
|
||||
|
||||
const { getCommonOrigin } = getCommonOriginFactory({ octokit });
|
||||
|
||||
const { sha } = await getCommonOrigin({
|
||||
"owner": "garronej",
|
||||
"repo": "test-repo",
|
||||
"branch1": "master",
|
||||
"branch2": "garronej-patch-1"
|
||||
});
|
||||
|
||||
console.log({ sha });
|
||||
|
||||
})();
|
||||
|
||||
|
||||
21
src/tools/test/octokit-addons/listCommit.ts
Normal file
21
src/tools/test/octokit-addons/listCommit.ts
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
|
||||
import { listCommitFactory } from "../../octokit-addons/listCommit";
|
||||
import { createOctokit } from "../../createOctokit";
|
||||
|
||||
(async ()=>{
|
||||
|
||||
const octokit = createOctokit({ "github_token": "" });
|
||||
|
||||
|
||||
const { listCommit } = listCommitFactory({ octokit });
|
||||
|
||||
const commits= await listCommit({
|
||||
"owner": "garronej",
|
||||
"repo": "supreme_tribble",
|
||||
"branch": "dev",
|
||||
"sha": "84792f5719d0812e6917051b5c6331891187ca20"
|
||||
});
|
||||
|
||||
console.log(JSON.stringify(commits, null, 2));
|
||||
|
||||
})();
|
||||
192
src/update_changelog.ts
Normal file
192
src/update_changelog.ts
Normal file
|
|
@ -0,0 +1,192 @@
|
|||
|
||||
import { getActionParamsFactory } from "./inputHelper";
|
||||
import * as st from "scripting-tools";
|
||||
import { getCommitAheadFactory } from "./tools/octokit-addons/getCommitAhead";
|
||||
import * as get_package_json_version from "./get_package_json_version";
|
||||
import * as fs from "fs";
|
||||
import { NpmModuleVersion } from "./tools/NpmModuleVersion";
|
||||
import { gitCommit } from "./tools/gitCommit";
|
||||
import { getLatestSemVersionedTagFactory } from "./tools/octokit-addons/getLatestSemVersionedTag";
|
||||
import { createOctokit } from "./tools/createOctokit";
|
||||
|
||||
export const { getActionParams } = getActionParamsFactory({
|
||||
"inputNameSubset": [
|
||||
"owner",
|
||||
"repo",
|
||||
"branch",
|
||||
"exclude_commit_from_author_names_json",
|
||||
"github_token"
|
||||
] as const
|
||||
});
|
||||
|
||||
export type Params = ReturnType<typeof getActionParams>;
|
||||
|
||||
type CoreLike = {
|
||||
debug: (message: string) => void;
|
||||
warning: (message: string)=> void;
|
||||
};
|
||||
|
||||
export async function action(
|
||||
_actionName: "update_changelog",
|
||||
params: Params,
|
||||
core: CoreLike
|
||||
) {
|
||||
|
||||
const {
|
||||
owner,
|
||||
repo,
|
||||
github_token
|
||||
} = params;
|
||||
|
||||
const branch = params.branch.split("/").reverse()[0];
|
||||
|
||||
core.debug(`params: ${JSON.stringify(params)}`);
|
||||
|
||||
const exclude_commit_from_author_names: string[] =
|
||||
JSON.parse(params.exclude_commit_from_author_names_json)
|
||||
;
|
||||
|
||||
|
||||
const octokit = createOctokit({ github_token });
|
||||
|
||||
const { getCommitAhead } = getCommitAheadFactory({ octokit });
|
||||
|
||||
const { getLatestSemVersionedTag } = getLatestSemVersionedTagFactory({ octokit });
|
||||
|
||||
const { tag: branchBehind } = (await getLatestSemVersionedTag({ owner, repo })) ?? {};
|
||||
|
||||
if( branchBehind === undefined ){
|
||||
|
||||
core.warning(`It's the first release, not editing the CHANGELOG.md`);
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
const { commits } = await getCommitAhead({
|
||||
owner,
|
||||
repo,
|
||||
branchBehind,
|
||||
"branchAhead": branch
|
||||
}).catch(() => ({ "commits": undefined }));
|
||||
|
||||
if( commits === undefined ){
|
||||
|
||||
core.warning(`${branchBehind} probably does not exist`);
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
const [
|
||||
branchBehindVersion,
|
||||
branchAheadVersion
|
||||
] = await Promise.all(
|
||||
([branchBehind, branch] as const)
|
||||
.map(branch =>
|
||||
get_package_json_version.action(
|
||||
"get_package_json_version",
|
||||
{
|
||||
owner,
|
||||
repo,
|
||||
branch,
|
||||
"compare_to_version": "0.0.0"
|
||||
},
|
||||
core
|
||||
).then(({ version }) => version)
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
const bumpType = NpmModuleVersion.bumpType({
|
||||
"versionAheadStr": branchAheadVersion,
|
||||
"versionBehindStr": branchBehindVersion || "0.0.0"
|
||||
});
|
||||
|
||||
if( bumpType === "SAME" ){
|
||||
|
||||
core.warning(`Version on ${branch} and ${branchBehind} are the same, not editing CHANGELOG.md`);
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
await gitCommit({
|
||||
owner,
|
||||
repo,
|
||||
github_token,
|
||||
"commitAuthorEmail": "actions@github.com",
|
||||
"performChanges": async () => {
|
||||
|
||||
await st.exec(`git checkout ${branch}`);
|
||||
|
||||
const { changelogRaw } = updateChangelog({
|
||||
"changelogRaw":
|
||||
fs.existsSync("CHANGELOG.md") ?
|
||||
fs.readFileSync("CHANGELOG.md")
|
||||
.toString("utf8")
|
||||
: "",
|
||||
"version": branchAheadVersion,
|
||||
bumpType,
|
||||
"body": commits
|
||||
.reverse()
|
||||
.filter(({ commit }) => !exclude_commit_from_author_names.includes(commit.author.name))
|
||||
.map(({ commit }) => commit.message)
|
||||
.filter(message => !/changelog/i.test(message))
|
||||
.filter(message => !/^Merge branch /.test(message))
|
||||
.filter(message => !/^GitBook: /.test(message))
|
||||
.map(message => `- ${message} `)
|
||||
.join("\n")
|
||||
});
|
||||
|
||||
core.debug(`CHANGELOG.md: ${changelogRaw}`);
|
||||
|
||||
fs.writeFileSync(
|
||||
"CHANGELOG.md",
|
||||
Buffer.from(changelogRaw, "utf8")
|
||||
);
|
||||
|
||||
return {
|
||||
"commit": true,
|
||||
"addAll": true,
|
||||
"message": `Update changelog v${branchAheadVersion}`
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function updateChangelog(
|
||||
params: {
|
||||
changelogRaw: string;
|
||||
version: string;
|
||||
bumpType: "MAJOR" | "MINOR" | "PATCH";
|
||||
body: string;
|
||||
}
|
||||
): { changelogRaw: string; } {
|
||||
|
||||
const { body, version, bumpType } = params;
|
||||
|
||||
const dateString = (() => {
|
||||
|
||||
const now = new Date();
|
||||
|
||||
return new Date(now.getTime() - (now.getTimezoneOffset() * 60000))
|
||||
.toISOString()
|
||||
.split("T")[0];
|
||||
|
||||
})();
|
||||
|
||||
const changelogRaw = [
|
||||
`${bumpType === "MAJOR" ? "#" : (bumpType === "MINOR" ? "##" : "###")}`,
|
||||
` **${version}** (${dateString}) \n \n`,
|
||||
`${body} \n \n`,
|
||||
params.changelogRaw
|
||||
].join("");
|
||||
|
||||
|
||||
return { changelogRaw };
|
||||
|
||||
}
|
||||
12
tsconfig.json
Normal file
12
tsconfig.json
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"target": "es6", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */
|
||||
"module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
|
||||
"outDir": "./lib", /* Redirect output structure to the directory. */
|
||||
"rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
|
||||
"strict": true, /* Enable all strict type-checking options. */
|
||||
"noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */
|
||||
"esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
|
||||
},
|
||||
"exclude": ["node_modules", "**/*.test.ts"]
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue