-
Add missing `await`s (#379)
released this
2020-11-03 22:44:09 +08:00 | 111 commits to main since this release- auth-helper: properly await replacement of the token value in the config
After writing the
.extraheader
config, we manually replace the token
with the actual value. This is done in anasync
function, but we were
notawait
ing the result.In our tests, this commit fixes a flakiness we observed where
remote.origin.url
sometimes (very rarely, actually) is not set for
submodules. Our interpretation is that the configs are in the process of
being rewritten with the correct token value while anothergit config
that wants to set theinsteadOf
value is reading the config,
which is currently empty.A more idiomatic way to fix this in Typescript would use
Promise.all()
, like this:await Promise.all( configPaths.map(async configPath => { core.debug(`Replacing token placeholder in '${configPath}'`) await this.replaceTokenPlaceholder(configPath) }) )
However, during review of https://github.com/actions/checkout/pull/379
it was decided to keep thefor
loop in the interest of simplicity.Reported by Ian Lynagh.
Signed-off-by: Johannes Schindelin johannes.schindelin@gmx.de
- downloadRepository(): await the result of recursive deletions
Signed-off-by: Johannes Schindelin johannes.schindelin@gmx.de
- Ask ESLint to report floating Promises
This rule is quite helpful in avoiding hard-to-debug missing
await
s.Note: there are two locations in
src/main.ts
that trigger warnings:
therun()
and thecleanup()
function are called withoutawait
and
without any.catch()
clause.In the initial version of https://github.com/actions/checkout/pull/379,
this was addressed by adding.catch()
clauses. However, it was
determined that this is boilerplate code that will need to be fixed in a
broader way.Signed-off-by: Johannes Schindelin johannes.schindelin@gmx.de
- Rebuild
This trick was brought to you by
npm ci && npm run build
. Needed to
get the PR build to pass.Signed-off-by: Johannes Schindelin johannes.schindelin@gmx.de
Downloads