├── .gitignore ├── 03-core-features └── filters │ ├── excluded-file.txt │ └── included-file.md ├── 04-advanced-features └── caching │ └── minimal-node-project │ ├── .gitignore │ ├── package.json │ └── package-lock.json ├── 06-authoring-actions ├── javascript-actions │ └── javascript-action-no-build │ │ ├── node_modules │ │ ├── tunnel │ │ │ ├── index.js │ │ │ ├── .travis.yml │ │ │ ├── .idea │ │ │ │ ├── encodings.xml │ │ │ │ ├── vcs.xml │ │ │ │ ├── modules.xml │ │ │ │ └── node-tunnel.iml │ │ │ ├── CHANGELOG.md │ │ │ ├── package.json │ │ │ └── LICENSE │ │ ├── @octokit │ │ │ ├── plugin-rest-endpoint-methods │ │ │ │ ├── dist-src │ │ │ │ │ ├── generated │ │ │ │ │ │ ├── method-types.js │ │ │ │ │ │ └── parameters-and-response-types.js │ │ │ │ │ ├── version.js │ │ │ │ │ └── index.js │ │ │ │ ├── dist-types │ │ │ │ │ ├── version.d.ts │ │ │ │ │ ├── generated │ │ │ │ │ │ └── endpoints.d.ts │ │ │ │ │ ├── endpoints-to-methods.d.ts │ │ │ │ │ ├── index.d.ts │ │ │ │ │ └── types.d.ts │ │ │ │ ├── node_modules │ │ │ │ │ └── @octokit │ │ │ │ │ │ ├── types │ │ │ │ │ │ ├── dist-types │ │ │ │ │ │ │ ├── VERSION.d.ts │ │ │ │ │ │ │ ├── Fetch.d.ts │ │ │ │ │ │ │ ├── Url.d.ts │ │ │ │ │ │ │ ├── Signal.d.ts │ │ │ │ │ │ │ ├── RequestMethod.d.ts │ │ │ │ │ │ │ ├── Route.d.ts │ │ │ │ │ │ │ ├── RequestError.d.ts │ │ │ │ │ │ │ ├── GetResponseTypeFromEndpointMethod.d.ts │ │ │ │ │ │ │ ├── StrategyInterface.d.ts │ │ │ │ │ │ │ ├── EndpointOptions.d.ts │ │ │ │ │ │ │ ├── RequestHeaders.d.ts │ │ │ │ │ │ │ ├── OctokitResponse.d.ts │ │ │ │ │ │ │ ├── ResponseHeaders.d.ts │ │ │ │ │ │ │ ├── RequestOptions.d.ts │ │ │ │ │ │ │ ├── RequestRequestOptions.d.ts │ │ │ │ │ │ │ └── EndpointDefaults.d.ts │ │ │ │ │ │ └── LICENSE │ │ │ │ │ │ └── openapi-types │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── LICENSE │ │ │ │ └── LICENSE │ │ │ ├── core │ │ │ │ ├── dist-types │ │ │ │ │ └── version.d.ts │ │ │ │ ├── dist-src │ │ │ │ │ └── version.js │ │ │ │ └── LICENSE │ │ │ ├── endpoint │ │ │ │ ├── dist-types │ │ │ │ │ ├── version.d.ts │ │ │ │ │ ├── index.d.ts │ │ │ │ │ ├── util │ │ │ │ │ │ ├── merge-deep.d.ts │ │ │ │ │ │ ├── is-plain-object.d.ts │ │ │ │ │ │ ├── remove-undefined-properties.d.ts │ │ │ │ │ │ ├── extract-url-variable-names.d.ts │ │ │ │ │ │ ├── url-template.d.ts │ │ │ │ │ │ ├── lowercase-keys.d.ts │ │ │ │ │ │ ├── omit.d.ts │ │ │ │ │ │ └── add-query-parameters.d.ts │ │ │ │ │ ├── defaults.d.ts │ │ │ │ │ ├── parse.d.ts │ │ │ │ │ ├── merge.d.ts │ │ │ │ │ ├── with-defaults.d.ts │ │ │ │ │ └── endpoint-with-defaults.d.ts │ │ │ │ ├── dist-src │ │ │ │ │ ├── version.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── util │ │ │ │ │ │ ├── remove-undefined-properties.js │ │ │ │ │ │ ├── lowercase-keys.js │ │ │ │ │ │ ├── omit.js │ │ │ │ │ │ ├── extract-url-variable-names.js │ │ │ │ │ │ ├── add-query-parameters.js │ │ │ │ │ │ ├── merge-deep.js │ │ │ │ │ │ └── is-plain-object.js │ │ │ │ │ ├── endpoint-with-defaults.js │ │ │ │ │ ├── defaults.js │ │ │ │ │ └── with-defaults.js │ │ │ │ └── LICENSE │ │ │ ├── graphql │ │ │ │ ├── dist-types │ │ │ │ │ ├── version.d.ts │ │ │ │ │ ├── with-defaults.d.ts │ │ │ │ │ ├── graphql.d.ts │ │ │ │ │ ├── index.d.ts │ │ │ │ │ └── error.d.ts │ │ │ │ ├── dist-src │ │ │ │ │ ├── version.js │ │ │ │ │ ├── with-defaults.js │ │ │ │ │ ├── index.js │ │ │ │ │ └── error.js │ │ │ │ └── LICENSE │ │ │ ├── request │ │ │ │ ├── dist-types │ │ │ │ │ ├── version.d.ts │ │ │ │ │ ├── index.d.ts │ │ │ │ │ ├── is-plain-object.d.ts │ │ │ │ │ ├── get-buffer-response.d.ts │ │ │ │ │ ├── with-defaults.d.ts │ │ │ │ │ └── fetch-wrapper.d.ts │ │ │ │ ├── dist-src │ │ │ │ │ ├── version.js │ │ │ │ │ ├── get-buffer-response.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── is-plain-object.js │ │ │ │ │ └── with-defaults.js │ │ │ │ └── LICENSE │ │ │ ├── types │ │ │ │ ├── dist-types │ │ │ │ │ ├── VERSION.d.ts │ │ │ │ │ ├── Fetch.d.ts │ │ │ │ │ ├── Url.d.ts │ │ │ │ │ ├── RequestMethod.d.ts │ │ │ │ │ ├── Route.d.ts │ │ │ │ │ ├── RequestError.d.ts │ │ │ │ │ ├── StrategyInterface.d.ts │ │ │ │ │ ├── EndpointOptions.d.ts │ │ │ │ │ ├── GetResponseTypeFromEndpointMethod.d.ts │ │ │ │ │ ├── OctokitResponse.d.ts │ │ │ │ │ ├── RequestHeaders.d.ts │ │ │ │ │ ├── RequestOptions.d.ts │ │ │ │ │ ├── ResponseHeaders.d.ts │ │ │ │ │ ├── EndpointDefaults.d.ts │ │ │ │ │ └── RequestRequestOptions.d.ts │ │ │ │ ├── LICENSE │ │ │ │ └── package.json │ │ │ ├── plugin-paginate-rest │ │ │ │ ├── dist-types │ │ │ │ │ ├── version.d.ts │ │ │ │ │ ├── compose-paginate.d.ts │ │ │ │ │ ├── paginate.d.ts │ │ │ │ │ ├── paginating-endpoints.d.ts │ │ │ │ │ ├── index.d.ts │ │ │ │ │ └── iterator.d.ts │ │ │ │ ├── dist-src │ │ │ │ │ ├── version.js │ │ │ │ │ ├── compose-paginate.js │ │ │ │ │ ├── paginating-endpoints.js │ │ │ │ │ ├── index.js │ │ │ │ │ └── paginate.js │ │ │ │ ├── node_modules │ │ │ │ │ └── @octokit │ │ │ │ │ │ ├── types │ │ │ │ │ │ ├── dist-types │ │ │ │ │ │ │ ├── VERSION.d.ts │ │ │ │ │ │ │ ├── Fetch.d.ts │ │ │ │ │ │ │ ├── Url.d.ts │ │ │ │ │ │ │ ├── Signal.d.ts │ │ │ │ │ │ │ ├── RequestMethod.d.ts │ │ │ │ │ │ │ ├── Route.d.ts │ │ │ │ │ │ │ ├── RequestError.d.ts │ │ │ │ │ │ │ ├── StrategyInterface.d.ts │ │ │ │ │ │ │ ├── GetResponseTypeFromEndpointMethod.d.ts │ │ │ │ │ │ │ ├── EndpointOptions.d.ts │ │ │ │ │ │ │ ├── RequestHeaders.d.ts │ │ │ │ │ │ │ ├── OctokitResponse.d.ts │ │ │ │ │ │ │ ├── ResponseHeaders.d.ts │ │ │ │ │ │ │ ├── RequestOptions.d.ts │ │ │ │ │ │ │ ├── EndpointDefaults.d.ts │ │ │ │ │ │ │ └── RequestRequestOptions.d.ts │ │ │ │ │ │ └── LICENSE │ │ │ │ │ │ └── openapi-types │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── LICENSE │ │ │ │ └── LICENSE │ │ │ ├── auth-token │ │ │ │ ├── dist-types │ │ │ │ │ ├── auth.d.ts │ │ │ │ │ ├── with-authorization-prefix.d.ts │ │ │ │ │ ├── index.d.ts │ │ │ │ │ └── hook.d.ts │ │ │ │ ├── dist-src │ │ │ │ │ ├── with-authorization-prefix.js │ │ │ │ │ ├── hook.js │ │ │ │ │ ├── index.js │ │ │ │ │ └── auth.js │ │ │ │ └── LICENSE │ │ │ ├── request-error │ │ │ │ ├── dist-types │ │ │ │ │ ├── types.d.ts │ │ │ │ │ └── index.d.ts │ │ │ │ └── LICENSE │ │ │ └── openapi-types │ │ │ │ ├── README.md │ │ │ │ ├── package.json │ │ │ │ └── LICENSE │ │ ├── universal-user-agent │ │ │ ├── dist-types │ │ │ │ └── index.d.ts │ │ │ ├── dist-src │ │ │ │ └── index.js │ │ │ ├── dist-web │ │ │ │ ├── index.js │ │ │ │ └── index.js.map │ │ │ ├── dist-node │ │ │ │ ├── index.js │ │ │ │ └── index.js.map │ │ │ ├── LICENSE.md │ │ │ ├── package.json │ │ │ └── README.md │ │ ├── deprecation │ │ │ ├── dist-types │ │ │ │ └── index.d.ts │ │ │ ├── dist-src │ │ │ │ └── index.js │ │ │ ├── dist-web │ │ │ │ └── index.js │ │ │ ├── dist-node │ │ │ │ └── index.js │ │ │ ├── LICENSE │ │ │ └── package.json │ │ ├── undici │ │ │ ├── index.d.ts │ │ │ ├── lib │ │ │ │ ├── cache │ │ │ │ │ └── symbols.js │ │ │ │ ├── llhttp │ │ │ │ │ ├── utils.d.ts │ │ │ │ │ ├── llhttp.wasm │ │ │ │ │ ├── llhttp_simd.wasm │ │ │ │ │ ├── utils.js.map │ │ │ │ │ ├── utils.js │ │ │ │ │ └── wasm_build_env.txt │ │ │ │ ├── fetch │ │ │ │ │ ├── symbols.js │ │ │ │ │ ├── global.js │ │ │ │ │ └── LICENSE │ │ │ │ ├── api │ │ │ │ │ └── index.js │ │ │ │ ├── cookies │ │ │ │ │ └── constants.js │ │ │ │ ├── fileapi │ │ │ │ │ └── symbols.js │ │ │ │ ├── dispatcher.js │ │ │ │ ├── websocket │ │ │ │ │ ├── symbols.js │ │ │ │ │ └── constants.js │ │ │ │ ├── mock │ │ │ │ │ ├── mock-errors.js │ │ │ │ │ ├── pluralizer.js │ │ │ │ │ └── mock-symbols.js │ │ │ │ ├── pool-stats.js │ │ │ │ ├── interceptor │ │ │ │ │ └── redirectInterceptor.js │ │ │ │ ├── handler │ │ │ │ │ └── DecoratorHandler.js │ │ │ │ └── global.js │ │ │ ├── types │ │ │ │ ├── header.d.ts │ │ │ │ ├── global-origin.d.ts │ │ │ │ ├── interceptors.d.ts │ │ │ │ ├── global-dispatcher.d.ts │ │ │ │ ├── mock-errors.d.ts │ │ │ │ ├── handlers.d.ts │ │ │ │ ├── README.md │ │ │ │ ├── content-type.d.ts │ │ │ │ ├── balanced-pool.d.ts │ │ │ │ ├── pool-stats.d.ts │ │ │ │ ├── cookies.d.ts │ │ │ │ ├── proxy-agent.d.ts │ │ │ │ ├── mock-pool.d.ts │ │ │ │ ├── mock-client.d.ts │ │ │ │ ├── pool.d.ts │ │ │ │ └── connector.d.ts │ │ │ ├── docs │ │ │ │ ├── assets │ │ │ │ │ └── lifecycle-diagram.png │ │ │ │ ├── api │ │ │ │ │ ├── MockErrors.md │ │ │ │ │ └── PoolStats.md │ │ │ │ └── best-practices │ │ │ │ │ └── writing-tests.md │ │ │ ├── index-fetch.js │ │ │ └── LICENSE │ │ ├── @actions │ │ │ ├── exec │ │ │ │ ├── lib │ │ │ │ │ ├── interfaces.js.map │ │ │ │ │ └── interfaces.js │ │ │ │ ├── LICENSE.md │ │ │ │ └── package.json │ │ │ ├── http-client │ │ │ │ └── lib │ │ │ │ │ ├── interfaces.js.map │ │ │ │ │ ├── interfaces.js │ │ │ │ │ ├── proxy.d.ts │ │ │ │ │ └── auth.d.ts │ │ │ ├── github │ │ │ │ ├── lib │ │ │ │ │ ├── interfaces.js.map │ │ │ │ │ ├── interfaces.js │ │ │ │ │ ├── github.js.map │ │ │ │ │ ├── github.d.ts │ │ │ │ │ ├── internal │ │ │ │ │ │ ├── utils.d.ts │ │ │ │ │ │ └── utils.js.map │ │ │ │ │ ├── utils.d.ts │ │ │ │ │ ├── utils.js.map │ │ │ │ │ ├── context.d.ts │ │ │ │ │ └── interfaces.d.ts │ │ │ │ └── LICENSE.md │ │ │ ├── core │ │ │ │ ├── lib │ │ │ │ │ ├── file-command.d.ts │ │ │ │ │ ├── oidc-utils.d.ts │ │ │ │ │ ├── command.d.ts │ │ │ │ │ ├── platform.d.ts │ │ │ │ │ ├── path-utils.js.map │ │ │ │ │ ├── utils.d.ts │ │ │ │ │ ├── utils.js.map │ │ │ │ │ ├── path-utils.d.ts │ │ │ │ │ └── file-command.js.map │ │ │ │ └── LICENSE.md │ │ │ └── io │ │ │ │ ├── package.json │ │ │ │ └── LICENSE.md │ │ ├── @fastify │ │ │ └── busboy │ │ │ │ ├── deps │ │ │ │ └── dicer │ │ │ │ │ ├── lib │ │ │ │ │ └── PartStream.js │ │ │ │ │ └── LICENSE │ │ │ │ ├── lib │ │ │ │ └── utils │ │ │ │ │ ├── getLimit.js │ │ │ │ │ └── basename.js │ │ │ │ └── LICENSE │ │ ├── before-after-hook │ │ │ └── lib │ │ │ │ ├── remove.js │ │ │ │ └── register.js │ │ ├── once │ │ │ ├── package.json │ │ │ ├── LICENSE │ │ │ └── once.js │ │ └── wrappy │ │ │ ├── package.json │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ └── wrappy.js │ │ ├── action.yaml │ │ ├── package.json │ │ ├── index.js │ │ └── README.md ├── container-actions │ ├── python-container-action │ │ ├── Dockerfile │ │ ├── action.yaml │ │ └── entrypoint.py │ └── shell-container-action-prebuilt │ │ ├── Makefile │ │ └── action.yml ├── reuseable-workflow │ └── README.md └── composite-action │ └── action.yaml ├── readme-assets ├── thumbnail-yt.png └── namespace-screenshot.png ├── 01-history-and-motivation └── readme-assets │ ├── ci-timeline.png │ └── speed-of-delivery-over-time.png ├── 02-why-github-actions └── readme-assets │ └── developer-surveys.png ├── 05-marketplace-actions └── readme-assets │ └── gha-marketplace.png ├── .github └── workflows │ ├── 03-core-features--01-hello-world.yaml │ ├── 08-developer-experience--02-ssh-breakpoint.yaml │ ├── 08-developer-experience--03-debug-env-vars.yaml │ ├── 03-core-features--03-workflows-jobs-steps.yaml │ ├── 06-authoring-actions--03-reuseable-workflows-caller.yaml │ ├── 03-core-features--02-step-types.yaml │ ├── 04-advanced-features--02-artifacts.yaml │ ├── 08-developer-experience--01-externalize-logic.yaml │ ├── 03-core-features--06-passing-data.yaml │ ├── 04-advanced-features--05-third-party-auth.yaml │ ├── 04-advanced-features--06-matrix-and-conditionals.yaml │ ├── 03-core-features--05-environment-variables.yaml │ └── 06-authoring-actions--01-composite-action.yaml ├── 08-developer-experience ├── actions │ └── Taskfile.yaml └── workflows │ └── Taskfile.yaml ├── devbox.json └── .gitmodules /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_store -------------------------------------------------------------------------------- /03-core-features/filters/excluded-file.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /03-core-features/filters/included-file.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /04-advanced-features/caching/minimal-node-project/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/tunnel/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/tunnel'); 2 | -------------------------------------------------------------------------------- /readme-assets/thumbnail-yt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sidpalas/devops-directive-github-actions-course/HEAD/readme-assets/thumbnail-yt.png -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/method-types.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/core/dist-types/version.d.ts: -------------------------------------------------------------------------------- 1 | export declare const VERSION = "5.2.1"; 2 | -------------------------------------------------------------------------------- /readme-assets/namespace-screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sidpalas/devops-directive-github-actions-course/HEAD/readme-assets/namespace-screenshot.png -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/endpoint/dist-types/version.d.ts: -------------------------------------------------------------------------------- 1 | export declare const VERSION = "9.0.6"; 2 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/graphql/dist-types/version.d.ts: -------------------------------------------------------------------------------- 1 | export declare const VERSION = "7.1.1"; 2 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/request/dist-types/version.d.ts: -------------------------------------------------------------------------------- 1 | export declare const VERSION = "8.4.1"; 2 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/types/dist-types/VERSION.d.ts: -------------------------------------------------------------------------------- 1 | export declare const VERSION = "13.10.0"; 2 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/parameters-and-response-types.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/core/dist-src/version.js: -------------------------------------------------------------------------------- 1 | const VERSION = "5.2.1"; 2 | export { 3 | VERSION 4 | }; 5 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/dist-types/version.d.ts: -------------------------------------------------------------------------------- 1 | export declare const VERSION = "9.2.2"; 2 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/universal-user-agent/dist-types/index.d.ts: -------------------------------------------------------------------------------- 1 | export declare function getUserAgent(): string; 2 | -------------------------------------------------------------------------------- /06-authoring-actions/container-actions/python-container-action/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:3.13-alpine 2 | COPY entrypoint.py /entrypoint.py 3 | ENTRYPOINT ["python", "/entrypoint.py"] 4 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/endpoint/dist-src/version.js: -------------------------------------------------------------------------------- 1 | const VERSION = "9.0.6"; 2 | export { 3 | VERSION 4 | }; 5 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/graphql/dist-src/version.js: -------------------------------------------------------------------------------- 1 | const VERSION = "7.1.1"; 2 | export { 3 | VERSION 4 | }; 5 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/request/dist-src/version.js: -------------------------------------------------------------------------------- 1 | const VERSION = "8.4.1"; 2 | export { 3 | VERSION 4 | }; 5 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/tunnel/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "4" 4 | - "6" 5 | - "8" 6 | - "10" 7 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/version.d.ts: -------------------------------------------------------------------------------- 1 | export declare const VERSION = "10.4.1"; 2 | -------------------------------------------------------------------------------- /01-history-and-motivation/readme-assets/ci-timeline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sidpalas/devops-directive-github-actions-course/HEAD/01-history-and-motivation/readme-assets/ci-timeline.png -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/dist-src/version.js: -------------------------------------------------------------------------------- 1 | const VERSION = "9.2.2"; 2 | export { 3 | VERSION 4 | }; 5 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/deprecation/dist-types/index.d.ts: -------------------------------------------------------------------------------- 1 | export class Deprecation extends Error { 2 | name: "Deprecation"; 3 | } 4 | -------------------------------------------------------------------------------- /02-why-github-actions/readme-assets/developer-surveys.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sidpalas/devops-directive-github-actions-course/HEAD/02-why-github-actions/readme-assets/developer-surveys.png -------------------------------------------------------------------------------- /05-marketplace-actions/readme-assets/gha-marketplace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sidpalas/devops-directive-github-actions-course/HEAD/05-marketplace-actions/readme-assets/gha-marketplace.png -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/index.d.ts: -------------------------------------------------------------------------------- 1 | export * from './types/index' 2 | import Undici from './types/index' 3 | export default Undici 4 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js: -------------------------------------------------------------------------------- 1 | const VERSION = "10.4.1"; 2 | export { 3 | VERSION 4 | }; 5 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/request/dist-types/index.d.ts: -------------------------------------------------------------------------------- 1 | export declare const request: import("@octokit/types").RequestInterface; 2 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/endpoint/dist-types/index.d.ts: -------------------------------------------------------------------------------- 1 | export declare const endpoint: import("@octokit/types").EndpointInterface; 2 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts: -------------------------------------------------------------------------------- 1 | export declare function mergeDeep(defaults: any, options: any): object; 2 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/VERSION.d.ts: -------------------------------------------------------------------------------- 1 | export declare const VERSION = "12.6.0"; 2 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/request/dist-types/is-plain-object.d.ts: -------------------------------------------------------------------------------- 1 | export declare function isPlainObject(value: unknown): value is Object; 2 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts: -------------------------------------------------------------------------------- 1 | export declare function isPlainObject(value: unknown): value is Object; 2 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts: -------------------------------------------------------------------------------- 1 | export declare function removeUndefinedProperties(obj: any): any; 2 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/VERSION.d.ts: -------------------------------------------------------------------------------- 1 | export declare const VERSION = "12.6.0"; 2 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/lib/cache/symbols.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = { 4 | kConstruct: require('../core/symbols').kConstruct 5 | } 6 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts: -------------------------------------------------------------------------------- 1 | export declare function extractUrlVariableNames(url: string): string[]; 2 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/request/dist-types/get-buffer-response.d.ts: -------------------------------------------------------------------------------- 1 | export default function getBufferResponse(response: Response): Promise; 2 | -------------------------------------------------------------------------------- /01-history-and-motivation/readme-assets/speed-of-delivery-over-time.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sidpalas/devops-directive-github-actions-course/HEAD/01-history-and-motivation/readme-assets/speed-of-delivery-over-time.png -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/exec/lib/interfaces.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":""} -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/types/dist-types/Fetch.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Browser's fetch method (or compatible such as fetch-mock) 3 | */ 4 | export type Fetch = any; 5 | -------------------------------------------------------------------------------- /06-authoring-actions/reuseable-workflow/README.md: -------------------------------------------------------------------------------- 1 | See: 2 | 3 | - .github/workflows/06-authoring-actions--02-reuseable-workflows-source.yaml 4 | - .github/workflows/06-authoring-actions--03-reuseable-workflows-caller.yaml 5 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/exec/lib/interfaces.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | //# sourceMappingURL=interfaces.js.map -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/http-client/lib/interfaces.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":""} -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/endpoint/dist-types/defaults.d.ts: -------------------------------------------------------------------------------- 1 | import type { EndpointDefaults } from "@octokit/types"; 2 | export declare const DEFAULTS: EndpointDefaults; 3 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/lib/llhttp/utils.d.ts: -------------------------------------------------------------------------------- 1 | export interface IEnumMap { 2 | [key: string]: number; 3 | } 4 | export declare function enumToMap(obj: any): IEnumMap; 5 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/github/lib/interfaces.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";AAAA,uDAAuD"} -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/http-client/lib/interfaces.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | //# sourceMappingURL=interfaces.js.map -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts: -------------------------------------------------------------------------------- 1 | export declare function parseUrl(template: string): { 2 | expand: (context: object) => string; 3 | }; 4 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/http-client/lib/proxy.d.ts: -------------------------------------------------------------------------------- 1 | export declare function getProxyUrl(reqUrl: URL): URL | undefined; 2 | export declare function checkBypass(reqUrl: URL): boolean; 3 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/auth-token/dist-types/auth.d.ts: -------------------------------------------------------------------------------- 1 | import type { Token, Authentication } from "./types"; 2 | export declare function auth(token: Token): Promise; 3 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/types/dist-types/Url.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Relative or absolute URL. Examples: `'/orgs/{org}'`, `https://example.com/foo/bar` 3 | */ 4 | export type Url = string; 5 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/types/header.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * The header type declaration of `undici`. 3 | */ 4 | export type IncomingHttpHeaders = Record; 5 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts: -------------------------------------------------------------------------------- 1 | export declare function lowercaseKeys(object?: { 2 | [key: string]: any; 3 | }): { 4 | [key: string]: any; 5 | }; 6 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts: -------------------------------------------------------------------------------- 1 | export declare function omit(object: { 2 | [key: string]: any; 3 | }, keysToOmit: string[]): { 4 | [key: string]: any; 5 | }; 6 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/endpoint/dist-types/parse.d.ts: -------------------------------------------------------------------------------- 1 | import type { EndpointDefaults, RequestOptions } from "@octokit/types"; 2 | export declare function parse(options: EndpointDefaults): RequestOptions; 3 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Fetch.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Browser's fetch method (or compatible such as fetch-mock) 3 | */ 4 | export type Fetch = any; 5 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/request/dist-src/get-buffer-response.js: -------------------------------------------------------------------------------- 1 | function getBufferResponse(response) { 2 | return response.arrayBuffer(); 3 | } 4 | export { 5 | getBufferResponse as default 6 | }; 7 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Fetch.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Browser's fetch method (or compatible such as fetch-mock) 3 | */ 4 | export type Fetch = any; 5 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/types/dist-types/RequestMethod.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * HTTP Verb supported by GitHub's REST API 3 | */ 4 | export type RequestMethod = "DELETE" | "GET" | "HEAD" | "PATCH" | "POST" | "PUT"; 5 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/core/lib/file-command.d.ts: -------------------------------------------------------------------------------- 1 | export declare function issueFileCommand(command: string, message: any): void; 2 | export declare function prepareKeyValueMessage(key: string, value: any): string; 3 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/tunnel/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts: -------------------------------------------------------------------------------- 1 | export declare function addQueryParameters(url: string, parameters: { 2 | [x: string]: string | undefined; 3 | q?: string; 4 | }): string; 5 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Url.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Relative or absolute URL. Examples: `'/orgs/{org}'`, `https://example.com/foo/bar` 3 | */ 4 | export type Url = string; 5 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/github/lib/interfaces.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | /* eslint-disable @typescript-eslint/no-explicit-any */ 3 | Object.defineProperty(exports, "__esModule", { value: true }); 4 | //# sourceMappingURL=interfaces.js.map -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/endpoint/dist-src/index.js: -------------------------------------------------------------------------------- 1 | import { withDefaults } from "./with-defaults"; 2 | import { DEFAULTS } from "./defaults"; 3 | const endpoint = withDefaults(null, DEFAULTS); 4 | export { 5 | endpoint 6 | }; 7 | -------------------------------------------------------------------------------- /.github/workflows/03-core-features--01-hello-world.yaml: -------------------------------------------------------------------------------- 1 | name: Hello World 2 | 3 | on: 4 | workflow_dispatch: 5 | 6 | jobs: 7 | say-hello-inline-bash: 8 | runs-on: ubuntu-24.04 9 | steps: 10 | - run: echo "Hello from an inline bash script in a GitHub Action Workflow!" 11 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Url.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Relative or absolute URL. Examples: `'/orgs/{org}'`, `https://example.com/foo/bar` 3 | */ 4 | export type Url = string; 5 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/tunnel/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/lib/llhttp/llhttp.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sidpalas/devops-directive-github-actions-course/HEAD/06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/lib/llhttp/llhttp.wasm -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Signal.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Abort signal 3 | * 4 | * @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal 5 | */ 6 | export type Signal = any; 7 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/lib/llhttp/llhttp_simd.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sidpalas/devops-directive-github-actions-course/HEAD/06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/lib/llhttp/llhttp_simd.wasm -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/types/global-origin.d.ts: -------------------------------------------------------------------------------- 1 | export { 2 | setGlobalOrigin, 3 | getGlobalOrigin 4 | } 5 | 6 | declare function setGlobalOrigin(origin: string | URL | undefined): void; 7 | declare function getGlobalOrigin(): URL | undefined; -------------------------------------------------------------------------------- /06-authoring-actions/container-actions/shell-container-action-prebuilt/Makefile: -------------------------------------------------------------------------------- 1 | VERSION?=v0.0.1 2 | REPO?=sidpalas/shell-container-action 3 | TAG:=${REPO}:${VERSION} 4 | 5 | build: 6 | docker build -t ${TAG} ../shell-container-action/ 7 | 8 | push: 9 | docker push ${TAG} 10 | 11 | build-push: build push -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/dist-types/compose-paginate.d.ts: -------------------------------------------------------------------------------- 1 | import type { ComposePaginateInterface } from "@octokit/plugin-paginate-rest/dist-types/types"; 2 | export declare const composePaginateRest: ComposePaginateInterface; 3 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestMethod.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * HTTP Verb supported by GitHub's REST API 3 | */ 4 | export type RequestMethod = "DELETE" | "GET" | "HEAD" | "PATCH" | "POST" | "PUT"; 5 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/endpoints.d.ts: -------------------------------------------------------------------------------- 1 | import type { EndpointsDefaultsAndDecorations } from "../types.js"; 2 | declare const Endpoints: EndpointsDefaultsAndDecorations; 3 | export default Endpoints; 4 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Signal.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Abort signal 3 | * 4 | * @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal 5 | */ 6 | export type Signal = any; 7 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/docs/assets/lifecycle-diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sidpalas/devops-directive-github-actions-course/HEAD/06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/docs/assets/lifecycle-diagram.png -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestMethod.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * HTTP Verb supported by GitHub's REST API 3 | */ 4 | export type RequestMethod = "DELETE" | "GET" | "HEAD" | "PATCH" | "POST" | "PUT"; 5 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/types/dist-types/Route.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * String consisting of an optional HTTP method and relative path or absolute URL. Examples: `'/orgs/{org}'`, `'PUT /orgs/{org}'`, `GET https://example.com/foo/bar` 3 | */ 4 | export type Route = string; 5 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/auth-token/dist-types/with-authorization-prefix.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Prefix token for usage in the Authorization header 3 | * 4 | * @param token OAuth token or JSON Web Token 5 | */ 6 | export declare function withAuthorizationPrefix(token: string): string; 7 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/request/dist-types/with-defaults.d.ts: -------------------------------------------------------------------------------- 1 | import type { EndpointInterface, RequestInterface, RequestParameters } from "@octokit/types"; 2 | export default function withDefaults(oldEndpoint: EndpointInterface, newDefaults: RequestParameters): RequestInterface; 3 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/types/interceptors.d.ts: -------------------------------------------------------------------------------- 1 | import Dispatcher from "./dispatcher"; 2 | 3 | type RedirectInterceptorOpts = { maxRedirections?: number } 4 | 5 | export declare function createRedirectInterceptor (opts: RedirectInterceptorOpts): Dispatcher.DispatchInterceptor 6 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/endpoint/dist-types/merge.d.ts: -------------------------------------------------------------------------------- 1 | import type { EndpointDefaults, RequestParameters, Route } from "@octokit/types"; 2 | export declare function merge(defaults: EndpointDefaults | null, route?: Route | RequestParameters, options?: RequestParameters): EndpointDefaults; 3 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts: -------------------------------------------------------------------------------- 1 | import type { EndpointInterface, RequestParameters, EndpointDefaults } from "@octokit/types"; 2 | export declare function withDefaults(oldDefaults: EndpointDefaults | null, newDefaults: RequestParameters): EndpointInterface; 3 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/dist-src/compose-paginate.js: -------------------------------------------------------------------------------- 1 | import { paginate } from "./paginate.js"; 2 | import { iterator } from "./iterator.js"; 3 | const composePaginateRest = Object.assign(paginate, { 4 | iterator 5 | }); 6 | export { 7 | composePaginateRest 8 | }; 9 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/lib/fetch/symbols.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = { 4 | kUrl: Symbol('url'), 5 | kHeaders: Symbol('headers'), 6 | kSignal: Symbol('signal'), 7 | kState: Symbol('state'), 8 | kGuard: Symbol('guard'), 9 | kRealm: Symbol('realm') 10 | } 11 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js: -------------------------------------------------------------------------------- 1 | function withAuthorizationPrefix(token) { 2 | if (token.split(/\./).length === 3) { 3 | return `bearer ${token}`; 4 | } 5 | return `token ${token}`; 6 | } 7 | export { 8 | withAuthorizationPrefix 9 | }; 10 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/endpoints-to-methods.d.ts: -------------------------------------------------------------------------------- 1 | import type { Octokit } from "@octokit/core"; 2 | import type { RestEndpointMethods } from "./generated/method-types.js"; 3 | export declare function endpointsToMethods(octokit: Octokit): RestEndpointMethods; 4 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/core/lib/oidc-utils.d.ts: -------------------------------------------------------------------------------- 1 | export declare class OidcClient { 2 | private static createHttpClient; 3 | private static getRequestToken; 4 | private static getIDTokenUrl; 5 | private static getCall; 6 | static getIDToken(audience?: string): Promise; 7 | } 8 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts: -------------------------------------------------------------------------------- 1 | import { request as Request } from "@octokit/request"; 2 | import type { graphql as ApiInterface, RequestParameters } from "./types"; 3 | export declare function withDefaults(request: typeof Request, newDefaults: RequestParameters): ApiInterface; 4 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Route.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * String consisting of an optional HTTP method and relative path or absolute URL. Examples: `'/orgs/{org}'`, `'PUT /orgs/{org}'`, `GET https://example.com/foo/bar` 3 | */ 4 | export type Route = string; 5 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js: -------------------------------------------------------------------------------- 1 | function removeUndefinedProperties(obj) { 2 | for (const key in obj) { 3 | if (obj[key] === void 0) { 4 | delete obj[key]; 5 | } 6 | } 7 | return obj; 8 | } 9 | export { 10 | removeUndefinedProperties 11 | }; 12 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Route.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * String consisting of an optional HTTP method and relative path or absolute URL. Examples: `'/orgs/{org}'`, `'PUT /orgs/{org}'`, `GET https://example.com/foo/bar` 3 | */ 4 | export type Route = string; 5 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/auth-token/dist-types/index.d.ts: -------------------------------------------------------------------------------- 1 | import type { StrategyInterface, Token, Authentication } from "./types"; 2 | export type Types = { 3 | StrategyOptions: Token; 4 | AuthOptions: never; 5 | Authentication: Authentication; 6 | }; 7 | export declare const createTokenAuth: StrategyInterface; 8 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/auth-token/dist-types/hook.d.ts: -------------------------------------------------------------------------------- 1 | import type { AnyResponse, EndpointOptions, RequestInterface, RequestParameters, Route, Token } from "./types"; 2 | export declare function hook(token: Token, request: RequestInterface, route: Route | EndpointOptions, parameters?: RequestParameters): Promise; 3 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/lib/api/index.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports.request = require('./api-request') 4 | module.exports.stream = require('./api-stream') 5 | module.exports.pipeline = require('./api-pipeline') 6 | module.exports.upgrade = require('./api-upgrade') 7 | module.exports.connect = require('./api-connect') 8 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/types/dist-types/RequestError.d.ts: -------------------------------------------------------------------------------- 1 | export type RequestError = { 2 | name: string; 3 | status: number; 4 | documentation_url: string; 5 | errors?: Array<{ 6 | resource: string; 7 | code: string; 8 | field: string; 9 | message?: string; 10 | }>; 11 | }; 12 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/tunnel/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js: -------------------------------------------------------------------------------- 1 | function lowercaseKeys(object) { 2 | if (!object) { 3 | return {}; 4 | } 5 | return Object.keys(object).reduce((newObj, key) => { 6 | newObj[key.toLowerCase()] = object[key]; 7 | return newObj; 8 | }, {}); 9 | } 10 | export { 11 | lowercaseKeys 12 | }; 13 | -------------------------------------------------------------------------------- /04-advanced-features/caching/minimal-node-project/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "minimal-node-project", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "scripts": { 6 | "test": "echo \"Error: no test specified\" && exit 1" 7 | }, 8 | "keywords": [], 9 | "author": "", 10 | "license": "ISC", 11 | "description": "", 12 | "dependencies": { 13 | "left-pad": "^1.3.0" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/endpoint/dist-src/util/omit.js: -------------------------------------------------------------------------------- 1 | function omit(object, keysToOmit) { 2 | const result = { __proto__: null }; 3 | for (const key of Object.keys(object)) { 4 | if (keysToOmit.indexOf(key) === -1) { 5 | result[key] = object[key]; 6 | } 7 | } 8 | return result; 9 | } 10 | export { 11 | omit 12 | }; 13 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js: -------------------------------------------------------------------------------- 1 | import { DEFAULTS } from "./defaults"; 2 | import { merge } from "./merge"; 3 | import { parse } from "./parse"; 4 | function endpointWithDefaults(defaults, route, options) { 5 | return parse(merge(defaults, route, options)); 6 | } 7 | export { 8 | endpointWithDefaults 9 | }; 10 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts: -------------------------------------------------------------------------------- 1 | import type { AuthInterface } from "@octokit/types/dist-types/AuthInterface"; 2 | export interface StrategyInterface { 3 | (...args: StrategyOptions): AuthInterface; 4 | } 5 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts: -------------------------------------------------------------------------------- 1 | import type { EndpointInterface } from "@octokit/types"; 2 | export default function fetchWrapper(requestOptions: ReturnType): Promise<{ 3 | status: number; 4 | url: string; 5 | headers: { 6 | [header: string]: string; 7 | }; 8 | data: any; 9 | }>; 10 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/types/global-dispatcher.d.ts: -------------------------------------------------------------------------------- 1 | import Dispatcher from "./dispatcher"; 2 | 3 | export { 4 | getGlobalDispatcher, 5 | setGlobalDispatcher 6 | } 7 | 8 | declare function setGlobalDispatcher(dispatcher: DispatcherImplementation): void; 9 | declare function getGlobalDispatcher(): Dispatcher; 10 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/action.yaml: -------------------------------------------------------------------------------- 1 | name: 'Hello World' 2 | description: 'Greet someone and record the time' 3 | inputs: 4 | who-to-greet: # id of input 5 | description: 'Who to greet' 6 | required: true 7 | default: 'World' 8 | outputs: 9 | time: # id of output 10 | description: 'The time we greeted you' 11 | runs: 12 | using: 'node20' 13 | main: 'index.js' 14 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts: -------------------------------------------------------------------------------- 1 | import type { EndpointOptions, RequestParameters, Route } from "@octokit/types"; 2 | import { DEFAULTS } from "./defaults"; 3 | export declare function endpointWithDefaults(defaults: typeof DEFAULTS, route: Route | EndpointOptions, options?: RequestParameters): import("@octokit/types").RequestOptions; 4 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/graphql/dist-types/graphql.d.ts: -------------------------------------------------------------------------------- 1 | import { request as Request } from "@octokit/request"; 2 | import type { RequestParameters, GraphQlQueryResponseData } from "./types"; 3 | export declare function graphql(request: typeof Request, query: string | RequestParameters, options?: RequestParameters): Promise; 4 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestError.d.ts: -------------------------------------------------------------------------------- 1 | export type RequestError = { 2 | name: string; 3 | status: number; 4 | documentation_url: string; 5 | errors?: Array<{ 6 | resource: string; 7 | code: string; 8 | field: string; 9 | message?: string; 10 | }>; 11 | }; 12 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestError.d.ts: -------------------------------------------------------------------------------- 1 | export type RequestError = { 2 | name: string; 3 | status: number; 4 | documentation_url: string; 5 | errors?: Array<{ 6 | resource: string; 7 | code: string; 8 | field: string; 9 | message?: string; 10 | }>; 11 | }; 12 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/dist-types/paginate.d.ts: -------------------------------------------------------------------------------- 1 | import type { Octokit } from "@octokit/core"; 2 | import type { MapFunction, PaginationResults, RequestParameters, Route, RequestInterface } from "./types"; 3 | export declare function paginate(octokit: Octokit, route: Route | RequestInterface, parameters?: RequestParameters, mapFn?: MapFunction): Promise; 4 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts: -------------------------------------------------------------------------------- 1 | import type { RequestMethod } from "@octokit/types/dist-types/RequestMethod"; 2 | import type { Url } from "@octokit/types/dist-types/Url"; 3 | import type { RequestParameters } from "@octokit/types/dist-types/RequestParameters"; 4 | export type EndpointOptions = RequestParameters & { 5 | method: RequestMethod; 6 | url: Url; 7 | }; 8 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts: -------------------------------------------------------------------------------- 1 | type Unwrap = T extends Promise ? U : T; 2 | type AnyFunction = (...args: any[]) => any; 3 | export type GetResponseTypeFromEndpointMethod = Unwrap>; 4 | export type GetResponseDataTypeFromEndpointMethod = Unwrap>["data"]; 5 | export {}; 6 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/request-error/dist-types/types.d.ts: -------------------------------------------------------------------------------- 1 | import type { RequestOptions, ResponseHeaders, OctokitResponse } from "@octokit/types"; 2 | export type RequestErrorOptions = { 3 | /** @deprecated set `response` instead */ 4 | headers?: ResponseHeaders; 5 | request: RequestOptions; 6 | } | { 7 | response: OctokitResponse; 8 | request: RequestOptions; 9 | }; 10 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/lib/cookies/constants.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | // https://wicg.github.io/cookie-store/#cookie-maximum-attribute-value-size 4 | const maxAttributeValueSize = 1024 5 | 6 | // https://wicg.github.io/cookie-store/#cookie-maximum-name-value-pair-size 7 | const maxNameValuePairSize = 4096 8 | 9 | module.exports = { 10 | maxAttributeValueSize, 11 | maxNameValuePairSize 12 | } 13 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/lib/fileapi/symbols.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = { 4 | kState: Symbol('FileReader state'), 5 | kResult: Symbol('FileReader result'), 6 | kError: Symbol('FileReader error'), 7 | kLastProgressEventFired: Symbol('FileReader last progress event fired timestamp'), 8 | kEvents: Symbol('FileReader events'), 9 | kAborted: Symbol('FileReader aborted') 10 | } 11 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/dist-types/paginating-endpoints.d.ts: -------------------------------------------------------------------------------- 1 | import { type PaginatingEndpoints } from "@octokit/plugin-paginate-rest/dist-types/generated/paginating-endpoints"; 2 | export { paginatingEndpoints } from "@octokit/plugin-paginate-rest/dist-types/generated/paginating-endpoints"; 3 | export declare function isPaginatingEndpoint(arg: unknown): arg is keyof PaginatingEndpoints; 4 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/deprecation/dist-src/index.js: -------------------------------------------------------------------------------- 1 | export class Deprecation extends Error { 2 | constructor(message) { 3 | super(message); // Maintains proper stack trace (only available on V8) 4 | 5 | /* istanbul ignore next */ 6 | 7 | if (Error.captureStackTrace) { 8 | Error.captureStackTrace(this, this.constructor); 9 | } 10 | 11 | this.name = 'Deprecation'; 12 | } 13 | 14 | } -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "javascript-action", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "scripts": { 6 | "test": "echo \"Error: no test specified\" && exit 1" 7 | }, 8 | "keywords": [], 9 | "author": "", 10 | "license": "ISC", 11 | "description": "", 12 | "dependencies": { 13 | "@actions/core": "^1.11.1", 14 | "@actions/github": "^6.0.1" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const inherits = require('node:util').inherits 4 | const ReadableStream = require('node:stream').Readable 5 | 6 | function PartStream (opts) { 7 | ReadableStream.call(this, opts) 8 | } 9 | inherits(PartStream, ReadableStream) 10 | 11 | PartStream.prototype._read = function (n) {} 12 | 13 | module.exports = PartStream 14 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/auth-token/dist-src/hook.js: -------------------------------------------------------------------------------- 1 | import { withAuthorizationPrefix } from "./with-authorization-prefix"; 2 | async function hook(token, request, route, parameters) { 3 | const endpoint = request.endpoint.merge( 4 | route, 5 | parameters 6 | ); 7 | endpoint.headers.authorization = withAuthorizationPrefix(token); 8 | return request(endpoint); 9 | } 10 | export { 11 | hook 12 | }; 13 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/lib/dispatcher.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const EventEmitter = require('events') 4 | 5 | class Dispatcher extends EventEmitter { 6 | dispatch () { 7 | throw new Error('not implemented') 8 | } 9 | 10 | close () { 11 | throw new Error('not implemented') 12 | } 13 | 14 | destroy () { 15 | throw new Error('not implemented') 16 | } 17 | } 18 | 19 | module.exports = Dispatcher 20 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/lib/websocket/symbols.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = { 4 | kWebSocketURL: Symbol('url'), 5 | kReadyState: Symbol('ready state'), 6 | kController: Symbol('controller'), 7 | kResponse: Symbol('response'), 8 | kBinaryType: Symbol('binary type'), 9 | kSentClose: Symbol('sent close'), 10 | kReceivedClose: Symbol('received close'), 11 | kByteParser: Symbol('byte parser') 12 | } 13 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/types/mock-errors.d.ts: -------------------------------------------------------------------------------- 1 | import Errors from './errors' 2 | 3 | export default MockErrors 4 | 5 | declare namespace MockErrors { 6 | /** The request does not match any registered mock dispatches. */ 7 | export class MockNotMatchedError extends Errors.UndiciError { 8 | constructor(message?: string); 9 | name: 'MockNotMatchedError'; 10 | code: 'UND_MOCK_ERR_MOCK_NOT_MATCHED'; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts: -------------------------------------------------------------------------------- 1 | import type { AuthInterface } from "@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/AuthInterface"; 2 | export interface StrategyInterface { 3 | (...args: StrategyOptions): AuthInterface; 4 | } 5 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/request/dist-src/index.js: -------------------------------------------------------------------------------- 1 | import { endpoint } from "@octokit/endpoint"; 2 | import { getUserAgent } from "universal-user-agent"; 3 | import { VERSION } from "./version.js"; 4 | import withDefaults from "./with-defaults.js"; 5 | const request = withDefaults(endpoint, { 6 | headers: { 7 | "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}` 8 | } 9 | }); 10 | export { 11 | request 12 | }; 13 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts: -------------------------------------------------------------------------------- 1 | type Unwrap = T extends Promise ? U : T; 2 | type AnyFunction = (...args: any[]) => any; 3 | export type GetResponseTypeFromEndpointMethod = Unwrap>; 4 | export type GetResponseDataTypeFromEndpointMethod = Unwrap>["data"]; 5 | export {}; 6 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/deprecation/dist-web/index.js: -------------------------------------------------------------------------------- 1 | class Deprecation extends Error { 2 | constructor(message) { 3 | super(message); // Maintains proper stack trace (only available on V8) 4 | 5 | /* istanbul ignore next */ 6 | 7 | if (Error.captureStackTrace) { 8 | Error.captureStackTrace(this, this.constructor); 9 | } 10 | 11 | this.name = 'Deprecation'; 12 | } 13 | 14 | } 15 | 16 | export { Deprecation }; 17 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts: -------------------------------------------------------------------------------- 1 | type Unwrap = T extends Promise ? U : T; 2 | type AnyFunction = (...args: any[]) => any; 3 | export type GetResponseTypeFromEndpointMethod = Unwrap>; 4 | export type GetResponseDataTypeFromEndpointMethod = Unwrap>["data"]; 5 | export {}; 6 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/universal-user-agent/dist-src/index.js: -------------------------------------------------------------------------------- 1 | export function getUserAgent() { 2 | if (typeof navigator === "object" && "userAgent" in navigator) { 3 | return navigator.userAgent; 4 | } 5 | if (typeof process === "object" && process.version !== undefined) { 6 | return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`; 7 | } 8 | return ""; 9 | } 10 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts: -------------------------------------------------------------------------------- 1 | import type { AuthInterface } from "@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/AuthInterface"; 2 | export interface StrategyInterface { 3 | (...args: StrategyOptions): AuthInterface; 4 | } 5 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/before-after-hook/lib/remove.js: -------------------------------------------------------------------------------- 1 | module.exports = removeHook; 2 | 3 | function removeHook(state, name, method) { 4 | if (!state.registry[name]) { 5 | return; 6 | } 7 | 8 | var index = state.registry[name] 9 | .map(function (registered) { 10 | return registered.orig; 11 | }) 12 | .indexOf(method); 13 | 14 | if (index === -1) { 15 | return; 16 | } 17 | 18 | state.registry[name].splice(index, 1); 19 | } 20 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/lib/llhttp/utils.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/llhttp/utils.ts"],"names":[],"mappings":";;;AAIA,SAAgB,SAAS,CAAC,GAAQ;IAChC,MAAM,GAAG,GAAa,EAAE,CAAC;IAEzB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;SAClB;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC;AAXD,8BAWC"} -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/types/handlers.d.ts: -------------------------------------------------------------------------------- 1 | import Dispatcher from "./dispatcher"; 2 | 3 | export declare class RedirectHandler implements Dispatcher.DispatchHandlers{ 4 | constructor (dispatch: Dispatcher, maxRedirections: number, opts: Dispatcher.DispatchOptions, handler: Dispatcher.DispatchHandlers) 5 | } 6 | 7 | export declare class DecoratorHandler implements Dispatcher.DispatchHandlers{ 8 | constructor (handler: Dispatcher.DispatchHandlers) 9 | } 10 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/github/lib/github.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"github.js","sourceRoot":"","sources":["../src/github.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAoC;AACpC,mCAAiD;AAKpC,QAAA,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAA;AAE5C;;;;;GAKG;AACH,SAAgB,UAAU,CACxB,KAAa,EACb,OAAwB,EACxB,GAAG,iBAAkC;IAErC,MAAM,iBAAiB,GAAG,cAAM,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAA;IAC7D,OAAO,IAAI,iBAAiB,CAAC,IAAA,yBAAiB,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;AACjE,CAAC;AAPD,gCAOC"} -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/graphql/dist-types/index.d.ts: -------------------------------------------------------------------------------- 1 | import { request } from "@octokit/request"; 2 | export declare const graphql: import("@octokit/graphql/dist-types/types").graphql; 3 | export type { GraphQlQueryResponseData } from "@octokit/graphql/dist-types/types"; 4 | export { GraphqlResponseError } from "@octokit/graphql/dist-types/error"; 5 | export declare function withCustomRequest(customRequest: typeof request): import("@octokit/graphql/dist-types/types").graphql; 6 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@fastify/busboy/lib/utils/getLimit.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = function getLimit (limits, name, defaultLimit) { 4 | if ( 5 | !limits || 6 | limits[name] === undefined || 7 | limits[name] === null 8 | ) { return defaultLimit } 9 | 10 | if ( 11 | typeof limits[name] !== 'number' || 12 | isNaN(limits[name]) 13 | ) { throw new TypeError('Limit ' + name + ' is not a valid number') } 14 | 15 | return limits[name] 16 | } 17 | -------------------------------------------------------------------------------- /08-developer-experience/actions/Taskfile.yaml: -------------------------------------------------------------------------------- 1 | version: "3" 2 | 3 | tasks: 4 | typescript-action-run-local-action: 5 | desc: Run the typescript action with @github/local-action 6 | dir: ../../06-authoring-actions/javascript-actions/typescript-action-with-build 7 | cmds: 8 | - npm run local-action 9 | 10 | typescript-action-test: 11 | desc: Run the typescript action with @github/local-action 12 | dir: ../../06-authoring-actions/javascript-actions/typescript-action-with-build 13 | cmds: 14 | - npm run test 15 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/lib/llhttp/utils.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.enumToMap = void 0; 4 | function enumToMap(obj) { 5 | const res = {}; 6 | Object.keys(obj).forEach((key) => { 7 | const value = obj[key]; 8 | if (typeof value === 'number') { 9 | res[key] = value; 10 | } 11 | }); 12 | return res; 13 | } 14 | exports.enumToMap = enumToMap; 15 | //# sourceMappingURL=utils.js.map -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/openapi-types/README.md: -------------------------------------------------------------------------------- 1 | # @octokit/openapi-types 2 | 3 | > Generated TypeScript definitions based on GitHub's OpenAPI spec 4 | 5 | This package is continuously updated based on [GitHub's OpenAPI specification](https://github.com/github/rest-api-description/) 6 | 7 | ## Usage 8 | 9 | ```ts 10 | import { components } from "@octokit/openapi-types"; 11 | 12 | type Repository = components["schemas"]["full-repository"]; 13 | ``` 14 | 15 | ## License 16 | 17 | [MIT](LICENSE) 18 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/types/README.md: -------------------------------------------------------------------------------- 1 | # undici-types 2 | 3 | This package is a dual-publish of the [undici](https://www.npmjs.com/package/undici) library types. The `undici` package **still contains types**. This package is for users who _only_ need undici types (such as for `@types/node`). It is published alongside every release of `undici`, so you can always use the same version. 4 | 5 | - [GitHub nodejs/undici](https://github.com/nodejs/undici) 6 | - [Undici Documentation](https://undici.nodejs.org/#/) 7 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/endpoint/dist-src/defaults.js: -------------------------------------------------------------------------------- 1 | import { getUserAgent } from "universal-user-agent"; 2 | import { VERSION } from "./version"; 3 | const userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`; 4 | const DEFAULTS = { 5 | method: "GET", 6 | baseUrl: "https://api.github.com", 7 | headers: { 8 | accept: "application/vnd.github.v3+json", 9 | "user-agent": userAgent 10 | }, 11 | mediaType: { 12 | format: "" 13 | } 14 | }; 15 | export { 16 | DEFAULTS 17 | }; 18 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/universal-user-agent/dist-web/index.js: -------------------------------------------------------------------------------- 1 | function getUserAgent() { 2 | if (typeof navigator === "object" && "userAgent" in navigator) { 3 | return navigator.userAgent; 4 | } 5 | if (typeof process === "object" && process.version !== undefined) { 6 | return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`; 7 | } 8 | return ""; 9 | } 10 | 11 | export { getUserAgent }; 12 | //# sourceMappingURL=index.js.map 13 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/core/lib/command.d.ts: -------------------------------------------------------------------------------- 1 | export interface CommandProperties { 2 | [key: string]: any; 3 | } 4 | /** 5 | * Commands 6 | * 7 | * Command Format: 8 | * ::name key=value,key=value::message 9 | * 10 | * Examples: 11 | * ::warning::This is the message 12 | * ::set-env name=MY_VAR::some value 13 | */ 14 | export declare function issueCommand(command: string, properties: CommandProperties, message: any): void; 15 | export declare function issue(name: string, message?: string): void; 16 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@fastify/busboy/lib/utils/basename.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = function basename (path) { 4 | if (typeof path !== 'string') { return '' } 5 | for (var i = path.length - 1; i >= 0; --i) { // eslint-disable-line no-var 6 | switch (path.charCodeAt(i)) { 7 | case 0x2F: // '/' 8 | case 0x5C: // '\' 9 | path = path.slice(i + 1) 10 | return (path === '..' || path === '.' ? '' : path) 11 | } 12 | } 13 | return (path === '..' || path === '.' ? '' : path) 14 | } 15 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js: -------------------------------------------------------------------------------- 1 | const urlVariableRegex = /\{[^{}}]+\}/g; 2 | function removeNonChars(variableName) { 3 | return variableName.replace(/(?:^\W+)|(?:(? a.concat(b), []); 11 | } 12 | export { 13 | extractUrlVariableNames 14 | }; 15 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/core/lib/platform.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | export declare const platform: NodeJS.Platform; 3 | export declare const arch: string; 4 | export declare const isWindows: boolean; 5 | export declare const isMacOS: boolean; 6 | export declare const isLinux: boolean; 7 | export declare function getDetails(): Promise<{ 8 | name: string; 9 | platform: string; 10 | arch: string; 11 | version: string; 12 | isWindows: boolean; 13 | isMacOS: boolean; 14 | isLinux: boolean; 15 | }>; 16 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/tunnel/.idea/node-tunnel.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /08-developer-experience/workflows/Taskfile.yaml: -------------------------------------------------------------------------------- 1 | version: "3" 2 | 3 | tasks: 4 | # More examples can be found in the capstone project 5 | act-trigger-hello-world: 6 | cmds: 7 | - | 8 | act workflow_dispatch \ 9 | --container-architecture linux/amd64 \ 10 | -P ubuntu-24.04=node:16-bullseye-slim \ 11 | --directory ../.. \ 12 | -W '.github/workflows/08-developer-experience--01-externalize-logic.yaml' 13 | 14 | hello-world-task: 15 | cmds: 16 | - | 17 | echo "Hello from a Taskfile task called from a GitHub Action Workflow!" 18 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/dist-src/paginating-endpoints.js: -------------------------------------------------------------------------------- 1 | import { 2 | paginatingEndpoints 3 | } from "./generated/paginating-endpoints.js"; 4 | import { paginatingEndpoints as paginatingEndpoints2 } from "./generated/paginating-endpoints.js"; 5 | function isPaginatingEndpoint(arg) { 6 | if (typeof arg === "string") { 7 | return paginatingEndpoints.includes(arg); 8 | } else { 9 | return false; 10 | } 11 | } 12 | export { 13 | isPaginatingEndpoint, 14 | paginatingEndpoints2 as paginatingEndpoints 15 | }; 16 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types/README.md: -------------------------------------------------------------------------------- 1 | # @octokit/openapi-types 2 | 3 | > Generated TypeScript definitions based on GitHub's OpenAPI spec 4 | 5 | This package is continuously updated based on [GitHub's OpenAPI specification](https://github.com/github/rest-api-description/) 6 | 7 | ## Usage 8 | 9 | ```ts 10 | import { components } from "@octokit/openapi-types"; 11 | 12 | type Repository = components["schemas"]["full-repository"]; 13 | ``` 14 | 15 | ## License 16 | 17 | [MIT](LICENSE) 18 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/deprecation/dist-node/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | Object.defineProperty(exports, '__esModule', { value: true }); 4 | 5 | class Deprecation extends Error { 6 | constructor(message) { 7 | super(message); // Maintains proper stack trace (only available on V8) 8 | 9 | /* istanbul ignore next */ 10 | 11 | if (Error.captureStackTrace) { 12 | Error.captureStackTrace(this, this.constructor); 13 | } 14 | 15 | this.name = 'Deprecation'; 16 | } 17 | 18 | } 19 | 20 | exports.Deprecation = Deprecation; 21 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/core/lib/path-utils.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"path-utils.js","sourceRoot":"","sources":["../src/path-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4B;AAE5B;;;;;;GAMG;AACH,SAAgB,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;AAClC,CAAC;AAFD,kCAEC;AAED;;;;;;GAMG;AACH,SAAgB,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AAClC,CAAC;AAFD,kCAEC;AAED;;;;;;;GAOG;AACH,SAAgB,cAAc,CAAC,GAAW;IACxC,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;AACxC,CAAC;AAFD,wCAEC"} -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/graphql/dist-src/with-defaults.js: -------------------------------------------------------------------------------- 1 | import { request as Request } from "@octokit/request"; 2 | import { graphql } from "./graphql"; 3 | function withDefaults(request, newDefaults) { 4 | const newRequest = request.defaults(newDefaults); 5 | const newApi = (query, options) => { 6 | return graphql(newRequest, query, options); 7 | }; 8 | return Object.assign(newApi, { 9 | defaults: withDefaults.bind(null, newRequest), 10 | endpoint: newRequest.endpoint 11 | }); 12 | } 13 | export { 14 | withDefaults 15 | }; 16 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/openapi-types/README.md: -------------------------------------------------------------------------------- 1 | # @octokit/openapi-types 2 | 3 | > Generated TypeScript definitions based on GitHub's OpenAPI spec 4 | 5 | This package is continuously updated based on [GitHub's OpenAPI specification](https://github.com/github/rest-api-description/) 6 | 7 | ## Usage 8 | 9 | ```ts 10 | import { components } from "@octokit/openapi-types"; 11 | 12 | type Repository = components["schemas"]["full-repository"]; 13 | ``` 14 | 15 | ## License 16 | 17 | [MIT](LICENSE) 18 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/lib/mock/mock-errors.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const { UndiciError } = require('../core/errors') 4 | 5 | class MockNotMatchedError extends UndiciError { 6 | constructor (message) { 7 | super(message) 8 | Error.captureStackTrace(this, MockNotMatchedError) 9 | this.name = 'MockNotMatchedError' 10 | this.message = message || 'The request does not match any registered mock dispatches' 11 | this.code = 'UND_MOCK_ERR_MOCK_NOT_MATCHED' 12 | } 13 | } 14 | 15 | module.exports = { 16 | MockNotMatchedError 17 | } 18 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts: -------------------------------------------------------------------------------- 1 | import type { RequestMethod } from "@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestMethod"; 2 | import type { Url } from "@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Url"; 3 | import type { RequestParameters } from "@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestParameters"; 4 | export type EndpointOptions = RequestParameters & { 5 | method: RequestMethod; 6 | url: Url; 7 | }; 8 | -------------------------------------------------------------------------------- /06-authoring-actions/container-actions/python-container-action/action.yaml: -------------------------------------------------------------------------------- 1 | name: Hello (Python) 2 | description: Greet someone and expose a greeting output 3 | inputs: 4 | who-to-greet: 5 | description: Name to greet 6 | required: true 7 | default: World 8 | outputs: 9 | greeting: 10 | description: The greeting that was printed 11 | runs: 12 | using: docker 13 | # Option A – let GitHub build from Dockerfile each run 14 | image: Dockerfile 15 | # Option B – use a pre-built image to avoid rebuilds: 16 | # image: docker://ghcr.io/your-org/hello-python-action:v1 17 | args: 18 | - ${{ inputs.who-to-greet }} 19 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js: -------------------------------------------------------------------------------- 1 | function addQueryParameters(url, parameters) { 2 | const separator = /\?/.test(url) ? "&" : "?"; 3 | const names = Object.keys(parameters); 4 | if (names.length === 0) { 5 | return url; 6 | } 7 | return url + separator + names.map((name) => { 8 | if (name === "q") { 9 | return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); 10 | } 11 | return `${name}=${encodeURIComponent(parameters[name])}`; 12 | }).join("&"); 13 | } 14 | export { 15 | addQueryParameters 16 | }; 17 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts: -------------------------------------------------------------------------------- 1 | import type { RequestMethod } from "@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestMethod"; 2 | import type { Url } from "@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Url"; 3 | import type { RequestParameters } from "@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestParameters"; 4 | export type EndpointOptions = RequestParameters & { 5 | method: RequestMethod; 6 | url: Url; 7 | }; 8 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/endpoint/dist-src/with-defaults.js: -------------------------------------------------------------------------------- 1 | import { endpointWithDefaults } from "./endpoint-with-defaults"; 2 | import { merge } from "./merge"; 3 | import { parse } from "./parse"; 4 | function withDefaults(oldDefaults, newDefaults) { 5 | const DEFAULTS = merge(oldDefaults, newDefaults); 6 | const endpoint = endpointWithDefaults.bind(null, DEFAULTS); 7 | return Object.assign(endpoint, { 8 | DEFAULTS, 9 | defaults: withDefaults.bind(null, DEFAULTS), 10 | merge: merge.bind(null, DEFAULTS), 11 | parse 12 | }); 13 | } 14 | export { 15 | withDefaults 16 | }; 17 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts: -------------------------------------------------------------------------------- 1 | import type { Octokit } from "@octokit/core"; 2 | export type { RestEndpointMethodTypes } from "./generated/parameters-and-response-types.js"; 3 | import type { Api } from "./types.js"; 4 | export declare function restEndpointMethods(octokit: Octokit): Api; 5 | export declare namespace restEndpointMethods { 6 | var VERSION: string; 7 | } 8 | export declare function legacyRestEndpointMethods(octokit: Octokit): Api["rest"] & Api; 9 | export declare namespace legacyRestEndpointMethods { 10 | var VERSION: string; 11 | } 12 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/universal-user-agent/dist-node/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | Object.defineProperty(exports, '__esModule', { value: true }); 4 | 5 | function getUserAgent() { 6 | if (typeof navigator === "object" && "userAgent" in navigator) { 7 | return navigator.userAgent; 8 | } 9 | 10 | if (typeof process === "object" && process.version !== undefined) { 11 | return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`; 12 | } 13 | 14 | return ""; 15 | } 16 | 17 | exports.getUserAgent = getUserAgent; 18 | //# sourceMappingURL=index.js.map 19 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/index.js: -------------------------------------------------------------------------------- 1 | const core = require("@actions/core"); 2 | const github = require("@actions/github"); 3 | 4 | try { 5 | // `who-to-greet` input defined in action metadata file 6 | const nameToGreet = core.getInput("who-to-greet"); 7 | console.log(`Hello ${nameToGreet}!`); 8 | const time = new Date().toTimeString(); 9 | core.setOutput("time", time); 10 | // Get the JSON webhook payload for the event that triggered the workflow 11 | const payload = JSON.stringify(github.context.payload, undefined, 2); 12 | console.log(`The event payload: ${payload}`); 13 | } catch (error) { 14 | core.setFailed(error.message); 15 | } 16 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/github/lib/github.d.ts: -------------------------------------------------------------------------------- 1 | import * as Context from '@actions/github/lib/context'; 2 | import { GitHub } from '@actions/github/lib/utils'; 3 | import { OctokitOptions, OctokitPlugin } from '@octokit/core/dist-types/types'; 4 | export declare const context: Context.Context; 5 | /** 6 | * Returns a hydrated octokit ready to use for GitHub Actions 7 | * 8 | * @param token the repo PAT or GITHUB_TOKEN 9 | * @param options other options to set 10 | */ 11 | export declare function getOctokit(token: string, options?: OctokitOptions, ...additionalPlugins: OctokitPlugin[]): InstanceType; 12 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js: -------------------------------------------------------------------------------- 1 | import { isPlainObject } from "./is-plain-object"; 2 | function mergeDeep(defaults, options) { 3 | const result = Object.assign({}, defaults); 4 | Object.keys(options).forEach((key) => { 5 | if (isPlainObject(options[key])) { 6 | if (!(key in defaults)) 7 | Object.assign(result, { [key]: options[key] }); 8 | else 9 | result[key] = mergeDeep(defaults[key], options[key]); 10 | } else { 11 | Object.assign(result, { [key]: options[key] }); 12 | } 13 | }); 14 | return result; 15 | } 16 | export { 17 | mergeDeep 18 | }; 19 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/request/dist-src/is-plain-object.js: -------------------------------------------------------------------------------- 1 | function isPlainObject(value) { 2 | if (typeof value !== "object" || value === null) 3 | return false; 4 | if (Object.prototype.toString.call(value) !== "[object Object]") 5 | return false; 6 | const proto = Object.getPrototypeOf(value); 7 | if (proto === null) 8 | return true; 9 | const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor; 10 | return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value); 11 | } 12 | export { 13 | isPlainObject 14 | }; 15 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js: -------------------------------------------------------------------------------- 1 | function isPlainObject(value) { 2 | if (typeof value !== "object" || value === null) 3 | return false; 4 | if (Object.prototype.toString.call(value) !== "[object Object]") 5 | return false; 6 | const proto = Object.getPrototypeOf(value); 7 | if (proto === null) 8 | return true; 9 | const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor; 10 | return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value); 11 | } 12 | export { 13 | isPlainObject 14 | }; 15 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts: -------------------------------------------------------------------------------- 1 | import type { ResponseHeaders } from "@octokit/types/dist-types/ResponseHeaders"; 2 | import type { Url } from "@octokit/types/dist-types/Url"; 3 | export interface OctokitResponse { 4 | headers: ResponseHeaders; 5 | /** 6 | * http response code 7 | */ 8 | status: S; 9 | /** 10 | * URL of response after all redirects 11 | */ 12 | url: Url; 13 | /** 14 | * Response data as documented in the REST API reference documentation at https://docs.github.com/rest/reference 15 | */ 16 | data: T; 17 | } 18 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/tunnel/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | - 0.0.6 (2018/09/11) 4 | - Fix `localAddress` not working (#25) 5 | - Fix `Host:` header for CONNECT method by @tmurakam (#29, #30) 6 | - Fix default port for https (#32) 7 | - Fix error handling when the proxy send illegal response body (#33) 8 | 9 | - 0.0.5 (2017/06/12) 10 | - Fix socket leak. 11 | 12 | - 0.0.4 (2016/01/23) 13 | - supported Node v0.12 or later. 14 | 15 | - 0.0.3 (2014/01/20) 16 | - fixed package.json 17 | 18 | - 0.0.1 (2012/02/18) 19 | - supported Node v0.6.x (0.6.11 or later). 20 | 21 | - 0.0.0 (2012/02/11) 22 | - first release. 23 | -------------------------------------------------------------------------------- /06-authoring-actions/container-actions/shell-container-action-prebuilt/action.yml: -------------------------------------------------------------------------------- 1 | name: 'The name of your action here' 2 | description: 'Provide a description here' 3 | author: 'Your name or organization here' 4 | 5 | # Define your inputs here. 6 | inputs: 7 | who-to-greet: 8 | description: 'Your input description here' 9 | required: true 10 | default: 'World' 11 | 12 | # Define your outputs here. 13 | outputs: 14 | greeting: 15 | description: 'Your output description here' 16 | 17 | runs: 18 | using: docker 19 | image: sidpalas/shell-container-action:v0.0.1 # specifying a public image allows you to skip the build 20 | env: 21 | INPUT_WHO_TO_GREET: ${{ inputs.who-to-greet }} 22 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/github/lib/internal/utils.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import * as http from 'http'; 3 | import { OctokitOptions } from '@octokit/core/dist-types/types'; 4 | import { ProxyAgent, fetch } from 'undici'; 5 | export declare function getAuthString(token: string, options: OctokitOptions): string | undefined; 6 | export declare function getProxyAgent(destinationUrl: string): http.Agent; 7 | export declare function getProxyAgentDispatcher(destinationUrl: string): ProxyAgent | undefined; 8 | export declare function getProxyFetch(destinationUrl: any): typeof fetch; 9 | export declare function getApiBaseUrl(): string; 10 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts: -------------------------------------------------------------------------------- 1 | export type RequestHeaders = { 2 | /** 3 | * Avoid setting `headers.accept`, use `mediaType.{format|previews}` option instead. 4 | */ 5 | accept?: string; 6 | /** 7 | * Use `authorization` to send authenticated request, remember `token ` / `bearer ` prefixes. Example: `token 1234567890abcdef1234567890abcdef12345678` 8 | */ 9 | authorization?: string; 10 | /** 11 | * `user-agent` is set do a default and can be overwritten as needed. 12 | */ 13 | "user-agent"?: string; 14 | [header: string]: string | number | undefined; 15 | }; 16 | -------------------------------------------------------------------------------- /.github/workflows/08-developer-experience--02-ssh-breakpoint.yaml: -------------------------------------------------------------------------------- 1 | name: Workflow Iteration (Breakpoint with SSH) 2 | 3 | on: 4 | workflow_dispatch: 5 | 6 | jobs: 7 | fail-with-breakpoint: 8 | runs-on: ubuntu-24.04 9 | steps: 10 | - name: Checkout Code 11 | uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 # v5.0.0 12 | - name: Fail 13 | run: | 14 | echo "::error Purposefully failing the job"; exit 1; 15 | - name: Breakpoint if Failed 16 | if: failure() 17 | uses: namespacelabs/breakpoint-action@664d004eae0e89e248fafe14fd5e97d28440a85e # v0.0.13 18 | with: 19 | duration: 10m 20 | authorized-users: sidpalas 21 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js: -------------------------------------------------------------------------------- 1 | import { VERSION } from "./version.js"; 2 | import { endpointsToMethods } from "./endpoints-to-methods.js"; 3 | function restEndpointMethods(octokit) { 4 | const api = endpointsToMethods(octokit); 5 | return { 6 | rest: api 7 | }; 8 | } 9 | restEndpointMethods.VERSION = VERSION; 10 | function legacyRestEndpointMethods(octokit) { 11 | const api = endpointsToMethods(octokit); 12 | return { 13 | ...api, 14 | rest: api 15 | }; 16 | } 17 | legacyRestEndpointMethods.VERSION = VERSION; 18 | export { 19 | legacyRestEndpointMethods, 20 | restEndpointMethods 21 | }; 22 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/types/dist-types/RequestOptions.d.ts: -------------------------------------------------------------------------------- 1 | import type { RequestHeaders } from "@octokit/types/dist-types/RequestHeaders"; 2 | import type { RequestMethod } from "@octokit/types/dist-types/RequestMethod"; 3 | import type { RequestRequestOptions } from "@octokit/types/dist-types/RequestRequestOptions"; 4 | import type { Url } from "@octokit/types/dist-types/Url"; 5 | /** 6 | * Generic request options as they are returned by the `endpoint()` method 7 | */ 8 | export type RequestOptions = { 9 | method: RequestMethod; 10 | url: Url; 11 | headers: RequestHeaders; 12 | body?: any; 13 | request?: RequestRequestOptions; 14 | }; 15 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/auth-token/dist-src/index.js: -------------------------------------------------------------------------------- 1 | import { auth } from "./auth"; 2 | import { hook } from "./hook"; 3 | const createTokenAuth = function createTokenAuth2(token) { 4 | if (!token) { 5 | throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); 6 | } 7 | if (typeof token !== "string") { 8 | throw new Error( 9 | "[@octokit/auth-token] Token passed to createTokenAuth is not a string" 10 | ); 11 | } 12 | token = token.replace(/^(token|bearer) +/i, ""); 13 | return Object.assign(auth.bind(null, token), { 14 | hook: hook.bind(null, token) 15 | }); 16 | }; 17 | export { 18 | createTokenAuth 19 | }; 20 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/lib/mock/pluralizer.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const singulars = { 4 | pronoun: 'it', 5 | is: 'is', 6 | was: 'was', 7 | this: 'this' 8 | } 9 | 10 | const plurals = { 11 | pronoun: 'they', 12 | is: 'are', 13 | was: 'were', 14 | this: 'these' 15 | } 16 | 17 | module.exports = class Pluralizer { 18 | constructor (singular, plural) { 19 | this.singular = singular 20 | this.plural = plural 21 | } 22 | 23 | pluralize (count) { 24 | const one = count === 1 25 | const keys = one ? singulars : plurals 26 | const noun = one ? this.singular : this.plural 27 | return { ...keys, count, noun } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/README.md: -------------------------------------------------------------------------------- 1 | The docs say to check in node_modules https://docs.github.com/en/actions/sharing-automations/creating-actions/creating-a-javascript-action#commit-tag-and-push-your-action 2 | 3 | Alternatively, you can use: 4 | 5 | - NCC https://github.com/vercel/ncc 6 | 7 | OR 8 | 9 | - Rollup https://github.com/actions/hello-world-javascript-action/blob/main/rollup.config.js 10 | 11 | but that adds a build step. 12 | 13 | Here is a template repo that implemented with rollup https://github.com/actions/hello-world-javascript-action 14 | 15 | Honestly you should be using Typescript anyways... so that requires a builds step (and avoids the need to check in node_modules) 16 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/index-fetch.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const fetchImpl = require('./lib/fetch').fetch 4 | 5 | module.exports.fetch = function fetch (resource, init = undefined) { 6 | return fetchImpl(resource, init).catch((err) => { 7 | Error.captureStackTrace(err, this) 8 | throw err 9 | }) 10 | } 11 | module.exports.FormData = require('./lib/fetch/formdata').FormData 12 | module.exports.Headers = require('./lib/fetch/headers').Headers 13 | module.exports.Response = require('./lib/fetch/response').Response 14 | module.exports.Request = require('./lib/fetch/request').Request 15 | module.exports.WebSocket = require('./lib/websocket/websocket').WebSocket 16 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/auth-token/dist-src/auth.js: -------------------------------------------------------------------------------- 1 | const REGEX_IS_INSTALLATION_LEGACY = /^v1\./; 2 | const REGEX_IS_INSTALLATION = /^ghs_/; 3 | const REGEX_IS_USER_TO_SERVER = /^ghu_/; 4 | async function auth(token) { 5 | const isApp = token.split(/\./).length === 3; 6 | const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token); 7 | const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); 8 | const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; 9 | return { 10 | type: "token", 11 | token, 12 | tokenType 13 | }; 14 | } 15 | export { 16 | auth 17 | }; 18 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/docs/api/MockErrors.md: -------------------------------------------------------------------------------- 1 | # MockErrors 2 | 3 | Undici exposes a variety of mock error objects that you can use to enhance your mock error handling. 4 | You can find all the mock error objects inside the `mockErrors` key. 5 | 6 | ```js 7 | import { mockErrors } from 'undici' 8 | ``` 9 | 10 | | Mock Error | Mock Error Codes | Description | 11 | | --------------------- | ------------------------------- | ---------------------------------------------------------- | 12 | | `MockNotMatchedError` | `UND_MOCK_ERR_MOCK_NOT_MATCHED` | The request does not match any registered mock dispatches. | 13 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts: -------------------------------------------------------------------------------- 1 | export type RequestHeaders = { 2 | /** 3 | * Avoid setting `headers.accept`, use `mediaType.{format|previews}` option instead. 4 | */ 5 | accept?: string; 6 | /** 7 | * Use `authorization` to send authenticated request, remember `token ` / `bearer ` prefixes. Example: `token 1234567890abcdef1234567890abcdef12345678` 8 | */ 9 | authorization?: string; 10 | /** 11 | * `user-agent` is set do a default and can be overwritten as needed. 12 | */ 13 | "user-agent"?: string; 14 | [header: string]: string | number | undefined; 15 | }; 16 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/openapi-types/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@octokit/openapi-types", 3 | "description": "Generated TypeScript definitions based on GitHub's OpenAPI spec for api.github.com", 4 | "repository": { 5 | "type": "git", 6 | "url": "https://github.com/octokit/openapi-types.ts.git", 7 | "directory": "packages/openapi-types" 8 | }, 9 | "publishConfig": { 10 | "access": "public", 11 | "provenance": true 12 | }, 13 | "version": "24.2.0", 14 | "main": "", 15 | "types": "types.d.ts", 16 | "author": "Gregor Martynus (https://twitter.com/gr2m)", 17 | "license": "MIT", 18 | "octokit": { 19 | "openapi-version": "18.2.0" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/types/content-type.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | interface MIMEType { 4 | type: string 5 | subtype: string 6 | parameters: Map 7 | essence: string 8 | } 9 | 10 | /** 11 | * Parse a string to a {@link MIMEType} object. Returns `failure` if the string 12 | * couldn't be parsed. 13 | * @see https://mimesniff.spec.whatwg.org/#parse-a-mime-type 14 | */ 15 | export function parseMIMEType (input: string): 'failure' | MIMEType 16 | 17 | /** 18 | * Convert a MIMEType object to a string. 19 | * @see https://mimesniff.spec.whatwg.org/#serialize-a-mime-type 20 | */ 21 | export function serializeAMimeType (mimeType: MIMEType): string 22 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts: -------------------------------------------------------------------------------- 1 | export type RequestHeaders = { 2 | /** 3 | * Avoid setting `headers.accept`, use `mediaType.{format|previews}` option instead. 4 | */ 5 | accept?: string; 6 | /** 7 | * Use `authorization` to send authenticated request, remember `token ` / `bearer ` prefixes. Example: `token 1234567890abcdef1234567890abcdef12345678` 8 | */ 9 | authorization?: string; 10 | /** 11 | * `user-agent` is set do a default and can be overwritten as needed. 12 | */ 13 | "user-agent"?: string; 14 | [header: string]: string | number | undefined; 15 | }; 16 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@octokit/openapi-types", 3 | "description": "Generated TypeScript definitions based on GitHub's OpenAPI spec for api.github.com", 4 | "repository": { 5 | "type": "git", 6 | "url": "https://github.com/octokit/openapi-types.ts.git", 7 | "directory": "packages/openapi-types" 8 | }, 9 | "publishConfig": { 10 | "access": "public" 11 | }, 12 | "version": "20.0.0", 13 | "main": "", 14 | "types": "types.d.ts", 15 | "author": "Gregor Martynus (https://twitter.com/gr2m)", 16 | "license": "MIT", 17 | "octokit": { 18 | "openapi-version": "14.0.0" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/openapi-types/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@octokit/openapi-types", 3 | "description": "Generated TypeScript definitions based on GitHub's OpenAPI spec for api.github.com", 4 | "repository": { 5 | "type": "git", 6 | "url": "https://github.com/octokit/openapi-types.ts.git", 7 | "directory": "packages/openapi-types" 8 | }, 9 | "publishConfig": { 10 | "access": "public" 11 | }, 12 | "version": "20.0.0", 13 | "main": "", 14 | "types": "types.d.ts", 15 | "author": "Gregor Martynus (https://twitter.com/gr2m)", 16 | "license": "MIT", 17 | "octokit": { 18 | "openapi-version": "14.0.0" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /06-authoring-actions/composite-action/action.yaml: -------------------------------------------------------------------------------- 1 | name: 'Hello World' 2 | description: 'Greet someone' 3 | inputs: 4 | who-to-greet: # id of input 5 | description: 'Who to greet' 6 | required: true 7 | default: 'World' 8 | outputs: 9 | random-number: 10 | description: 'Random number' 11 | value: ${{ steps.random-number-generator.outputs.random-number }} 12 | runs: 13 | using: 'composite' 14 | steps: 15 | - name: Set Greeting 16 | run: echo "Hello $INPUT_WHO_TO_GREET." 17 | shell: bash 18 | env: 19 | INPUT_WHO_TO_GREET: ${{ inputs.who-to-greet }} 20 | 21 | - name: Random Number Generator 22 | id: random-number-generator 23 | run: echo "random-number=$(echo $RANDOM)" >> $GITHUB_OUTPUT 24 | shell: bash 25 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/dist-src/index.js: -------------------------------------------------------------------------------- 1 | import { VERSION } from "./version.js"; 2 | import { paginate } from "./paginate.js"; 3 | import { iterator } from "./iterator.js"; 4 | import { composePaginateRest } from "./compose-paginate.js"; 5 | import { 6 | isPaginatingEndpoint, 7 | paginatingEndpoints 8 | } from "./paginating-endpoints.js"; 9 | function paginateRest(octokit) { 10 | return { 11 | paginate: Object.assign(paginate.bind(null, octokit), { 12 | iterator: iterator.bind(null, octokit) 13 | }) 14 | }; 15 | } 16 | paginateRest.VERSION = VERSION; 17 | export { 18 | composePaginateRest, 19 | isPaginatingEndpoint, 20 | paginateRest, 21 | paginatingEndpoints 22 | }; 23 | -------------------------------------------------------------------------------- /04-advanced-features/caching/minimal-node-project/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "minimal-node-project", 3 | "version": "1.0.0", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "minimal-node-project", 9 | "version": "1.0.0", 10 | "license": "ISC", 11 | "dependencies": { 12 | "left-pad": "^1.3.0" 13 | } 14 | }, 15 | "node_modules/left-pad": { 16 | "version": "1.3.0", 17 | "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", 18 | "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", 19 | "deprecated": "use String.prototype.padStart()", 20 | "license": "WTFPL" 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts: -------------------------------------------------------------------------------- 1 | import type { Route, RequestParameters } from "@octokit/types"; 2 | import type { RestEndpointMethods } from "@octokit/plugin-rest-endpoint-methods/dist-types/generated/method-types"; 3 | export type Api = { 4 | rest: RestEndpointMethods; 5 | }; 6 | export type EndpointDecorations = { 7 | mapToData?: string; 8 | deprecated?: string; 9 | renamed?: [string, string]; 10 | renamedParameters?: { 11 | [name: string]: string; 12 | }; 13 | }; 14 | export type EndpointsDefaultsAndDecorations = { 15 | [scope: string]: { 16 | [methodName: string]: [Route, RequestParameters?, EndpointDecorations?]; 17 | }; 18 | }; 19 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/types/balanced-pool.d.ts: -------------------------------------------------------------------------------- 1 | import Pool from './pool' 2 | import Dispatcher from './dispatcher' 3 | import { URL } from 'url' 4 | 5 | export default BalancedPool 6 | 7 | declare class BalancedPool extends Dispatcher { 8 | constructor(url: string | string[] | URL | URL[], options?: Pool.Options); 9 | 10 | addUpstream(upstream: string | URL): BalancedPool; 11 | removeUpstream(upstream: string | URL): BalancedPool; 12 | upstreams: Array; 13 | 14 | /** `true` after `pool.close()` has been called. */ 15 | closed: boolean; 16 | /** `true` after `pool.destroyed()` has been called or `pool.close()` has been called and the pool shutdown has completed. */ 17 | destroyed: boolean; 18 | } 19 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/core/lib/utils.d.ts: -------------------------------------------------------------------------------- 1 | import { AnnotationProperties } from './core'; 2 | import { CommandProperties } from './command'; 3 | /** 4 | * Sanitizes an input into a string so it can be passed into issueCommand safely 5 | * @param input input to sanitize into a string 6 | */ 7 | export declare function toCommandValue(input: any): string; 8 | /** 9 | * 10 | * @param annotationProperties 11 | * @returns The command properties to send with the actual annotation command 12 | * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646 13 | */ 14 | export declare function toCommandProperties(annotationProperties: AnnotationProperties): CommandProperties; 15 | -------------------------------------------------------------------------------- /.github/workflows/08-developer-experience--03-debug-env-vars.yaml: -------------------------------------------------------------------------------- 1 | name: Workflow Iteration (Debug Env Vars) 2 | 3 | on: 4 | workflow_dispatch: 5 | 6 | jobs: 7 | # To see the debug logging in action: 8 | # 1. Run with no modified settings (default) 9 | # 2. Set ACTIONS_STEP_DEBUG repo VAR or SECRET to true 10 | # └─> (This will show the debug log defined in the step) 11 | # 3. Set ACTIONS_RUNNER_DEBUG repo VAR or SECRET to true 12 | # └─> (This will show the debug logs from the runner) 13 | log-at-various-levels: 14 | runs-on: ubuntu-24.04 15 | steps: 16 | - name: Echo some things 17 | run: | 18 | echo "::debug::This is a debug message" 19 | echo "::info::This is an info message" 20 | echo "::warning::This is an warning message" 21 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/graphql/dist-src/index.js: -------------------------------------------------------------------------------- 1 | import { request } from "@octokit/request"; 2 | import { getUserAgent } from "universal-user-agent"; 3 | import { VERSION } from "./version"; 4 | import { withDefaults } from "./with-defaults"; 5 | const graphql = withDefaults(request, { 6 | headers: { 7 | "user-agent": `octokit-graphql.js/${VERSION} ${getUserAgent()}` 8 | }, 9 | method: "POST", 10 | url: "/graphql" 11 | }); 12 | import { GraphqlResponseError } from "./error"; 13 | function withCustomRequest(customRequest) { 14 | return withDefaults(customRequest, { 15 | method: "POST", 16 | url: "/graphql" 17 | }); 18 | } 19 | export { 20 | GraphqlResponseError, 21 | graphql, 22 | withCustomRequest 23 | }; 24 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/lib/pool-stats.js: -------------------------------------------------------------------------------- 1 | const { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require('./core/symbols') 2 | const kPool = Symbol('pool') 3 | 4 | class PoolStats { 5 | constructor (pool) { 6 | this[kPool] = pool 7 | } 8 | 9 | get connected () { 10 | return this[kPool][kConnected] 11 | } 12 | 13 | get free () { 14 | return this[kPool][kFree] 15 | } 16 | 17 | get pending () { 18 | return this[kPool][kPending] 19 | } 20 | 21 | get queued () { 22 | return this[kPool][kQueued] 23 | } 24 | 25 | get running () { 26 | return this[kPool][kRunning] 27 | } 28 | 29 | get size () { 30 | return this[kPool][kSize] 31 | } 32 | } 33 | 34 | module.exports = PoolStats 35 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts: -------------------------------------------------------------------------------- 1 | export type ResponseHeaders = { 2 | "cache-control"?: string; 3 | "content-length"?: number; 4 | "content-type"?: string; 5 | date?: string; 6 | etag?: string; 7 | "last-modified"?: string; 8 | link?: string; 9 | location?: string; 10 | server?: string; 11 | status?: string; 12 | vary?: string; 13 | "x-accepted-github-permissions"?: string; 14 | "x-github-mediatype"?: string; 15 | "x-github-request-id"?: string; 16 | "x-oauth-scopes"?: string; 17 | "x-ratelimit-limit"?: string; 18 | "x-ratelimit-remaining"?: string; 19 | "x-ratelimit-reset"?: string; 20 | [header: string]: string | number | undefined; 21 | }; 22 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/once/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "once", 3 | "version": "1.4.0", 4 | "description": "Run a function exactly one time", 5 | "main": "once.js", 6 | "directories": { 7 | "test": "test" 8 | }, 9 | "dependencies": { 10 | "wrappy": "1" 11 | }, 12 | "devDependencies": { 13 | "tap": "^7.0.1" 14 | }, 15 | "scripts": { 16 | "test": "tap test/*.js" 17 | }, 18 | "files": [ 19 | "once.js" 20 | ], 21 | "repository": { 22 | "type": "git", 23 | "url": "git://github.com/isaacs/once" 24 | }, 25 | "keywords": [ 26 | "once", 27 | "function", 28 | "one", 29 | "single" 30 | ], 31 | "author": "Isaac Z. Schlueter (http://blog.izs.me/)", 32 | "license": "ISC" 33 | } 34 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/wrappy/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "wrappy", 3 | "version": "1.0.2", 4 | "description": "Callback wrapping utility", 5 | "main": "wrappy.js", 6 | "files": [ 7 | "wrappy.js" 8 | ], 9 | "directories": { 10 | "test": "test" 11 | }, 12 | "dependencies": {}, 13 | "devDependencies": { 14 | "tap": "^2.3.1" 15 | }, 16 | "scripts": { 17 | "test": "tap --coverage test/*.js" 18 | }, 19 | "repository": { 20 | "type": "git", 21 | "url": "https://github.com/npm/wrappy" 22 | }, 23 | "author": "Isaac Z. Schlueter (http://blog.izs.me/)", 24 | "license": "ISC", 25 | "bugs": { 26 | "url": "https://github.com/npm/wrappy/issues" 27 | }, 28 | "homepage": "https://github.com/npm/wrappy" 29 | } 30 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/graphql/dist-src/error.js: -------------------------------------------------------------------------------- 1 | function _buildMessageForResponseErrors(data) { 2 | return `Request failed due to following response errors: 3 | ` + data.errors.map((e) => ` - ${e.message}`).join("\n"); 4 | } 5 | class GraphqlResponseError extends Error { 6 | constructor(request, headers, response) { 7 | super(_buildMessageForResponseErrors(response)); 8 | this.request = request; 9 | this.headers = headers; 10 | this.response = response; 11 | this.name = "GraphqlResponseError"; 12 | this.errors = response.errors; 13 | this.data = response.data; 14 | if (Error.captureStackTrace) { 15 | Error.captureStackTrace(this, this.constructor); 16 | } 17 | } 18 | } 19 | export { 20 | GraphqlResponseError 21 | }; 22 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts: -------------------------------------------------------------------------------- 1 | import type { ResponseHeaders } from "@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/ResponseHeaders"; 2 | import type { Url } from "@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Url"; 3 | export interface OctokitResponse { 4 | headers: ResponseHeaders; 5 | /** 6 | * http response code 7 | */ 8 | status: S; 9 | /** 10 | * URL of response after all redirects 11 | */ 12 | url: Url; 13 | /** 14 | * Response data as documented in the REST API reference documentation at https://docs.github.com/rest/reference 15 | */ 16 | data: T; 17 | } 18 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/graphql/dist-types/error.d.ts: -------------------------------------------------------------------------------- 1 | import type { ResponseHeaders } from "@octokit/types"; 2 | import type { GraphQlEndpointOptions, GraphQlQueryResponse } from "@octokit/graphql/dist-types/types"; 3 | type ServerResponseData = Required>; 4 | export declare class GraphqlResponseError extends Error { 5 | readonly request: GraphQlEndpointOptions; 6 | readonly headers: ResponseHeaders; 7 | readonly response: ServerResponseData; 8 | name: string; 9 | readonly errors: GraphQlQueryResponse["errors"]; 10 | readonly data: ResponseData; 11 | constructor(request: GraphQlEndpointOptions, headers: ResponseHeaders, response: ServerResponseData); 12 | } 13 | export {}; 14 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/docs/best-practices/writing-tests.md: -------------------------------------------------------------------------------- 1 | # Writing tests 2 | 3 | Undici is tuned for a production use case and its default will keep 4 | a socket open for a few seconds after an HTTP request is completed to 5 | remove the overhead of opening up a new socket. These settings that makes 6 | Undici shine in production are not a good fit for using Undici in automated 7 | tests, as it will result in longer execution times. 8 | 9 | The following are good defaults that will keep the socket open for only 10ms: 10 | 11 | ```js 12 | import { request, setGlobalDispatcher, Agent } from 'undici' 13 | 14 | const agent = new Agent({ 15 | keepAliveTimeout: 10, // milliseconds 16 | keepAliveMaxTimeout: 10 // milliseconds 17 | }) 18 | 19 | setGlobalDispatcher(agent) 20 | ``` 21 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/types/pool-stats.d.ts: -------------------------------------------------------------------------------- 1 | import Pool from "./pool" 2 | 3 | export default PoolStats 4 | 5 | declare class PoolStats { 6 | constructor(pool: Pool); 7 | /** Number of open socket connections in this pool. */ 8 | connected: number; 9 | /** Number of open socket connections in this pool that do not have an active request. */ 10 | free: number; 11 | /** Number of pending requests across all clients in this pool. */ 12 | pending: number; 13 | /** Number of queued requests across all clients in this pool. */ 14 | queued: number; 15 | /** Number of currently active requests across all clients in this pool. */ 16 | running: number; 17 | /** Number of active, pending, or queued requests across all clients in this pool. */ 18 | size: number; 19 | } 20 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/core/lib/utils.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";AAAA,mCAAmC;AACnC,uDAAuD;;;AAKvD;;;GAGG;AACH,SAAgB,cAAc,CAAC,KAAU;IACvC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;QACzC,OAAO,EAAE,CAAA;KACV;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,EAAE;QAC/D,OAAO,KAAe,CAAA;KACvB;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;AAC9B,CAAC;AAPD,wCAOC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CACjC,oBAA0C;IAE1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE;QAC7C,OAAO,EAAE,CAAA;KACV;IAED,OAAO;QACL,KAAK,EAAE,oBAAoB,CAAC,KAAK;QACjC,IAAI,EAAE,oBAAoB,CAAC,IAAI;QAC/B,IAAI,EAAE,oBAAoB,CAAC,SAAS;QACpC,OAAO,EAAE,oBAAoB,CAAC,OAAO;QACrC,GAAG,EAAE,oBAAoB,CAAC,WAAW;QACrC,SAAS,EAAE,oBAAoB,CAAC,SAAS;KAC1C,CAAA;AACH,CAAC;AAfD,kDAeC"} -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts: -------------------------------------------------------------------------------- 1 | export type ResponseHeaders = { 2 | "cache-control"?: string; 3 | "content-length"?: number; 4 | "content-type"?: string; 5 | date?: string; 6 | etag?: string; 7 | "last-modified"?: string; 8 | link?: string; 9 | location?: string; 10 | server?: string; 11 | status?: string; 12 | vary?: string; 13 | "x-accepted-github-permissions"?: string; 14 | "x-github-mediatype"?: string; 15 | "x-github-request-id"?: string; 16 | "x-oauth-scopes"?: string; 17 | "x-ratelimit-limit"?: string; 18 | "x-ratelimit-remaining"?: string; 19 | "x-ratelimit-reset"?: string; 20 | [header: string]: string | number | undefined; 21 | }; 22 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts: -------------------------------------------------------------------------------- 1 | import type { ResponseHeaders } from "@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/ResponseHeaders"; 2 | import type { Url } from "@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Url"; 3 | export interface OctokitResponse { 4 | headers: ResponseHeaders; 5 | /** 6 | * http response code 7 | */ 8 | status: S; 9 | /** 10 | * URL of response after all redirects 11 | */ 12 | url: Url; 13 | /** 14 | * Response data as documented in the REST API reference documentation at https://docs.github.com/rest/reference 15 | */ 16 | data: T; 17 | } 18 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/types/cookies.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | import type { Headers } from './fetch' 4 | 5 | export interface Cookie { 6 | name: string 7 | value: string 8 | expires?: Date | number 9 | maxAge?: number 10 | domain?: string 11 | path?: string 12 | secure?: boolean 13 | httpOnly?: boolean 14 | sameSite?: 'Strict' | 'Lax' | 'None' 15 | unparsed?: string[] 16 | } 17 | 18 | export function deleteCookie ( 19 | headers: Headers, 20 | name: string, 21 | attributes?: { name?: string, domain?: string } 22 | ): void 23 | 24 | export function getCookies (headers: Headers): Record 25 | 26 | export function getSetCookies (headers: Headers): Cookie[] 27 | 28 | export function setCookie (headers: Headers, cookie: Cookie): void 29 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts: -------------------------------------------------------------------------------- 1 | export type ResponseHeaders = { 2 | "cache-control"?: string; 3 | "content-length"?: number; 4 | "content-type"?: string; 5 | date?: string; 6 | etag?: string; 7 | "last-modified"?: string; 8 | link?: string; 9 | location?: string; 10 | server?: string; 11 | status?: string; 12 | vary?: string; 13 | "x-accepted-github-permissions"?: string; 14 | "x-github-mediatype"?: string; 15 | "x-github-request-id"?: string; 16 | "x-oauth-scopes"?: string; 17 | "x-ratelimit-limit"?: string; 18 | "x-ratelimit-remaining"?: string; 19 | "x-ratelimit-reset"?: string; 20 | [header: string]: string | number | undefined; 21 | }; 22 | -------------------------------------------------------------------------------- /.github/workflows/03-core-features--03-workflows-jobs-steps.yaml: -------------------------------------------------------------------------------- 1 | name: Workflows, Jobs, and Steps 2 | 3 | on: 4 | workflow_dispatch: 5 | jobs: 6 | job-1: 7 | runs-on: ubuntu-24.04 8 | steps: 9 | - run: echo "A job consists of" 10 | - run: echo "one or more steps" 11 | - run: echo "which run sequentially" 12 | - run: echo "within the same compute environment" 13 | job-2: 14 | runs-on: ubuntu-24.04 15 | steps: 16 | - run: echo "Multiple jobs can run in parallel" 17 | job-3: 18 | runs-on: ubuntu-24.04 19 | needs: 20 | - job-1 21 | - job-2 22 | steps: 23 | - run: echo "They can also depend on one another..." 24 | job-4: 25 | runs-on: ubuntu-24.04 26 | needs: 27 | - job-2 28 | - job-3 29 | steps: 30 | - run: echo "...to form a directed acyclic graph (DAG)" 31 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/lib/interceptor/redirectInterceptor.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const RedirectHandler = require('../handler/RedirectHandler') 4 | 5 | function createRedirectInterceptor ({ maxRedirections: defaultMaxRedirections }) { 6 | return (dispatch) => { 7 | return function Intercept (opts, handler) { 8 | const { maxRedirections = defaultMaxRedirections } = opts 9 | 10 | if (!maxRedirections) { 11 | return dispatch(opts, handler) 12 | } 13 | 14 | const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler) 15 | opts = { ...opts, maxRedirections: 0 } // Stop sub dispatcher from also redirecting. 16 | return dispatch(opts, redirectHandler) 17 | } 18 | } 19 | } 20 | 21 | module.exports = createRedirectInterceptor 22 | -------------------------------------------------------------------------------- /devbox.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://raw.githubusercontent.com/jetify-com/devbox/0.15.0/.schema/devbox.schema.json", 3 | "packages": [ 4 | "go-task@latest", 5 | "civo@latest", 6 | "act@latest", 7 | "gh@latest", 8 | "gum@latest", 9 | "yq-go@latest", 10 | "jq@latest", 11 | "ko@latest", 12 | "kluctl@latest", 13 | "kubectl@latest", 14 | "kubectx@latest", 15 | "kubernetes-helm@latest", 16 | "kustomize@latest", 17 | "python312@latest", 18 | "go@1.19", 19 | "poetry@latest", 20 | "nodejs_20@latest", 21 | "namespace-cli@latest", 22 | "gnused@latest" 23 | ], 24 | "shell": { 25 | "init_hook": [ 26 | "echo 'Welcome to devbox!' > /dev/null" 27 | ], 28 | "scripts": { 29 | "test": [ 30 | "echo \"Error: no test specified\" && exit 1" 31 | ] 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /.github/workflows/06-authoring-actions--03-reuseable-workflows-caller.yaml: -------------------------------------------------------------------------------- 1 | name: Reuseable Workflow Caller 2 | 3 | on: 4 | workflow_dispatch: 5 | 6 | jobs: 7 | call-reuseable-workflow-path: 8 | name: Invoke reuseable workflow with relative path 9 | uses: ./.github/workflows/06-authoring-actions--02-reuseable-workflows-source.yaml 10 | with: 11 | foo: bar 12 | environment: staging 13 | secrets: inherit 14 | 15 | call-reuseable-workflow-sha: 16 | name: Invoke reuseable workflow with repo + commit hash 17 | uses: sidpalas/devops-directive-github-actions-course/.github/workflows/06-authoring-actions--02-reuseable-workflows-source.yaml@f2d2e4a0a9ee82ef859e0f83ebfb5236efce069f 18 | with: 19 | foo: bar 20 | environment: production 21 | secrets: 22 | EXAMPLE_REPOSITORY_SECRET: ${{ secrets.EXAMPLE_REPOSITORY_SECRET }} 23 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/lib/handler/DecoratorHandler.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = class DecoratorHandler { 4 | constructor (handler) { 5 | this.handler = handler 6 | } 7 | 8 | onConnect (...args) { 9 | return this.handler.onConnect(...args) 10 | } 11 | 12 | onError (...args) { 13 | return this.handler.onError(...args) 14 | } 15 | 16 | onUpgrade (...args) { 17 | return this.handler.onUpgrade(...args) 18 | } 19 | 20 | onHeaders (...args) { 21 | return this.handler.onHeaders(...args) 22 | } 23 | 24 | onData (...args) { 25 | return this.handler.onData(...args) 26 | } 27 | 28 | onComplete (...args) { 29 | return this.handler.onComplete(...args) 30 | } 31 | 32 | onBodySent (...args) { 33 | return this.handler.onBodySent(...args) 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /.github/workflows/03-core-features--02-step-types.yaml: -------------------------------------------------------------------------------- 1 | name: Step Types 2 | 3 | on: 4 | workflow_dispatch: 5 | 6 | jobs: 7 | say-hello-inline-bash: 8 | runs-on: ubuntu-24.04 9 | steps: 10 | - run: echo "Hello from an inline bash script in a GitHub Action Workflow!" 11 | 12 | say-hello-inline-python: 13 | runs-on: ubuntu-24.04 14 | steps: 15 | - run: print("Hello from an inline python script in a GitHub Action Workflow!") 16 | shell: python 17 | 18 | say-hello-action: 19 | runs-on: ubuntu-24.04 20 | steps: 21 | - uses: actions/hello-world-javascript-action@081a6d193d1dcb38460df1e6927486d748730f9d # v1.1 22 | # - uses: actions/hello-world-javascript-action@v1 # This would work, but it would be less stable and less secure: 23 | with: 24 | who-to-greet: "from an action in the GitHub Action marketplace! 👋" 25 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/before-after-hook/lib/register.js: -------------------------------------------------------------------------------- 1 | module.exports = register; 2 | 3 | function register(state, name, method, options) { 4 | if (typeof method !== "function") { 5 | throw new Error("method for before hook must be a function"); 6 | } 7 | 8 | if (!options) { 9 | options = {}; 10 | } 11 | 12 | if (Array.isArray(name)) { 13 | return name.reverse().reduce(function (callback, name) { 14 | return register.bind(null, state, name, callback, options); 15 | }, method)(); 16 | } 17 | 18 | return Promise.resolve().then(function () { 19 | if (!state.registry[name]) { 20 | return method(options); 21 | } 22 | 23 | return state.registry[name].reduce(function (method, registered) { 24 | return registered.hook.bind(null, method, options); 25 | }, method)(); 26 | }); 27 | } 28 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts: -------------------------------------------------------------------------------- 1 | import type { Octokit } from "@octokit/core"; 2 | import type { PaginateInterface } from "@octokit/plugin-paginate-rest/dist-types/types"; 3 | export type { PaginateInterface, PaginatingEndpoints } from "@octokit/plugin-paginate-rest/dist-types/types"; 4 | export { composePaginateRest } from "@octokit/plugin-paginate-rest/dist-types/compose-paginate"; 5 | export { isPaginatingEndpoint, paginatingEndpoints, } from "@octokit/plugin-paginate-rest/dist-types/paginating-endpoints"; 6 | /** 7 | * @param octokit Octokit instance 8 | * @param options Options passed to Octokit constructor 9 | */ 10 | export declare function paginateRest(octokit: Octokit): { 11 | paginate: PaginateInterface; 12 | }; 13 | export declare namespace paginateRest { 14 | var VERSION: string; 15 | } 16 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/once/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/deprecation/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Gregor Martynus and contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/wrappy/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/dist-types/iterator.d.ts: -------------------------------------------------------------------------------- 1 | import type { Octokit } from "@octokit/core"; 2 | import type { RequestInterface, RequestParameters, Route } from "./types.js"; 3 | export declare function iterator(octokit: Octokit, route: Route | RequestInterface, parameters?: RequestParameters): { 4 | [Symbol.asyncIterator]: () => { 5 | next(): Promise<{ 6 | done: boolean; 7 | value?: undefined; 8 | } | { 9 | value: import("@octokit/types/dist-types/OctokitResponse.js").OctokitResponse; 10 | done?: undefined; 11 | } | { 12 | value: { 13 | status: number; 14 | headers: {}; 15 | data: never[]; 16 | }; 17 | done?: undefined; 18 | }>; 19 | }; 20 | }; 21 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/universal-user-agent/LICENSE.md: -------------------------------------------------------------------------------- 1 | # [ISC License](https://spdx.org/licenses/ISC) 2 | 3 | Copyright (c) 2018, Gregor Martynus (https://github.com/gr2m) 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 8 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts: -------------------------------------------------------------------------------- 1 | import type { RequestHeaders } from "@octokit/types/dist-types/RequestHeaders"; 2 | import type { RequestMethod } from "@octokit/types/dist-types/RequestMethod"; 3 | import type { RequestParameters } from "@octokit/types/dist-types/RequestParameters"; 4 | import type { Url } from "@octokit/types/dist-types/Url"; 5 | /** 6 | * The `.endpoint()` method is guaranteed to set all keys defined by RequestParameters 7 | * as well as the method property. 8 | */ 9 | export type EndpointDefaults = RequestParameters & { 10 | baseUrl: Url; 11 | method: RequestMethod; 12 | url?: Url; 13 | headers: RequestHeaders & { 14 | accept: string; 15 | "user-agent": string; 16 | }; 17 | mediaType: { 18 | format: string; 19 | previews?: string[]; 20 | }; 21 | }; 22 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestOptions.d.ts: -------------------------------------------------------------------------------- 1 | import type { RequestHeaders } from "@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestHeaders"; 2 | import type { RequestMethod } from "@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestMethod"; 3 | import type { RequestRequestOptions } from "@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestRequestOptions"; 4 | import type { Url } from "@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Url"; 5 | /** 6 | * Generic request options as they are returned by the `endpoint()` method 7 | */ 8 | export type RequestOptions = { 9 | method: RequestMethod; 10 | url: Url; 11 | headers: RequestHeaders; 12 | body?: any; 13 | request?: RequestRequestOptions; 14 | }; 15 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/wrappy/README.md: -------------------------------------------------------------------------------- 1 | # wrappy 2 | 3 | Callback wrapping utility 4 | 5 | ## USAGE 6 | 7 | ```javascript 8 | var wrappy = require("wrappy") 9 | 10 | // var wrapper = wrappy(wrapperFunction) 11 | 12 | // make sure a cb is called only once 13 | // See also: http://npm.im/once for this specific use case 14 | var once = wrappy(function (cb) { 15 | var called = false 16 | return function () { 17 | if (called) return 18 | called = true 19 | return cb.apply(this, arguments) 20 | } 21 | }) 22 | 23 | function printBoo () { 24 | console.log('boo') 25 | } 26 | // has some rando property 27 | printBoo.iAmBooPrinter = true 28 | 29 | var onlyPrintOnce = once(printBoo) 30 | 31 | onlyPrintOnce() // prints 'boo' 32 | onlyPrintOnce() // does nothing 33 | 34 | // random property is retained! 35 | assert.equal(onlyPrintOnce.iAmBooPrinter, true) 36 | ``` 37 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/lib/llhttp/wasm_build_env.txt: -------------------------------------------------------------------------------- 1 | alpine-baselayout-data-3.4.0-r0 2 | musl-1.2.3-r4 3 | busybox-1.35.0-r29 4 | busybox-binsh-1.35.0-r29 5 | alpine-baselayout-3.4.0-r0 6 | alpine-keys-2.4-r1 7 | ca-certificates-bundle-20220614-r4 8 | libcrypto3-3.0.8-r3 9 | libssl3-3.0.8-r3 10 | ssl_client-1.35.0-r29 11 | zlib-1.2.13-r0 12 | apk-tools-2.12.10-r1 13 | scanelf-1.3.5-r1 14 | musl-utils-1.2.3-r4 15 | libc-utils-0.7.2-r3 16 | libgcc-12.2.1_git20220924-r4 17 | libstdc++-12.2.1_git20220924-r4 18 | libffi-3.4.4-r0 19 | xz-libs-5.2.9-r0 20 | libxml2-2.10.4-r0 21 | zstd-libs-1.5.5-r0 22 | llvm15-libs-15.0.7-r0 23 | clang15-libs-15.0.7-r0 24 | libstdc++-dev-12.2.1_git20220924-r4 25 | clang15-15.0.7-r0 26 | lld-libs-15.0.7-r0 27 | lld-15.0.7-r0 28 | wasi-libc-0.20220525-r1 29 | wasi-libcxx-15.0.7-r0 30 | wasi-libcxxabi-15.0.7-r0 31 | wasi-compiler-rt-15.0.7-r0 32 | wasi-sdk-16-r0 33 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/github/lib/utils.d.ts: -------------------------------------------------------------------------------- 1 | import * as Context from '@actions/github/lib/context'; 2 | import { Octokit } from '@octokit/core'; 3 | import { OctokitOptions } from '@octokit/core/dist-types/types'; 4 | export declare const context: Context.Context; 5 | export declare const defaults: OctokitOptions; 6 | export declare const GitHub: typeof Octokit & import("@octokit/core/dist-types/types").Constructor; 9 | /** 10 | * Convience function to correctly format Octokit Options to pass into the constructor. 11 | * 12 | * @param token the repo PAT or GITHUB_TOKEN 13 | * @param options other options to set 14 | */ 15 | export declare function getOctokitOptions(token: string, options?: OctokitOptions): OctokitOptions; 16 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/github/lib/utils.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAoC;AACpC,wDAAyC;AAEzC,oBAAoB;AACpB,wCAAqC;AAErC,wFAAyE;AACzE,wEAA0D;AAE7C,QAAA,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAA;AAE5C,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,EAAE,CAAA;AACxB,QAAA,QAAQ,GAAmB;IACtC,OAAO;IACP,OAAO,EAAE;QACP,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC;QACnC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC;KACpC;CACF,CAAA;AAEY,QAAA,MAAM,GAAG,cAAO,CAAC,MAAM,CAClC,kDAAmB,EACnB,mCAAY,CACb,CAAC,QAAQ,CAAC,gBAAQ,CAAC,CAAA;AAEpB;;;;;GAKG;AACH,SAAgB,iBAAiB,CAC/B,KAAa,EACb,OAAwB;IAExB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,IAAI,EAAE,CAAC,CAAA,CAAC,iEAAiE;IAE/G,OAAO;IACP,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAC7C,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;KACjB;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAbD,8CAaC"} -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/github/lib/context.d.ts: -------------------------------------------------------------------------------- 1 | import { WebhookPayload } from '@actions/github/lib/interfaces'; 2 | export declare class Context { 3 | /** 4 | * Webhook payload object that triggered the workflow 5 | */ 6 | payload: WebhookPayload; 7 | eventName: string; 8 | sha: string; 9 | ref: string; 10 | workflow: string; 11 | action: string; 12 | actor: string; 13 | job: string; 14 | runAttempt: number; 15 | runNumber: number; 16 | runId: number; 17 | apiUrl: string; 18 | serverUrl: string; 19 | graphqlUrl: string; 20 | /** 21 | * Hydrate the context from the environment 22 | */ 23 | constructor(); 24 | get issue(): { 25 | owner: string; 26 | repo: string; 27 | number: number; 28 | }; 29 | get repo(): { 30 | owner: string; 31 | repo: string; 32 | }; 33 | } 34 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/lib/mock/mock-symbols.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = { 4 | kAgent: Symbol('agent'), 5 | kOptions: Symbol('options'), 6 | kFactory: Symbol('factory'), 7 | kDispatches: Symbol('dispatches'), 8 | kDispatchKey: Symbol('dispatch key'), 9 | kDefaultHeaders: Symbol('default headers'), 10 | kDefaultTrailers: Symbol('default trailers'), 11 | kContentLength: Symbol('content length'), 12 | kMockAgent: Symbol('mock agent'), 13 | kMockAgentSet: Symbol('mock agent set'), 14 | kMockAgentGet: Symbol('mock agent get'), 15 | kMockDispatch: Symbol('mock dispatch'), 16 | kClose: Symbol('close'), 17 | kOriginalClose: Symbol('original agent close'), 18 | kOrigin: Symbol('origin'), 19 | kIsMockActive: Symbol('is mock active'), 20 | kNetConnect: Symbol('net connect'), 21 | kGetNetConnect: Symbol('get net connect'), 22 | kConnected: Symbol('connected') 23 | } 24 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestOptions.d.ts: -------------------------------------------------------------------------------- 1 | import type { RequestHeaders } from "@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestHeaders"; 2 | import type { RequestMethod } from "@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestMethod"; 3 | import type { RequestRequestOptions } from "@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestRequestOptions"; 4 | import type { Url } from "@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Url"; 5 | /** 6 | * Generic request options as they are returned by the `endpoint()` method 7 | */ 8 | export type RequestOptions = { 9 | method: RequestMethod; 10 | url: Url; 11 | headers: RequestHeaders; 12 | body?: any; 13 | request?: RequestRequestOptions; 14 | }; 15 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/tunnel/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tunnel", 3 | "version": "0.0.6", 4 | "description": "Node HTTP/HTTPS Agents for tunneling proxies", 5 | "keywords": [ 6 | "http", 7 | "https", 8 | "agent", 9 | "proxy", 10 | "tunnel" 11 | ], 12 | "homepage": "https://github.com/koichik/node-tunnel/", 13 | "bugs": "https://github.com/koichik/node-tunnel/issues", 14 | "license": "MIT", 15 | "author": "Koichi Kobayashi ", 16 | "main": "./index.js", 17 | "directories": { 18 | "lib": "./lib" 19 | }, 20 | "repository": { 21 | "type": "git", 22 | "url": "https://github.com/koichik/node-tunnel.git" 23 | }, 24 | "scripts": { 25 | "test": "mocha" 26 | }, 27 | "devDependencies": { 28 | "mocha": "^5.2.0", 29 | "should": "^13.2.3" 30 | }, 31 | "engines": { 32 | "node": ">=0.6.11 <=0.7.0 || >=0.7.3" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/universal-user-agent/dist-web/index.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"index.js","sources":["../dist-src/index.js"],"sourcesContent":["export function getUserAgent() {\n if (typeof navigator === \"object\" && \"userAgent\" in navigator) {\n return navigator.userAgent;\n }\n if (typeof process === \"object\" && process.version !== undefined) {\n return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;\n }\n return \"\";\n}\n"],"names":[],"mappings":"AAAO,SAAS,YAAY,GAAG;AAC/B,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,WAAW,IAAI,SAAS,EAAE;AACnE,QAAQ,OAAO,SAAS,CAAC,SAAS,CAAC;AACnC,KAAK;AACL,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE;AACtE,QAAQ,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7F,KAAK;AACL,IAAI,OAAO,4BAA4B,CAAC;AACxC;;;;"} -------------------------------------------------------------------------------- /06-authoring-actions/container-actions/python-container-action/entrypoint.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | import os, datetime as dt 3 | 4 | 5 | # GitHub injects INPUT_WHO_TO_GREET based on the input name 6 | name = os.getenv("INPUT_WHO_TO_GREET", "World") 7 | 8 | # Alternatively, you could read it from the args list using its position 9 | # (you would need to import sys package above) 10 | # name = sys.argv[1] if len(sys.argv) > 1 else "World" 11 | 12 | greeting = f"Hello, {name}! Time is {dt.datetime.now(dt.timezone.utc):%H:%M:%S} UTC." 13 | print(greeting) 14 | 15 | # We can use workflow commands from: https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions 16 | # For example, to emit a GitHub-Actions NOTICE annotation 17 | print(f"::notice file=entrypoint.py,line=17::{greeting}") 18 | 19 | # Expose an output for downstream steps/jobs 20 | with open(os.environ["GITHUB_OUTPUT"], "a") as fh: 21 | fh.write(f"greeting={greeting}\n") 22 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/core/lib/path-utils.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * toPosixPath converts the given path to the posix form. On Windows, \\ will be 3 | * replaced with /. 4 | * 5 | * @param pth. Path to transform. 6 | * @return string Posix path. 7 | */ 8 | export declare function toPosixPath(pth: string): string; 9 | /** 10 | * toWin32Path converts the given path to the win32 form. On Linux, / will be 11 | * replaced with \\. 12 | * 13 | * @param pth. Path to transform. 14 | * @return string Win32 path. 15 | */ 16 | export declare function toWin32Path(pth: string): string; 17 | /** 18 | * toPlatformPath converts the given path to a platform-specific path. It does 19 | * this by replacing instances of / and \ with the platform-specific path 20 | * separator. 21 | * 22 | * @param pth The path to platformize. 23 | * @return string The platform-specific path. 24 | */ 25 | export declare function toPlatformPath(pth: string): string; 26 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts: -------------------------------------------------------------------------------- 1 | import type { Fetch } from "@octokit/types/dist-types/Fetch"; 2 | /** 3 | * Octokit-specific request options which are ignored for the actual request, but can be used by Octokit or plugins to manipulate how the request is sent or how a response is handled 4 | */ 5 | export type RequestRequestOptions = { 6 | /** 7 | * Custom replacement for built-in fetch method. Useful for testing or request hooks. 8 | */ 9 | fetch?: Fetch; 10 | /** 11 | * Use an `AbortController` instance to cancel a request. In node you can only cancel streamed requests. 12 | */ 13 | signal?: AbortSignal; 14 | /** 15 | * If set to `false`, the response body will not be parsed and will be returned as a stream. 16 | */ 17 | parseSuccessResponseBody?: boolean; 18 | redirect?: "follow" | "error" | "manual"; 19 | [option: string]: any; 20 | }; 21 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "06-authoring-actions/javascript-actions/javascript-action-with-build"] 2 | path = 06-authoring-actions/javascript-actions/javascript-action-with-build 3 | url = https://github.com/sidpalas/javascript-action-with-build.git 4 | [submodule "06-authoring-actions/javascript-actions/typescript-action-with-build"] 5 | path = 06-authoring-actions/javascript-actions/typescript-action-with-build 6 | url = https://github.com/sidpalas/typescript-action-with-build.git 7 | [submodule "06-authoring-actions/container-actions/bash-container-action"] 8 | path = 06-authoring-actions/container-actions/bash-container-action 9 | url = https://github.com/sidpalas/bash-container-action.git 10 | [submodule "06-authoring-actions/container-actions/shell-container-action"] 11 | path = 06-authoring-actions/container-actions/shell-container-action 12 | url = https://github.com/sidpalas/shell-container-action.git 13 | [submodule "capstone"] 14 | path = capstone 15 | url = git@github.com:sidpalas/capstone.git 16 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/universal-user-agent/dist-node/index.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"index.js","sources":["../dist-src/index.js"],"sourcesContent":["export function getUserAgent() {\n if (typeof navigator === \"object\" && \"userAgent\" in navigator) {\n return navigator.userAgent;\n }\n if (typeof process === \"object\" && process.version !== undefined) {\n return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;\n }\n return \"\";\n}\n"],"names":["getUserAgent","navigator","userAgent","process","version","undefined","substr","platform","arch"],"mappings":";;;;AAAO,SAASA,YAAT,GAAwB;AAC3B,MAAI,OAAOC,SAAP,KAAqB,QAArB,IAAiC,eAAeA,SAApD,EAA+D;AAC3D,WAAOA,SAAS,CAACC,SAAjB;AACH;;AACD,MAAI,OAAOC,OAAP,KAAmB,QAAnB,IAA+BA,OAAO,CAACC,OAAR,KAAoBC,SAAvD,EAAkE;AAC9D,WAAQ,WAAUF,OAAO,CAACC,OAAR,CAAgBE,MAAhB,CAAuB,CAAvB,CAA0B,KAAIH,OAAO,CAACI,QAAS,KAAIJ,OAAO,CAACK,IAAK,GAAlF;AACH;;AACD,SAAO,4BAAP;AACH;;;;"} -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/docs/api/PoolStats.md: -------------------------------------------------------------------------------- 1 | # Class: PoolStats 2 | 3 | Aggregate stats for a [Pool](Pool.md) or [BalancedPool](BalancedPool.md). 4 | 5 | ## `new PoolStats(pool)` 6 | 7 | Arguments: 8 | 9 | * **pool** `Pool` - Pool or BalancedPool from which to return stats. 10 | 11 | ## Instance Properties 12 | 13 | ### `PoolStats.connected` 14 | 15 | Number of open socket connections in this pool. 16 | 17 | ### `PoolStats.free` 18 | 19 | Number of open socket connections in this pool that do not have an active request. 20 | 21 | ### `PoolStats.pending` 22 | 23 | Number of pending requests across all clients in this pool. 24 | 25 | ### `PoolStats.queued` 26 | 27 | Number of queued requests across all clients in this pool. 28 | 29 | ### `PoolStats.running` 30 | 31 | Number of currently active requests across all clients in this pool. 32 | 33 | ### `PoolStats.size` 34 | 35 | Number of active, pending, or queued requests across all clients in this pool. 36 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/deprecation/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "deprecation", 3 | "description": "Log a deprecation message with stack", 4 | "version": "2.3.1", 5 | "license": "ISC", 6 | "files": [ 7 | "dist-*/", 8 | "bin/" 9 | ], 10 | "esnext": "dist-src/index.js", 11 | "main": "dist-node/index.js", 12 | "module": "dist-web/index.js", 13 | "types": "dist-types/index.d.ts", 14 | "pika": true, 15 | "sideEffects": false, 16 | "keywords": [ 17 | "deprecate", 18 | "deprecated", 19 | "deprecation" 20 | ], 21 | "repository": { 22 | "type": "git", 23 | "url": "https://github.com/gr2m/deprecation.git" 24 | }, 25 | "dependencies": {}, 26 | "devDependencies": { 27 | "@pika/pack": "^0.3.7", 28 | "@pika/plugin-build-node": "^0.4.0", 29 | "@pika/plugin-build-types": "^0.4.0", 30 | "@pika/plugin-build-web": "^0.4.0", 31 | "@pika/plugin-standard-pkg": "^0.4.0", 32 | "semantic-release": "^15.13.3" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/dist-src/paginate.js: -------------------------------------------------------------------------------- 1 | import { iterator } from "./iterator.js"; 2 | function paginate(octokit, route, parameters, mapFn) { 3 | if (typeof parameters === "function") { 4 | mapFn = parameters; 5 | parameters = void 0; 6 | } 7 | return gather( 8 | octokit, 9 | [], 10 | iterator(octokit, route, parameters)[Symbol.asyncIterator](), 11 | mapFn 12 | ); 13 | } 14 | function gather(octokit, results, iterator2, mapFn) { 15 | return iterator2.next().then((result) => { 16 | if (result.done) { 17 | return results; 18 | } 19 | let earlyExit = false; 20 | function done() { 21 | earlyExit = true; 22 | } 23 | results = results.concat( 24 | mapFn ? mapFn(result.value, done) : result.value.data 25 | ); 26 | if (earlyExit) { 27 | return results; 28 | } 29 | return gather(octokit, results, iterator2, mapFn); 30 | }); 31 | } 32 | export { 33 | paginate 34 | }; 35 | -------------------------------------------------------------------------------- /.github/workflows/04-advanced-features--02-artifacts.yaml: -------------------------------------------------------------------------------- 1 | name: Artifacts 2 | on: 3 | workflow_dispatch: 4 | 5 | jobs: 6 | artifact-producer: 7 | name: Produce artifact 8 | runs-on: ubuntu-24.04 9 | steps: 10 | - name: Create artifact file 11 | run: | 12 | echo "This will be stored as an artifact!" > artifact.txt 13 | echo "Generated by artifact-producer job on $(date)" >> artifact.txt 14 | 15 | - name: Upload artifact 16 | uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 17 | with: 18 | name: example-artifact 19 | path: artifact.txt 20 | 21 | artifact-consumer: 22 | name: Consume artifact 23 | runs-on: ubuntu-24.04 24 | needs: artifact-producer 25 | steps: 26 | - name: Download artifact 27 | uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 28 | with: 29 | name: example-artifact 30 | 31 | - name: Cat artifact file 32 | run: cat artifact.txt 33 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/types/proxy-agent.d.ts: -------------------------------------------------------------------------------- 1 | import Agent from './agent' 2 | import buildConnector from './connector'; 3 | import Client from './client' 4 | import Dispatcher from './dispatcher' 5 | import { IncomingHttpHeaders } from './header' 6 | import Pool from './pool' 7 | 8 | export default ProxyAgent 9 | 10 | declare class ProxyAgent extends Dispatcher { 11 | constructor(options: ProxyAgent.Options | string) 12 | 13 | dispatch(options: Agent.DispatchOptions, handler: Dispatcher.DispatchHandlers): boolean; 14 | close(): Promise; 15 | } 16 | 17 | declare namespace ProxyAgent { 18 | export interface Options extends Agent.Options { 19 | uri: string; 20 | /** 21 | * @deprecated use opts.token 22 | */ 23 | auth?: string; 24 | token?: string; 25 | headers?: IncomingHttpHeaders; 26 | requestTls?: buildConnector.BuildOptions; 27 | proxyTls?: buildConnector.BuildOptions; 28 | clientFactory?(origin: URL, opts: object): Dispatcher; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/io/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@actions/io", 3 | "version": "1.1.3", 4 | "description": "Actions io lib", 5 | "keywords": [ 6 | "github", 7 | "actions", 8 | "io" 9 | ], 10 | "homepage": "https://github.com/actions/toolkit/tree/main/packages/io", 11 | "license": "MIT", 12 | "main": "lib/io.js", 13 | "types": "lib/io.d.ts", 14 | "directories": { 15 | "lib": "lib", 16 | "test": "__tests__" 17 | }, 18 | "files": [ 19 | "lib" 20 | ], 21 | "publishConfig": { 22 | "access": "public" 23 | }, 24 | "repository": { 25 | "type": "git", 26 | "url": "git+https://github.com/actions/toolkit.git", 27 | "directory": "packages/io" 28 | }, 29 | "scripts": { 30 | "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json", 31 | "test": "echo \"Error: run tests from root\" && exit 1", 32 | "tsc": "tsc" 33 | }, 34 | "bugs": { 35 | "url": "https://github.com/actions/toolkit/issues" 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/universal-user-agent/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "universal-user-agent", 3 | "description": "Get a user agent string in both browser and node", 4 | "version": "6.0.1", 5 | "license": "ISC", 6 | "files": [ 7 | "dist-*/", 8 | "bin/" 9 | ], 10 | "pika": true, 11 | "sideEffects": false, 12 | "keywords": [], 13 | "repository": "https://github.com/gr2m/universal-user-agent.git", 14 | "dependencies": {}, 15 | "devDependencies": { 16 | "@gr2m/pika-plugin-build-web": "^0.6.0-issue-84.1", 17 | "@pika/pack": "^0.5.0", 18 | "@pika/plugin-build-node": "^0.9.1", 19 | "@pika/plugin-ts-standard-pkg": "^0.9.1", 20 | "@types/jest": "^25.1.0", 21 | "jest": "^24.9.0", 22 | "prettier": "^2.0.0", 23 | "semantic-release": "^17.0.5", 24 | "ts-jest": "^26.0.0", 25 | "typescript": "^3.6.2" 26 | }, 27 | "source": "dist-src/index.js", 28 | "types": "dist-types/index.d.ts", 29 | "main": "dist-node/index.js", 30 | "module": "dist-web/index.js" 31 | } 32 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/request/dist-src/with-defaults.js: -------------------------------------------------------------------------------- 1 | import fetchWrapper from "./fetch-wrapper.js"; 2 | function withDefaults(oldEndpoint, newDefaults) { 3 | const endpoint = oldEndpoint.defaults(newDefaults); 4 | const newApi = function(route, parameters) { 5 | const endpointOptions = endpoint.merge(route, parameters); 6 | if (!endpointOptions.request || !endpointOptions.request.hook) { 7 | return fetchWrapper(endpoint.parse(endpointOptions)); 8 | } 9 | const request = (route2, parameters2) => { 10 | return fetchWrapper( 11 | endpoint.parse(endpoint.merge(route2, parameters2)) 12 | ); 13 | }; 14 | Object.assign(request, { 15 | endpoint, 16 | defaults: withDefaults.bind(null, endpoint) 17 | }); 18 | return endpointOptions.request.hook(request, endpointOptions); 19 | }; 20 | return Object.assign(newApi, { 21 | endpoint, 22 | defaults: withDefaults.bind(null, endpoint) 23 | }); 24 | } 25 | export { 26 | withDefaults as default 27 | }; 28 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/lib/global.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | // We include a version number for the Dispatcher API. In case of breaking changes, 4 | // this version number must be increased to avoid conflicts. 5 | const globalDispatcher = Symbol.for('undici.globalDispatcher.1') 6 | const { InvalidArgumentError } = require('./core/errors') 7 | const Agent = require('./agent') 8 | 9 | if (getGlobalDispatcher() === undefined) { 10 | setGlobalDispatcher(new Agent()) 11 | } 12 | 13 | function setGlobalDispatcher (agent) { 14 | if (!agent || typeof agent.dispatch !== 'function') { 15 | throw new InvalidArgumentError('Argument agent must implement Agent') 16 | } 17 | Object.defineProperty(globalThis, globalDispatcher, { 18 | value: agent, 19 | writable: true, 20 | enumerable: false, 21 | configurable: false 22 | }) 23 | } 24 | 25 | function getGlobalDispatcher () { 26 | return globalThis[globalDispatcher] 27 | } 28 | 29 | module.exports = { 30 | setGlobalDispatcher, 31 | getGlobalDispatcher 32 | } 33 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/github/lib/interfaces.d.ts: -------------------------------------------------------------------------------- 1 | export interface PayloadRepository { 2 | [key: string]: any; 3 | full_name?: string; 4 | name: string; 5 | owner: { 6 | [key: string]: any; 7 | login: string; 8 | name?: string; 9 | }; 10 | html_url?: string; 11 | } 12 | export interface WebhookPayload { 13 | [key: string]: any; 14 | repository?: PayloadRepository; 15 | issue?: { 16 | [key: string]: any; 17 | number: number; 18 | html_url?: string; 19 | body?: string; 20 | }; 21 | pull_request?: { 22 | [key: string]: any; 23 | number: number; 24 | html_url?: string; 25 | body?: string; 26 | }; 27 | sender?: { 28 | [key: string]: any; 29 | type: string; 30 | }; 31 | action?: string; 32 | installation?: { 33 | id: number; 34 | [key: string]: any; 35 | }; 36 | comment?: { 37 | id: number; 38 | [key: string]: any; 39 | }; 40 | } 41 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts: -------------------------------------------------------------------------------- 1 | import type { RequestHeaders } from "@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestHeaders"; 2 | import type { RequestMethod } from "@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestMethod"; 3 | import type { RequestParameters } from "@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestParameters"; 4 | import type { Url } from "@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Url"; 5 | /** 6 | * The `.endpoint()` method is guaranteed to set all keys defined by RequestParameters 7 | * as well as the method property. 8 | */ 9 | export type EndpointDefaults = RequestParameters & { 10 | baseUrl: Url; 11 | method: RequestMethod; 12 | url?: Url; 13 | headers: RequestHeaders & { 14 | accept: string; 15 | "user-agent": string; 16 | }; 17 | mediaType: { 18 | format: string; 19 | previews?: string[]; 20 | }; 21 | }; 22 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/wrappy/wrappy.js: -------------------------------------------------------------------------------- 1 | // Returns a wrapper function that returns a wrapped callback 2 | // The wrapper function should do some stuff, and return a 3 | // presumably different callback function. 4 | // This makes sure that own properties are retained, so that 5 | // decorations and such are not lost along the way. 6 | module.exports = wrappy 7 | function wrappy (fn, cb) { 8 | if (fn && cb) return wrappy(fn)(cb) 9 | 10 | if (typeof fn !== 'function') 11 | throw new TypeError('need wrapper function') 12 | 13 | Object.keys(fn).forEach(function (k) { 14 | wrapper[k] = fn[k] 15 | }) 16 | 17 | return wrapper 18 | 19 | function wrapper() { 20 | var args = new Array(arguments.length) 21 | for (var i = 0; i < args.length; i++) { 22 | args[i] = arguments[i] 23 | } 24 | var ret = fn.apply(this, args) 25 | var cb = args[args.length-1] 26 | if (typeof ret === 'function' && ret !== cb) { 27 | Object.keys(cb).forEach(function (k) { 28 | ret[k] = cb[k] 29 | }) 30 | } 31 | return ret 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts: -------------------------------------------------------------------------------- 1 | import type { Fetch } from "@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Fetch"; 2 | import type { Signal } from "@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Signal"; 3 | /** 4 | * Octokit-specific request options which are ignored for the actual request, but can be used by Octokit or plugins to manipulate how the request is sent or how a response is handled 5 | */ 6 | export type RequestRequestOptions = { 7 | /** 8 | * Custom replacement for built-in fetch method. Useful for testing or request hooks. 9 | */ 10 | fetch?: Fetch; 11 | /** 12 | * Use an `AbortController` instance to cancel a request. In node you can only cancel streamed requests. 13 | */ 14 | signal?: Signal; 15 | /** 16 | * If set to `false`, the response body will not be parsed and will be returned as a stream. 17 | */ 18 | parseSuccessResponseBody?: boolean; 19 | [option: string]: any; 20 | }; 21 | -------------------------------------------------------------------------------- /.github/workflows/08-developer-experience--01-externalize-logic.yaml: -------------------------------------------------------------------------------- 1 | name: Workflow Iteration (Externalize Logic) 2 | 3 | on: 4 | workflow_dispatch: 5 | 6 | jobs: 7 | # ❌ Avoid inline bash for anything except trivial commands 8 | say-hello-inline-bash: 9 | runs-on: ubuntu-24.04 10 | steps: 11 | - name: Echo Hello 12 | run: | 13 | echo "Hello from an inline bash script in a GitHub Action Workflow!" 14 | 15 | # ✅ Instead, move the logic outside of the workflow! 16 | say-hello-external-task: 17 | runs-on: ubuntu-24.04 18 | steps: 19 | - name: Checkout Code 20 | uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 # v5.0.0 21 | - name: Install Task 22 | uses: supplypike/setup-bin@8e3f88b4f143d9b5c3497f0fc12d45c83c123787 # v4.0.1 23 | with: 24 | uri: "https://github.com/go-task/task/releases/download/v3.44.1/task_linux_amd64.tar.gz" 25 | name: task 26 | version: v3.44.1 27 | - name: Echo Hello 28 | working-directory: ./08-developer-experience/workflows 29 | run: | 30 | task hello-world-task 31 | -------------------------------------------------------------------------------- /.github/workflows/03-core-features--06-passing-data.yaml: -------------------------------------------------------------------------------- 1 | name: Passing Variables Between jobs 2 | on: 3 | workflow_dispatch: 4 | 5 | jobs: 6 | producer: 7 | runs-on: ubuntu-24.04 8 | 9 | outputs: 10 | foo: ${{ steps.generate-foo.outputs.foo }} 11 | steps: 12 | - name: Generate and export foo 13 | id: generate-foo 14 | run: | 15 | foo=bar 16 | 17 | # 1) Step output (for job output) 18 | echo "foo=${foo}" >> "$GITHUB_OUTPUT" 19 | 20 | # 2) Job-scoped environment variable 21 | echo "FOO=${foo}" >> "$GITHUB_ENV" 22 | 23 | - name: Inspect values inside producer 24 | run: | 25 | echo "FOO (set via GITHUB_ENV): $FOO" 26 | echo "foo (step output): ${{ steps.generate-foo.outputs.foo }}" 27 | 28 | consumer: 29 | runs-on: ubuntu-24.04 30 | needs: producer 31 | steps: 32 | - name: Inspect values inside consumer (note FOO is unset) 33 | run: | 34 | echo "Value from producer: ${{ needs.producer.outputs.foo }}" 35 | echo "FOO in consumer: ${FOO:-}" 36 | -------------------------------------------------------------------------------- /.github/workflows/04-advanced-features--05-third-party-auth.yaml: -------------------------------------------------------------------------------- 1 | name: Third Party Auth 2 | on: 3 | workflow_dispatch: 4 | 5 | jobs: 6 | # ❌ PLEASE DO NOT USE THIS APPROACH! 7 | auth-to-aws-static: 8 | runs-on: ubuntu-24.04 9 | steps: 10 | - name: "Configure AWS Credentials using static key" 11 | uses: aws-actions/configure-aws-credentials@7474bc4690e29a8392af63c5b98e7449536d5c3a # v4.3.1 12 | with: 13 | aws-region: us-east-2 14 | aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} 15 | aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} 16 | 17 | # ✅ PLEASE USE THIS APPROACH INSTEAD! 18 | auth-to-aws-oidc: 19 | runs-on: ubuntu-24.04 20 | permissions: 21 | id-token: write # This is required for requesting the JWT for OIDC auth to AWS 22 | steps: 23 | - name: "Configure AWS Credentials - Action for GitHub Actions" 24 | uses: aws-actions/configure-aws-credentials@7474bc4690e29a8392af63c5b98e7449536d5c3a # v4.3.1 25 | with: 26 | aws-region: us-east-2 27 | role-to-assume: arn:aws:iam::917774925227:role/github-actions-role 28 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/openapi-types/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2020 Gregor Martynus 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts: -------------------------------------------------------------------------------- 1 | import type { Fetch } from "@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Fetch"; 2 | import type { Signal } from "@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Signal"; 3 | /** 4 | * Octokit-specific request options which are ignored for the actual request, but can be used by Octokit or plugins to manipulate how the request is sent or how a response is handled 5 | */ 6 | export type RequestRequestOptions = { 7 | /** 8 | * Custom replacement for built-in fetch method. Useful for testing or request hooks. 9 | */ 10 | fetch?: Fetch; 11 | /** 12 | * Use an `AbortController` instance to cancel a request. In node you can only cancel streamed requests. 13 | */ 14 | signal?: Signal; 15 | /** 16 | * If set to `false`, the response body will not be parsed and will be returned as a stream. 17 | */ 18 | parseSuccessResponseBody?: boolean; 19 | [option: string]: any; 20 | }; 21 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/lib/fetch/global.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | // In case of breaking changes, increase the version 4 | // number to avoid conflicts. 5 | const globalOrigin = Symbol.for('undici.globalOrigin.1') 6 | 7 | function getGlobalOrigin () { 8 | return globalThis[globalOrigin] 9 | } 10 | 11 | function setGlobalOrigin (newOrigin) { 12 | if (newOrigin === undefined) { 13 | Object.defineProperty(globalThis, globalOrigin, { 14 | value: undefined, 15 | writable: true, 16 | enumerable: false, 17 | configurable: false 18 | }) 19 | 20 | return 21 | } 22 | 23 | const parsedURL = new URL(newOrigin) 24 | 25 | if (parsedURL.protocol !== 'http:' && parsedURL.protocol !== 'https:') { 26 | throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`) 27 | } 28 | 29 | Object.defineProperty(globalThis, globalOrigin, { 30 | value: parsedURL, 31 | writable: true, 32 | enumerable: false, 33 | configurable: false 34 | }) 35 | } 36 | 37 | module.exports = { 38 | getGlobalOrigin, 39 | setGlobalOrigin 40 | } 41 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/io/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright 2019 GitHub 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/core/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright 2019 GitHub 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/exec/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright 2019 GitHub 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/github/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright 2019 GitHub 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts: -------------------------------------------------------------------------------- 1 | import type { RequestHeaders } from "@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestHeaders"; 2 | import type { RequestMethod } from "@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestMethod"; 3 | import type { RequestParameters } from "@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestParameters"; 4 | import type { Url } from "@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Url"; 5 | /** 6 | * The `.endpoint()` method is guaranteed to set all keys defined by RequestParameters 7 | * as well as the method property. 8 | */ 9 | export type EndpointDefaults = RequestParameters & { 10 | baseUrl: Url; 11 | method: RequestMethod; 12 | url?: Url; 13 | headers: RequestHeaders & { 14 | accept: string; 15 | "user-agent": string; 16 | }; 17 | mediaType: { 18 | format: string; 19 | previews?: string[]; 20 | }; 21 | }; 22 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/types/mock-pool.d.ts: -------------------------------------------------------------------------------- 1 | import Pool from './pool' 2 | import MockAgent from './mock-agent' 3 | import { Interceptable, MockInterceptor } from './mock-interceptor' 4 | import Dispatcher from './dispatcher' 5 | 6 | export default MockPool 7 | 8 | /** MockPool extends the Pool API and allows one to mock requests. */ 9 | declare class MockPool extends Pool implements Interceptable { 10 | constructor(origin: string, options: MockPool.Options); 11 | /** Intercepts any matching requests that use the same origin as this mock pool. */ 12 | intercept(options: MockInterceptor.Options): MockInterceptor; 13 | /** Dispatches a mocked request. */ 14 | dispatch(options: Dispatcher.DispatchOptions, handlers: Dispatcher.DispatchHandlers): boolean; 15 | /** Closes the mock pool and gracefully waits for enqueued requests to complete. */ 16 | close(): Promise; 17 | } 18 | 19 | declare namespace MockPool { 20 | /** MockPool options. */ 21 | export interface Options extends Pool.Options { 22 | /** The agent to associate this MockPool with. */ 23 | agent: MockAgent; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/exec/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@actions/exec", 3 | "version": "1.1.1", 4 | "description": "Actions exec lib", 5 | "keywords": [ 6 | "github", 7 | "actions", 8 | "exec" 9 | ], 10 | "homepage": "https://github.com/actions/toolkit/tree/main/packages/exec", 11 | "license": "MIT", 12 | "main": "lib/exec.js", 13 | "types": "lib/exec.d.ts", 14 | "directories": { 15 | "lib": "lib", 16 | "test": "__tests__" 17 | }, 18 | "files": [ 19 | "lib", 20 | "!.DS_Store" 21 | ], 22 | "publishConfig": { 23 | "access": "public" 24 | }, 25 | "repository": { 26 | "type": "git", 27 | "url": "git+https://github.com/actions/toolkit.git", 28 | "directory": "packages/exec" 29 | }, 30 | "scripts": { 31 | "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json", 32 | "test": "echo \"Error: run tests from root\" && exit 1", 33 | "tsc": "tsc" 34 | }, 35 | "bugs": { 36 | "url": "https://github.com/actions/toolkit/issues" 37 | }, 38 | "dependencies": { 39 | "@actions/io": "^1.0.1" 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2020 Gregor Martynus 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/universal-user-agent/README.md: -------------------------------------------------------------------------------- 1 | # universal-user-agent 2 | 3 | > Get a user agent string in both browser and node 4 | 5 | [![@latest](https://img.shields.io/npm/v/universal-user-agent.svg)](https://www.npmjs.com/package/universal-user-agent) 6 | [![Build Status](https://github.com/gr2m/universal-user-agent/workflows/Test/badge.svg)](https://github.com/gr2m/universal-user-agent/actions?query=workflow%3ATest+branch%3Amaster) 7 | [![Greenkeeper](https://badges.greenkeeper.io/gr2m/universal-user-agent.svg)](https://greenkeeper.io/) 8 | 9 | ```js 10 | const { getUserAgent } = require("universal-user-agent"); 11 | // or import { getUserAgent } from "universal-user-agent"; 12 | 13 | const userAgent = getUserAgent(); 14 | // userAgent will look like this 15 | // in browser: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:61.0) Gecko/20100101 Firefox/61.0" 16 | // in node: Node.js/v8.9.4 (macOS High Sierra; x64) 17 | ``` 18 | 19 | ## Credits 20 | 21 | The Node implementation was originally inspired by [default-user-agent](https://www.npmjs.com/package/default-user-agent). 22 | 23 | ## License 24 | 25 | [ISC](LICENSE.md) 26 | -------------------------------------------------------------------------------- /.github/workflows/04-advanced-features--06-matrix-and-conditionals.yaml: -------------------------------------------------------------------------------- 1 | name: Matrix and Conditionals 2 | 3 | on: 4 | workflow_dispatch: 5 | 6 | concurrency: 7 | group: ${{ github.workflow }}-${{ github.ref }} 8 | cancel-in-progress: true 9 | 10 | jobs: 11 | matrix-job: 12 | runs-on: ubuntu-24.04 13 | strategy: 14 | fail-fast: true 15 | matrix: 16 | number: [1, 2] 17 | letter: [a, b, c] 18 | exclude: 19 | - number: 1 20 | letter: c 21 | timeout-minutes: 5 22 | 23 | steps: 24 | # Step 1 – always runs 25 | - name: Echo number and letter 26 | run: | 27 | echo "Number: ${{ matrix.number }}" 28 | echo "Letter: ${{ matrix.letter }}" 29 | 30 | # Step 2 – run for every combo EXCEPT number=2 ∧ letter=c 31 | - name: Run everywhere except 2c 32 | if: ${{ ! (matrix.number == 2 && matrix.letter == 'c') }} 33 | run: echo "✔ This step runs for ${{ matrix.number }}${{ matrix.letter }}" 34 | 35 | sleep-job: 36 | runs-on: ubuntu-24.04 37 | steps: 38 | - name: Sleep (to give time to be cancelled) 39 | run: sleep 100 40 | timeout-minutes: 2 41 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/types/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License Copyright (c) 2019 Octokit contributors 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/once/once.js: -------------------------------------------------------------------------------- 1 | var wrappy = require('wrappy') 2 | module.exports = wrappy(once) 3 | module.exports.strict = wrappy(onceStrict) 4 | 5 | once.proto = once(function () { 6 | Object.defineProperty(Function.prototype, 'once', { 7 | value: function () { 8 | return once(this) 9 | }, 10 | configurable: true 11 | }) 12 | 13 | Object.defineProperty(Function.prototype, 'onceStrict', { 14 | value: function () { 15 | return onceStrict(this) 16 | }, 17 | configurable: true 18 | }) 19 | }) 20 | 21 | function once (fn) { 22 | var f = function () { 23 | if (f.called) return f.value 24 | f.called = true 25 | return f.value = fn.apply(this, arguments) 26 | } 27 | f.called = false 28 | return f 29 | } 30 | 31 | function onceStrict (fn) { 32 | var f = function () { 33 | if (f.called) 34 | throw new Error(f.onceError) 35 | f.called = true 36 | return f.value = fn.apply(this, arguments) 37 | } 38 | var name = fn.name || 'Function wrapped with `once`' 39 | f.onceError = name + " shouldn't be called more than once" 40 | f.called = false 41 | return f 42 | } 43 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/types/mock-client.d.ts: -------------------------------------------------------------------------------- 1 | import Client from './client' 2 | import Dispatcher from './dispatcher' 3 | import MockAgent from './mock-agent' 4 | import { MockInterceptor, Interceptable } from './mock-interceptor' 5 | 6 | export default MockClient 7 | 8 | /** MockClient extends the Client API and allows one to mock requests. */ 9 | declare class MockClient extends Client implements Interceptable { 10 | constructor(origin: string, options: MockClient.Options); 11 | /** Intercepts any matching requests that use the same origin as this mock client. */ 12 | intercept(options: MockInterceptor.Options): MockInterceptor; 13 | /** Dispatches a mocked request. */ 14 | dispatch(options: Dispatcher.DispatchOptions, handlers: Dispatcher.DispatchHandlers): boolean; 15 | /** Closes the mock client and gracefully waits for enqueued requests to complete. */ 16 | close(): Promise; 17 | } 18 | 19 | declare namespace MockClient { 20 | /** MockClient options. */ 21 | export interface Options extends Client.Options { 22 | /** The agent to associate this MockClient with. */ 23 | agent: MockAgent; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/openapi-types/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2020 Gregor Martynus 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License Copyright (c) 2019 Octokit contributors 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/request-error/dist-types/index.d.ts: -------------------------------------------------------------------------------- 1 | import type { RequestOptions, ResponseHeaders, OctokitResponse } from "@octokit/types"; 2 | import type { RequestErrorOptions } from "@octokit/request-error/dist-types/types"; 3 | /** 4 | * Error with extra properties to help with debugging 5 | */ 6 | export declare class RequestError extends Error { 7 | name: "HttpError"; 8 | /** 9 | * http status code 10 | */ 11 | status: number; 12 | /** 13 | * http status code 14 | * 15 | * @deprecated `error.code` is deprecated in favor of `error.status` 16 | */ 17 | code: number; 18 | /** 19 | * Request options that lead to the error. 20 | */ 21 | request: RequestOptions; 22 | /** 23 | * error response headers 24 | * 25 | * @deprecated `error.headers` is deprecated in favor of `error.response.headers` 26 | */ 27 | headers: ResponseHeaders; 28 | /** 29 | * Response object if a response was received 30 | */ 31 | response?: OctokitResponse; 32 | constructor(message: string, statusCode: number, options: RequestErrorOptions); 33 | } 34 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/lib/websocket/constants.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | // This is a Globally Unique Identifier unique used 4 | // to validate that the endpoint accepts websocket 5 | // connections. 6 | // See https://www.rfc-editor.org/rfc/rfc6455.html#section-1.3 7 | const uid = '258EAFA5-E914-47DA-95CA-C5AB0DC85B11' 8 | 9 | /** @type {PropertyDescriptor} */ 10 | const staticPropertyDescriptors = { 11 | enumerable: true, 12 | writable: false, 13 | configurable: false 14 | } 15 | 16 | const states = { 17 | CONNECTING: 0, 18 | OPEN: 1, 19 | CLOSING: 2, 20 | CLOSED: 3 21 | } 22 | 23 | const opcodes = { 24 | CONTINUATION: 0x0, 25 | TEXT: 0x1, 26 | BINARY: 0x2, 27 | CLOSE: 0x8, 28 | PING: 0x9, 29 | PONG: 0xA 30 | } 31 | 32 | const maxUnsigned16Bit = 2 ** 16 - 1 // 65535 33 | 34 | const parserStates = { 35 | INFO: 0, 36 | PAYLOADLENGTH_16: 2, 37 | PAYLOADLENGTH_64: 3, 38 | READ_DATA: 4 39 | } 40 | 41 | const emptyBuffer = Buffer.allocUnsafe(0) 42 | 43 | module.exports = { 44 | uid, 45 | staticPropertyDescriptors, 46 | states, 47 | opcodes, 48 | maxUnsigned16Bit, 49 | parserStates, 50 | emptyBuffer 51 | } 52 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/types/pool.d.ts: -------------------------------------------------------------------------------- 1 | import Client from './client' 2 | import TPoolStats from './pool-stats' 3 | import { URL } from 'url' 4 | import Dispatcher from "./dispatcher"; 5 | 6 | export default Pool 7 | 8 | declare class Pool extends Dispatcher { 9 | constructor(url: string | URL, options?: Pool.Options) 10 | /** `true` after `pool.close()` has been called. */ 11 | closed: boolean; 12 | /** `true` after `pool.destroyed()` has been called or `pool.close()` has been called and the pool shutdown has completed. */ 13 | destroyed: boolean; 14 | /** Aggregate stats for a Pool. */ 15 | readonly stats: TPoolStats; 16 | } 17 | 18 | declare namespace Pool { 19 | export type PoolStats = TPoolStats; 20 | export interface Options extends Client.Options { 21 | /** Default: `(origin, opts) => new Client(origin, opts)`. */ 22 | factory?(origin: URL, opts: object): Dispatcher; 23 | /** The max number of clients to create. `null` if no limit. Default `null`. */ 24 | connections?: number | null; 25 | 26 | interceptors?: { Pool?: readonly Dispatcher.DispatchInterceptor[] } & Client.Options["interceptors"] 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@fastify/busboy/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright Brian White. All rights reserved. 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to 5 | deal in the Software without restriction, including without limitation the 6 | rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 7 | sell copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 18 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 19 | IN THE SOFTWARE. -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-rest-endpoint-methods/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License Copyright (c) 2019 Octokit contributors 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@fastify/busboy/deps/dicer/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright Brian White. All rights reserved. 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to 5 | deal in the Software without restriction, including without limitation the 6 | rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 7 | sell copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 18 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 19 | IN THE SOFTWARE. -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License Copyright (c) 2019 Octokit contributors 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/tunnel/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2012 Koichi Kobayashi 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/lib/fetch/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Ethan Arrowood 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/core/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (c) 2019 Octokit contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License Copyright (c) 2019 Octokit contributors 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/endpoint/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (c) 2018 Octokit contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/graphql/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (c) 2018 Octokit contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/request/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (c) 2018 Octokit contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) Matteo Collina and Undici contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/http-client/lib/auth.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import * as http from 'http'; 3 | import * as ifm from './interfaces'; 4 | import { HttpClientResponse } from './index'; 5 | export declare class BasicCredentialHandler implements ifm.RequestHandler { 6 | username: string; 7 | password: string; 8 | constructor(username: string, password: string); 9 | prepareRequest(options: http.RequestOptions): void; 10 | canHandleAuthentication(): boolean; 11 | handleAuthentication(): Promise; 12 | } 13 | export declare class BearerCredentialHandler implements ifm.RequestHandler { 14 | token: string; 15 | constructor(token: string); 16 | prepareRequest(options: http.RequestOptions): void; 17 | canHandleAuthentication(): boolean; 18 | handleAuthentication(): Promise; 19 | } 20 | export declare class PersonalAccessTokenCredentialHandler implements ifm.RequestHandler { 21 | token: string; 22 | constructor(token: string); 23 | prepareRequest(options: http.RequestOptions): void; 24 | canHandleAuthentication(): boolean; 25 | handleAuthentication(): Promise; 26 | } 27 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/auth-token/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (c) 2019 Octokit contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/request-error/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (c) 2019 Octokit contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /.github/workflows/03-core-features--05-environment-variables.yaml: -------------------------------------------------------------------------------- 1 | name: Environment Variables 2 | on: 3 | workflow_dispatch: 4 | env: 5 | WORKFLOW_VAR: I_AM_WORKFLOW_SCOPED 6 | 7 | jobs: 8 | job-1: 9 | runs-on: ubuntu-24.04 10 | env: 11 | JOB_VAR: I_AM_JOB_1_SCOPED 12 | steps: 13 | - name: Inspect scopes job 1 step 1 14 | env: 15 | STEP_VAR: I_AM_STEP_SCOPED 16 | run: | 17 | echo "WORKFLOW_VAR: $WORKFLOW_VAR" # visible 18 | echo "JOB_VAR: $JOB_VAR" # visible 19 | echo "STEP_VAR: $STEP_VAR" # visible only here 20 | 21 | - name: Inspect scopes job 1 step 2 22 | run: | 23 | echo "WORKFLOW_VAR: $WORKFLOW_VAR" # visible 24 | echo "JOB_VAR: $JOB_VAR" # visible 25 | echo "STEP_VAR: ${STEP_VAR:-}" # not set here 26 | 27 | job-2: 28 | runs-on: ubuntu-24.04 29 | steps: 30 | - name: Inspect scopes job 2 step 2 31 | run: | 32 | echo "WORKFLOW_VAR: $WORKFLOW_VAR" # still visible 33 | echo "JOB_VAR: ${FOO:-}" # not set here 34 | echo "STEP_VAR: ${STEP_VAR:-}" # not set here 35 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/github/lib/internal/utils.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/internal/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,iEAAkD;AAElD,mCAAwC;AAExC,SAAgB,aAAa,CAC3B,KAAa,EACb,OAAuB;IAEvB,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;KAC5D;SAAM,IAAI,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE;QAChC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;KAC5E;IAED,OAAO,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAA;AAC3E,CAAC;AAXD,sCAWC;AAED,SAAgB,aAAa,CAAC,cAAsB;IAClD,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,UAAU,EAAE,CAAA;IACtC,OAAO,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;AACpC,CAAC;AAHD,sCAGC;AAED,SAAgB,uBAAuB,CACrC,cAAsB;IAEtB,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,UAAU,EAAE,CAAA;IACtC,OAAO,EAAE,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAA;AAC9C,CAAC;AALD,0DAKC;AAED,SAAgB,aAAa,CAAC,cAAc;IAC1C,MAAM,cAAc,GAAG,uBAAuB,CAAC,cAAc,CAAC,CAAA;IAC9D,MAAM,UAAU,GAAiB,CAAO,GAAG,EAAE,IAAI,EAAE,EAAE;QACnD,OAAO,IAAA,cAAK,EAAC,GAAG,kCACX,IAAI,KACP,UAAU,EAAE,cAAc,IAC1B,CAAA;IACJ,CAAC,CAAA,CAAA;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AATD,sCASC;AAED,SAAgB,aAAa;IAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,wBAAwB,CAAA;AAClE,CAAC;AAFD,sCAEC"} -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/undici/types/connector.d.ts: -------------------------------------------------------------------------------- 1 | import { TLSSocket, ConnectionOptions } from 'tls' 2 | import { IpcNetConnectOpts, Socket, TcpNetConnectOpts } from 'net' 3 | 4 | export default buildConnector 5 | declare function buildConnector (options?: buildConnector.BuildOptions): buildConnector.connector 6 | 7 | declare namespace buildConnector { 8 | export type BuildOptions = (ConnectionOptions | TcpNetConnectOpts | IpcNetConnectOpts) & { 9 | allowH2?: boolean; 10 | maxCachedSessions?: number | null; 11 | socketPath?: string | null; 12 | timeout?: number | null; 13 | port?: number; 14 | keepAlive?: boolean | null; 15 | keepAliveInitialDelay?: number | null; 16 | } 17 | 18 | export interface Options { 19 | hostname: string 20 | host?: string 21 | protocol: string 22 | port: string 23 | servername?: string 24 | localAddress?: string | null 25 | httpSocket?: Socket 26 | } 27 | 28 | export type Callback = (...args: CallbackArgs) => void 29 | type CallbackArgs = [null, Socket | TLSSocket] | [Error, null] 30 | 31 | export interface connector { 32 | (options: buildConnector.Options, callback: buildConnector.Callback): void 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@octokit/types/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@octokit/types", 3 | "version": "13.10.0", 4 | "publishConfig": { 5 | "access": "public", 6 | "provenance": true 7 | }, 8 | "description": "Shared TypeScript definitions for Octokit projects", 9 | "dependencies": { 10 | "@octokit/openapi-types": "^24.2.0" 11 | }, 12 | "repository": "github:octokit/types.ts", 13 | "keywords": [ 14 | "github", 15 | "api", 16 | "sdk", 17 | "toolkit", 18 | "typescript" 19 | ], 20 | "author": "Gregor Martynus (https://twitter.com/gr2m)", 21 | "license": "MIT", 22 | "devDependencies": { 23 | "@octokit/tsconfig": "^4.0.0", 24 | "github-openapi-graphql-query": "^4.5.0", 25 | "handlebars": "^4.7.6", 26 | "npm-run-all2": "^7.0.0", 27 | "prettier": "^3.0.0", 28 | "semantic-release": "^24.0.0", 29 | "semantic-release-plugin-update-version-in-files": "^2.0.0", 30 | "sort-keys": "^5.0.0", 31 | "typedoc": "^0.26.0", 32 | "typescript": "^5.0.0" 33 | }, 34 | "octokit": { 35 | "openapi-version": "18.2.0" 36 | }, 37 | "files": [ 38 | "dist-types/**" 39 | ], 40 | "types": "dist-types/index.d.ts", 41 | "sideEffects": false 42 | } 43 | -------------------------------------------------------------------------------- /.github/workflows/06-authoring-actions--01-composite-action.yaml: -------------------------------------------------------------------------------- 1 | name: Composite Action Demo 2 | on: 3 | workflow_dispatch: 4 | 5 | jobs: 6 | hello-world-1: 7 | runs-on: ubuntu-24.04 8 | name: One usage of the composite action 9 | steps: 10 | - uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 # v5.0.0 11 | - id: composite-action-instance 12 | uses: ./06-authoring-actions/composite-action 13 | with: 14 | who-to-greet: "from composite action in hello-world-1!" 15 | - env: 16 | RANDOM_NUMBER: ${{ steps.composite-action-instance.outputs.random-number }} 17 | run: echo random-number "$RANDOM_NUMBER" 18 | shell: bash 19 | hello-world-2: 20 | runs-on: ubuntu-24.04 21 | name: Another usage of the composite action 22 | steps: 23 | - uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 # v5.0.0 24 | - id: composite-action-instance 25 | uses: ./06-authoring-actions/composite-action 26 | with: 27 | who-to-greet: "from composite action in hello-world-2!" 28 | - env: 29 | RANDOM_NUMBER: ${{ steps.composite-action-instance.outputs.random-number }} 30 | run: echo random-number "$RANDOM_NUMBER" 31 | shell: bash 32 | -------------------------------------------------------------------------------- /06-authoring-actions/javascript-actions/javascript-action-no-build/node_modules/@actions/core/lib/file-command.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"file-command.js","sourceRoot":"","sources":["../src/file-command.ts"],"names":[],"mappings":";AAAA,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;AAEvC,mCAAmC;AACnC,uDAAuD;AAEvD,+CAAgC;AAChC,uCAAwB;AACxB,uCAAwB;AACxB,mCAAsC;AAEtC,SAAgB,gBAAgB,CAAC,OAAe,EAAE,OAAY;IAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,CAAA;IACjD,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CACb,wDAAwD,OAAO,EAAE,CAClE,CAAA;KACF;IACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAA;KACrD;IAED,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,IAAA,sBAAc,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;QACjE,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAA;AACJ,CAAC;AAdD,4CAcC;AAED,SAAgB,sBAAsB,CAAC,GAAW,EAAE,KAAU;IAC5D,MAAM,SAAS,GAAG,gBAAgB,MAAM,CAAC,UAAU,EAAE,EAAE,CAAA;IACvD,MAAM,cAAc,GAAG,IAAA,sBAAc,EAAC,KAAK,CAAC,CAAA;IAE5C,4EAA4E;IAC5E,6EAA6E;IAC7E,iBAAiB;IACjB,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QAC3B,MAAM,IAAI,KAAK,CACb,4DAA4D,SAAS,GAAG,CACzE,CAAA;KACF;IAED,IAAI,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CACb,6DAA6D,SAAS,GAAG,CAC1E,CAAA;KACF;IAED,OAAO,GAAG,GAAG,KAAK,SAAS,GAAG,EAAE,CAAC,GAAG,GAAG,cAAc,GAAG,EAAE,CAAC,GAAG,GAAG,SAAS,EAAE,CAAA;AAC9E,CAAC;AApBD,wDAoBC"} --------------------------------------------------------------------------------