angular-cn/.circleci
Joey Perrott e649f1dda6 ci: bust cache of stored node_modules on CircleCI (#39461)
Update the cache keys used on CircleCI to bust the cache used in attempt
to address issue with tests on aio that are not reproducable locally.

Note: Going back to v1 as the cache version as caches are only held
for 15 days so we can safely return back to `v1` as the prefix

PR Close #39461
2020-10-27 14:53:09 -07:00
..
README.md docs(dev-infra): update .circleci/README.md (#37212) 2020-05-20 09:40:51 -07:00
bazel.common.rc refactor: simplify bazel saucelabs targets using karma pre-test wrapper and shared saucelabs connection between tests (#34769) 2020-01-28 13:47:00 -08:00
bazel.linux.rc ci: use larger resource classes for bazel builds (#39124) 2020-10-05 17:06:48 -07:00
bazel.windows.rc ci: separate the windows CI tests into build and test (#39289) 2020-10-16 14:22:22 -07:00
config.yml ci: bust cache of stored node_modules on CircleCI (#39461) 2020-10-27 14:53:09 -07:00
env-helpers.inc.sh ci(docs-infra): use the tests from the stable branch in `aio_monitoring_stable` CircleCI job (#30110) 2019-04-26 16:33:45 -07:00
env.sh test: update components repo to test against recent revision (#38273) 2020-08-06 15:21:02 -07:00
gcp_token ci: update gcp_token (#31405) 2019-07-03 08:54:02 -07:00
github_token
setup_cache.sh
trigger-webhook.js style(dev-infra): enforce format on newly included files (#36940) 2020-06-12 15:06:41 -07:00
windows-env.ps1 ci: run windows CI jobs on PRs (#39139) 2020-10-14 14:09:49 -07:00

README.md

Encryption

Based on https://github.com/circleci/encrypted-files

In the CircleCI web UI, we have a secret variable called KEY https://circleci.com/gh/angular/angular/edit#env-vars which is only exposed to non-fork builds (see "Pass secrets to builds from forked pull requests" under https://circleci.com/gh/angular/angular/edit#advanced-settings)

We use this as a symmetric AES encryption key to encrypt tokens like a GitHub token that enables publishing snapshots.

To create the github_token file, we take this approach:

  • Find the angular-builds:token in the internal pw database
  • Go inside the CircleCI default docker image so you use the same version of openssl as we will at runtime: docker run --rm -it circleci/node:10.12
  • echo "https://[token]:@github.com" > credentials
  • openssl aes-256-cbc -e -in credentials -out .circleci/github_token -k $KEY
  • If needed, base64-encode the result so you can copy-paste it out of docker: base64 github_token