225 Commits

Author SHA1 Message Date
Alan Agius
4b0223b64e build: automate @angular/cli schema.json generation
With this change we automate the generation of `@angular/cli/lib/config/schema.json`. While on paper we could use quicktype for this. Quicktype doesn't handle `patternProperties` and `oneOf` that well.

How does this works?
Relative `$ref` will be resolved and inlined as part of the root schema definitions.

Example
```json
"@schematics/angular:enum": {
    "$ref": "../../../../schematics/angular/enum/schema.json"
},
```

Will be parsed and transformed to
```json
"@schematics/angular:enum": {
  "$ref": "#/definitions/SchematicsAngularEnumSchema"
},
"definitions: {
  "SchematicsAngularEnumSchema": {
    "title": "Angular Enum Options Schema",
    "type": "object",
    "description": "Generates a new, generic enum definition for the given or default project.",
    "properties": {...}
   }
}
```
2021-03-11 21:51:37 +01:00
Charles Lyding
c9868325a2 build: exclude workspace json test files from core package 2021-02-18 13:01:31 +01:00
Renovate Bot
e2d6df29e7 build: update webpack-dev-middleware to version 4.1.0 2021-02-15 14:46:21 -06:00
Alan Agius
ab84fc56b3 ci: remove validate-do-not-submit check
This uses  `git merge-base --fork-point master` which currently is not yielding a SHA on the patch branch. In some cases merge-base will not working as expected when base is ahead. See https://public-inbox.org/git/xmqq375okvxy.fsf@gitster.mtv.corp.google.com/T/#r3830f032d76f39b82d0ffe7f8bd77351cf634d29

This validation checks if `DO_NOT_SUBMIT` string literal has been added using `git diff`, when present validation will fail.

This check is unneeded as we do not use the `DO_NOT_SUBMIT` pattern, as we typically use `wip!` commit message types.
2021-02-03 12:18:26 -05:00
Alan Agius
1c48a24e92 docs: fix tests with Bazel link 2021-01-28 09:35:50 +01:00
Alan Agius
b3ed8aa4ad build: update revert pattern in changelog generator
This change will handle github reverts such as https://github.com/angular/angular-cli/pull/19736
2021-01-08 20:46:24 +01:00
Joey Perrott
c6e7da1b64 ci: update remaining references to old pr targeting system
Completes the migration to use the new unified target label system, updating
dependabot, renovate and angular-robot to expect the new labels.
2020-12-11 13:53:23 +00:00
Alan Agius
f0470f802e build: use ansi-colors instead of chalk in release checks
`chalk` is not a dev dependency in this repo. We use `ansi-colors` instead.
2020-12-02 08:30:37 +01:00
Joey Perrott
44a9bacfec build: update release process to reflect including updates to package.json
Now included in the release process is updating the root package.json version.
2020-12-01 08:03:52 +01:00
Alan Agius
db5c7776ac test(@angular-devkit/core): remove unused benchmark tests 2020-10-07 10:20:54 -04:00
Charles Lyding
df49fd6ad8 build: remove existing commit message validation
The shared dev-infra toolset is now used to perform commit message validation.
2020-10-05 14:11:17 -04:00
Charles Lyding
bcbfc9ca68 ci: set up commit message conformance rules using ng-dev 2020-10-05 14:11:17 -04:00
Charles Lyding
243ca5a134 test: use tslint directly to lint repository 2020-10-03 14:44:20 -04:00
Alan Agius
016700ba76 docs: fix incorrect number of test suites 2020-09-30 10:30:29 +02:00
Alan Agius
622d08447d refactor: use ansi-colors instead of removed terminal utils 2020-09-10 20:19:33 +02:00
Alan Agius
86d4f2c45a build: remove public docs script
We no longer publish docs to github wiki, therefore this script is now redundant.
2020-09-08 19:47:59 +02:00
Jefiozie
b2f0f074bf docs: update testing chapter with general test commands
Closes: #18710
2020-09-08 11:00:01 +02:00
Charles Lyding
f95e597a44 build: initialize benchmark script properties before use 2020-08-10 09:43:38 +01:00
Alan Agius
875e8b7066 refactor: rename licensesWhitelist to allowedLicenses 2020-08-05 08:18:24 -04:00
Alan Agius
1fb8853bf0 docs: add missing period in contributing guide 2020-08-05 08:18:24 -04:00
Charles Lyding
4f4733ee34 ci: prevent validation failure of non-fork PRs 2020-07-25 09:18:43 +02:00
Alan Agius
05588fcee1 refactor: clean up unused code and imports 2020-07-24 08:01:52 +02:00
Charles Lyding
c75ae25025 ci: use CircleCI pipeline SHA variables for commit validation 2020-07-23 22:41:00 +02:00
Doug Parker
6e8d4509a8 ci: require --tag flag for release and validate it
`--tag` now must be explicitly specified rather than defaulting to `latest`. It is also validated to be one of the expected set of tags. There is a new `--tagCheck false` flag that will skip this in order to handle one-off custom tags if necessary in the future.

Apparently NPM requires that all releases have tags (defaulting to `latest` if not explicitly specified), so there is no way to choose **not** to push a new tag. That means that you can't push `10.0.x` and then push `9.0.x` without either using `v9-lts` or clobbering `latest`. The `--tag` requirement should hopefully enforce this restriction to avoid a potential release footgun.
2020-07-23 10:45:25 +02:00
Doug Parker
b699a1e850 ci: parse boolean flags from string inputs
Flag arguments provided by minimist are always strings. Both `--branchCheck` and `--versionCheck` failed to take this into account and were incorrectly typed as a result. Now boolean flags are parsed into actual boolean types which can be used more intuitively.
2020-07-23 10:45:25 +02:00
Doug Parker
70c82a11ae ci: add --registry flag to dist-tag command
This includes a new `--registry` flag to the `dist-tag` command and defaults it to Wombat. This way NPM commands will explicitly use the correct registry.
2020-07-23 10:45:25 +02:00
Doug Parker
07802c9158 ci: update dist-tag to make flags optional.
We can't guarantee that the user provided these options at compile time, so all options should include `undefined` in their types. This makes the type system a little smarter and hopefully prevent future mistakes. Fortunately we were already doing the right thing, this will make sure we continue to do so in the future.

I opted to use `Partial<DistTagArgs>` so that all future flags would be implicitly forced to be optional. Otherwise, we may forget to make them optional and potentially introduce a bug.
2020-07-23 10:45:25 +02:00
Doug Parker
49ed081589 refactor: move Wombat registry to reusable constant
Pure refactor that just pulls the Wombat registry into a separate string constant to be re-used across scripts.
2020-07-23 10:45:25 +02:00
Keen Yee Liau
9970beb542 docs: Update doc for major version release 2020-07-09 19:11:25 +02:00
Keen Yee Liau
fb7b1e10db build: Add script for retagging CLI packages 2020-07-09 19:11:25 +02:00
Keen Yee Liau
35156471f4 build: delete scripts/release.ts
We used to use `scripts/release.ts` to update the monorepo.json, which
used to contain the current versions of all packages within the CLI
repo. However, since 08e91a94ab4d35303e4e00efa888cfd788aecad7
we no longer keep track of versions in monorepo.json.

Currently, before each publish, a git tag is created and all packages
are versioned based off the latest tag.

Since we no longer use `release.ts` for publishing, this commit deletes
the file entirely.

The script could be used to print out the versions we are about to publish,
but this is already covered by `yarn admin packages --version`.
This is useful for the caretaker to confirm the version numbers prior to
publishing the packages.
2020-07-08 23:30:54 +02:00
Keen Yee Liau
1ca167c661 build: update validate-commits script to list valid types and scopes
The commit linter expects a certain type and/or scope in the commit message,
but if the right type/scope is not provided it doesn't tell us what to do.

Instead of this:
```
The following commit has an unknown type. You can use wip: to avoid this.
```

It now outputs this:
```
The following commit has an unknown type. It must be one of [docs, refactor, style, test, feat, fix, build, revert, ci, release]. You can use wip: to avoid this.
```
2020-07-08 08:55:03 +02:00
Alan Agius
17738f0520 build: use rimraf instead of custom rimraf
With this change we replace the custom rimraf implementation in the build script with the rimraf npm package. The main reason for this change is because `dist` can be a symlink when building with bazel but our implementation doesn't that.
2020-06-08 09:44:49 +01:00
Charles Lyding
fbc8f438a2 test: revive legacy unit test script
This provides simplified support for running unit tests locally while the bazel setup is improved.
2020-05-18 19:30:03 +01:00
Alan Agius
fb4eaf1b09 ci: add 0BSD as a valid license
This is required for tslib versions >= 1.11.2. Tslib changes it's license to 0BSD which should allow projects that embed or bundle tslib to omit its license header.

See: https://opensource.google/docs/thirdparty/licenses/#unencumbered
2020-05-07 10:38:42 -07:00
Joey Perrott
13b0763f88 ci: exclude private packages from consideration for license checking 2020-05-06 11:42:11 -07:00
Filipe Silva
9a28114f6b test: remove non-bazel test setup 2020-04-30 15:12:46 -07:00
Filipe Silva
63e668f65f build: don't copy root package test folders 2020-04-30 15:12:46 -07:00
Filipe Silva
ab5b2eec2c build: also validade BUILD.bazel files 2020-04-30 15:12:46 -07:00
Joey Perrott
98a5cb40ff build: default to wombat proxy for publishing
If no --registry argument is provided when calling to publish
use the Wombat proxy.  Additionally, updates the release process
documentation to instruct usage of the Wombat proxy.
2020-04-07 19:43:52 -07:00
Alan Agius
9b788b9125 build: update jasmine-spec-reporter to version 5 2020-03-23 14:17:54 -07:00
Charles Lyding
9a6b05d56b build: exclude redundant cherry-picked commits when generating changelog
If generating a changelog between tags that are on different branches (e.g., 9.0.3 on 9.0.x and 9.1.0-next.0 on master), commits that were cherry-picked and present in the previous version would also show in the newer version's changelog.  This update analyzes the commits and excludes any that fit this scenario.  Any commits that had conflicts will not be able to be matched authoritatively.  Manual review of the generated changelog may still be needed for attempted cherry-pick commits that had conflicts.
2020-02-26 13:00:13 -08:00
Alan Agius
ed22b7a2ec ci: update pako version 2020-02-04 11:47:15 -08:00
Alan Agius
a32429f799 style: disable no-implicit-dependencies in scripts and rules 2020-02-04 07:26:16 -08:00
Alan Agius
cdde7a0fd8 test: move web-worker_spec_large to flake jail 2020-01-16 14:48:23 -08:00
Alan Agius
b7c38040dc ci: add CC0-1.0 as valid license 2020-01-13 09:46:15 -08:00
Charles Lyding
05979360ce test: minor simplification of tslint script/configuration 2020-01-02 11:40:01 -08:00
Douglas Parker
8e3d173355 docs: add "PR action: merge" label (#16413)
This label should be placed by the author (or last reviewer if author is not a collaborator) when the PR is complete and ready to merged. This requires the author to explicitly acknolwedge that they are done with the PR and the caretaker is free to merge it. This label brings the CLI caretaking process into alignment with the frameworks and components repos.
2019-12-13 10:25:36 -08:00
Alan Agius
2ce4c42ede build: only run ngcc hook for large tests 2019-12-03 12:37:07 -08:00
Filipe Silva
9ad2d5de15 ci: run ngcc on flakey tests too 2019-12-02 12:50:14 -08:00