├── .eslintignore ├── .eslintrc.js ├── .gitattributes ├── .github ├── dependabot.yml └── workflows │ ├── pre-release.yml │ ├── tagged-release.yml │ └── tests.yml ├── .gitignore ├── .nvmrc ├── .prettierignore ├── LICENSE ├── README.md ├── __mocks__ ├── @actions │ └── core.js └── aws-sdk │ └── clients │ └── ssm.js ├── babel.config.js ├── commitlint.config.js ├── jest.config.js ├── jest.setup.js ├── lerna.json ├── package.json ├── packages ├── automatic-releases │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .prettierignore │ ├── README.md │ ├── __tests__ │ │ ├── assets │ │ │ ├── LICENSE │ │ │ └── test.jar │ │ ├── automaticReleases-smoke.test.ts │ │ ├── automaticReleases.test.ts │ │ ├── main.test.ts │ │ ├── payloads │ │ │ ├── compare-commits.json │ │ │ ├── git-push.json │ │ │ ├── parsed-commits-breaking-changes-result.txt │ │ │ ├── parsed-commits-breaking-changes.json │ │ │ ├── parsed-commits-multiple-prs-result.txt │ │ │ ├── parsed-commits-multiple-prs.json │ │ │ ├── parsed-commits-multiple-result.txt │ │ │ ├── parsed-commits-multiple.json │ │ │ ├── parsed-commits-non-conforming-result.txt │ │ │ ├── parsed-commits-non-conforming.json │ │ │ ├── parsed-commits-scoped-result.txt │ │ │ ├── parsed-commits-scoped.json │ │ │ ├── parsed-commits-single-result.txt │ │ │ └── parsed-commits-single.json │ │ ├── taggedReleases-smoke.test.ts │ │ ├── taggedReleases.test.ts │ │ ├── utils.test.ts │ │ └── utils │ │ │ ├── mockNewReleaseTag.ts │ │ │ ├── mockNewTaggedRelease.ts │ │ │ ├── mockUpdateExistingTag.ts │ │ │ └── skipSmoke.ts │ ├── action.yml │ ├── package.json │ ├── prettier.config.js │ ├── src │ │ ├── index.ts │ │ ├── main.ts │ │ ├── uploadReleaseArtifacts.ts │ │ └── utils.ts │ ├── tsconfig.eslint.json │ ├── tsconfig.json │ └── webpack.config.js ├── aws-ssm-secrets │ ├── .eslintrc.js │ ├── .prettierrc.js │ ├── README.md │ ├── __tests__ │ │ └── main.test.ts │ ├── action.yml │ ├── package.json │ ├── src │ │ ├── index.ts │ │ └── main.ts │ ├── tsconfig.json │ └── webpack.config.js └── keybase-notifications │ ├── .env-sample.ini │ ├── .eslintrc.js │ ├── .prettierrc.js │ ├── README.md │ ├── __tests__ │ ├── main-smoke.test.ts │ ├── main.test.ts │ ├── payloads │ │ └── force-push.json │ └── utils │ │ └── mockSuccessBuildMsg.ts │ ├── action.yml │ ├── images │ └── keybase-gh-notification-example.png │ ├── package.json │ ├── src │ ├── index.ts │ ├── main.ts │ └── utils.ts │ ├── tsconfig.json │ └── webpack.config.js ├── prettier.config.js ├── scripts └── mirror-actions.sh ├── tsconfig.eslint.json ├── tsconfig.json └── yarn.lock /.eslintignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/.eslintignore -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/.eslintrc.js -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/.gitattributes -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/pre-release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/.github/workflows/pre-release.yml -------------------------------------------------------------------------------- /.github/workflows/tagged-release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/.github/workflows/tagged-release.yml -------------------------------------------------------------------------------- /.github/workflows/tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/.github/workflows/tests.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | dist/ 2 | node_modules 3 | .env.ini 4 | .idea -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | lts/dubnium 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/.prettierignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/README.md -------------------------------------------------------------------------------- /__mocks__/@actions/core.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/__mocks__/@actions/core.js -------------------------------------------------------------------------------- /__mocks__/aws-sdk/clients/ssm.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/__mocks__/aws-sdk/clients/ssm.js -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/babel.config.js -------------------------------------------------------------------------------- /commitlint.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/commitlint.config.js -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/jest.config.js -------------------------------------------------------------------------------- /jest.setup.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/jest.setup.js -------------------------------------------------------------------------------- /lerna.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/lerna.json -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/package.json -------------------------------------------------------------------------------- /packages/automatic-releases/.eslintignore: -------------------------------------------------------------------------------- 1 | dist/ 2 | -------------------------------------------------------------------------------- /packages/automatic-releases/.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/.eslintrc.js -------------------------------------------------------------------------------- /packages/automatic-releases/.prettierignore: -------------------------------------------------------------------------------- 1 | dist/ 2 | -------------------------------------------------------------------------------- /packages/automatic-releases/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/README.md -------------------------------------------------------------------------------- /packages/automatic-releases/__tests__/assets/LICENSE: -------------------------------------------------------------------------------- 1 | this should not be overridden -------------------------------------------------------------------------------- /packages/automatic-releases/__tests__/assets/test.jar: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/automatic-releases/__tests__/automaticReleases-smoke.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/__tests__/automaticReleases-smoke.test.ts -------------------------------------------------------------------------------- /packages/automatic-releases/__tests__/automaticReleases.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/__tests__/automaticReleases.test.ts -------------------------------------------------------------------------------- /packages/automatic-releases/__tests__/main.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/__tests__/main.test.ts -------------------------------------------------------------------------------- /packages/automatic-releases/__tests__/payloads/compare-commits.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/__tests__/payloads/compare-commits.json -------------------------------------------------------------------------------- /packages/automatic-releases/__tests__/payloads/git-push.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/__tests__/payloads/git-push.json -------------------------------------------------------------------------------- /packages/automatic-releases/__tests__/payloads/parsed-commits-breaking-changes-result.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/__tests__/payloads/parsed-commits-breaking-changes-result.txt -------------------------------------------------------------------------------- /packages/automatic-releases/__tests__/payloads/parsed-commits-breaking-changes.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/__tests__/payloads/parsed-commits-breaking-changes.json -------------------------------------------------------------------------------- /packages/automatic-releases/__tests__/payloads/parsed-commits-multiple-prs-result.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/__tests__/payloads/parsed-commits-multiple-prs-result.txt -------------------------------------------------------------------------------- /packages/automatic-releases/__tests__/payloads/parsed-commits-multiple-prs.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/__tests__/payloads/parsed-commits-multiple-prs.json -------------------------------------------------------------------------------- /packages/automatic-releases/__tests__/payloads/parsed-commits-multiple-result.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/__tests__/payloads/parsed-commits-multiple-result.txt -------------------------------------------------------------------------------- /packages/automatic-releases/__tests__/payloads/parsed-commits-multiple.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/__tests__/payloads/parsed-commits-multiple.json -------------------------------------------------------------------------------- /packages/automatic-releases/__tests__/payloads/parsed-commits-non-conforming-result.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/__tests__/payloads/parsed-commits-non-conforming-result.txt -------------------------------------------------------------------------------- /packages/automatic-releases/__tests__/payloads/parsed-commits-non-conforming.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/__tests__/payloads/parsed-commits-non-conforming.json -------------------------------------------------------------------------------- /packages/automatic-releases/__tests__/payloads/parsed-commits-scoped-result.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/__tests__/payloads/parsed-commits-scoped-result.txt -------------------------------------------------------------------------------- /packages/automatic-releases/__tests__/payloads/parsed-commits-scoped.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/__tests__/payloads/parsed-commits-scoped.json -------------------------------------------------------------------------------- /packages/automatic-releases/__tests__/payloads/parsed-commits-single-result.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/__tests__/payloads/parsed-commits-single-result.txt -------------------------------------------------------------------------------- /packages/automatic-releases/__tests__/payloads/parsed-commits-single.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/__tests__/payloads/parsed-commits-single.json -------------------------------------------------------------------------------- /packages/automatic-releases/__tests__/taggedReleases-smoke.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/__tests__/taggedReleases-smoke.test.ts -------------------------------------------------------------------------------- /packages/automatic-releases/__tests__/taggedReleases.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/__tests__/taggedReleases.test.ts -------------------------------------------------------------------------------- /packages/automatic-releases/__tests__/utils.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/__tests__/utils.test.ts -------------------------------------------------------------------------------- /packages/automatic-releases/__tests__/utils/mockNewReleaseTag.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/__tests__/utils/mockNewReleaseTag.ts -------------------------------------------------------------------------------- /packages/automatic-releases/__tests__/utils/mockNewTaggedRelease.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/__tests__/utils/mockNewTaggedRelease.ts -------------------------------------------------------------------------------- /packages/automatic-releases/__tests__/utils/mockUpdateExistingTag.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/__tests__/utils/mockUpdateExistingTag.ts -------------------------------------------------------------------------------- /packages/automatic-releases/__tests__/utils/skipSmoke.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/__tests__/utils/skipSmoke.ts -------------------------------------------------------------------------------- /packages/automatic-releases/action.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/action.yml -------------------------------------------------------------------------------- /packages/automatic-releases/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/package.json -------------------------------------------------------------------------------- /packages/automatic-releases/prettier.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | ...require('../../prettier.config.js'), 3 | }; 4 | -------------------------------------------------------------------------------- /packages/automatic-releases/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/src/index.ts -------------------------------------------------------------------------------- /packages/automatic-releases/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/src/main.ts -------------------------------------------------------------------------------- /packages/automatic-releases/src/uploadReleaseArtifacts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/src/uploadReleaseArtifacts.ts -------------------------------------------------------------------------------- /packages/automatic-releases/src/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/src/utils.ts -------------------------------------------------------------------------------- /packages/automatic-releases/tsconfig.eslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/tsconfig.eslint.json -------------------------------------------------------------------------------- /packages/automatic-releases/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/tsconfig.json -------------------------------------------------------------------------------- /packages/automatic-releases/webpack.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/automatic-releases/webpack.config.js -------------------------------------------------------------------------------- /packages/aws-ssm-secrets/.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/aws-ssm-secrets/.eslintrc.js -------------------------------------------------------------------------------- /packages/aws-ssm-secrets/.prettierrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/aws-ssm-secrets/.prettierrc.js -------------------------------------------------------------------------------- /packages/aws-ssm-secrets/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/aws-ssm-secrets/README.md -------------------------------------------------------------------------------- /packages/aws-ssm-secrets/__tests__/main.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/aws-ssm-secrets/__tests__/main.test.ts -------------------------------------------------------------------------------- /packages/aws-ssm-secrets/action.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/aws-ssm-secrets/action.yml -------------------------------------------------------------------------------- /packages/aws-ssm-secrets/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/aws-ssm-secrets/package.json -------------------------------------------------------------------------------- /packages/aws-ssm-secrets/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/aws-ssm-secrets/src/index.ts -------------------------------------------------------------------------------- /packages/aws-ssm-secrets/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/aws-ssm-secrets/src/main.ts -------------------------------------------------------------------------------- /packages/aws-ssm-secrets/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/aws-ssm-secrets/tsconfig.json -------------------------------------------------------------------------------- /packages/aws-ssm-secrets/webpack.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/aws-ssm-secrets/webpack.config.js -------------------------------------------------------------------------------- /packages/keybase-notifications/.env-sample.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/keybase-notifications/.env-sample.ini -------------------------------------------------------------------------------- /packages/keybase-notifications/.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/keybase-notifications/.eslintrc.js -------------------------------------------------------------------------------- /packages/keybase-notifications/.prettierrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/keybase-notifications/.prettierrc.js -------------------------------------------------------------------------------- /packages/keybase-notifications/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/keybase-notifications/README.md -------------------------------------------------------------------------------- /packages/keybase-notifications/__tests__/main-smoke.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/keybase-notifications/__tests__/main-smoke.test.ts -------------------------------------------------------------------------------- /packages/keybase-notifications/__tests__/main.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/keybase-notifications/__tests__/main.test.ts -------------------------------------------------------------------------------- /packages/keybase-notifications/__tests__/payloads/force-push.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/keybase-notifications/__tests__/payloads/force-push.json -------------------------------------------------------------------------------- /packages/keybase-notifications/__tests__/utils/mockSuccessBuildMsg.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/keybase-notifications/__tests__/utils/mockSuccessBuildMsg.ts -------------------------------------------------------------------------------- /packages/keybase-notifications/action.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/keybase-notifications/action.yml -------------------------------------------------------------------------------- /packages/keybase-notifications/images/keybase-gh-notification-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/keybase-notifications/images/keybase-gh-notification-example.png -------------------------------------------------------------------------------- /packages/keybase-notifications/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/keybase-notifications/package.json -------------------------------------------------------------------------------- /packages/keybase-notifications/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/keybase-notifications/src/index.ts -------------------------------------------------------------------------------- /packages/keybase-notifications/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/keybase-notifications/src/main.ts -------------------------------------------------------------------------------- /packages/keybase-notifications/src/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/keybase-notifications/src/utils.ts -------------------------------------------------------------------------------- /packages/keybase-notifications/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/keybase-notifications/tsconfig.json -------------------------------------------------------------------------------- /packages/keybase-notifications/webpack.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/packages/keybase-notifications/webpack.config.js -------------------------------------------------------------------------------- /prettier.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/prettier.config.js -------------------------------------------------------------------------------- /scripts/mirror-actions.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/scripts/mirror-actions.sh -------------------------------------------------------------------------------- /tsconfig.eslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/tsconfig.eslint.json -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/tsconfig.json -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marvinpinto/actions/HEAD/yarn.lock --------------------------------------------------------------------------------