Commit Graph

46 Commits (c198d47ecd629cd5e345b58c947c90db217d856b)

Author SHA1 Message Date
Binrui Dong c198d47ecd Improve checkout performance on Windows runners by upgrading @actions/github dependency
Re: https://github.com/actions/checkout/issues/1186

@dscho discovered that the checkout action could stall for a
considerable amount of time on Windows runners waiting for PowerShell
invocations made from 'windows-release' npm package to complete.

Then I studied the dependency chain to figure out where
'windows-release' was imported:

'@actions/checkout'@main
  <- '@actions/github'@2.2.0
    <- '@octokit/endpoint'@6.0.1
    <- '@octokit/graphql'@4.3.1
    <- '@octokit/request'@5.4.2
    <- '@octokit/rest'@16.43.1
      <- 'universal-user-agent'@4.0.1
        <- 'os-name'@3.1.0
          <- 'windows-release'@3.1.0

'universal-user-agent' package dropped its dependency on 'os-name' in
https://github.com/gr2m/universal-user-agent/releases/tag/v6.0.0 .

'@actions/github' v3 removed dependency on '@octokit/rest'@16.43.1 and
allows users to move away from the old 'universal-user-agent' v4.
(https://github.com/actions/toolkit/pull/453)

This pull request attempts to update the version of '@actions/github'
used in the checkout action to avoid importing 'windows-release'.

Based on testing in my own repositories, I can see an improvement in
reduced wait time between entering the checkout action and git actually
starts to do useful work.
2 years ago
Cameron Booth 8f4b7f8486
Add new public key for known_hosts (#1237)
* Add new public key for known_hosts

* Fix the build!
2 years ago
Cory Miller 24cb908017
Bump @actions/io to v1.1.3 (#1225)
* Backfill changelog and bump actions/io
* Fill in PR for action/io upgrade
* Licensed updates
* Compile JS
2 years ago
Bassem Dghaidi 27135e314d
Upgrade dependencies (#1210)
* Upgrade ncc & json5

* Add new dist build
2 years ago
Andrew Scheller ac59398561
Fix comment typos (that got added in #770) (#1057) 2 years ago
Cory Miller 8856415920
Implement branch list using callbacks from exec function (#1045)
When trying to list local branches to figure out what needs cleaned up during runs on non-ephemeral Actions Runners, we use git rev-parse --symbolic-full-name to get a list of branches. This can lead to ambiguous ref name errors when there are branches and tags with similar names.

Part of the reason we use rev-parse --symbolic-full-name vs git branch --list or git rev-parse --symbolic seems to related to a bug in Git 2.18. Until we can deprecate our usage of Git 2.18, I think we need to keep --symbolic-full-name. Since part of the problem is that these ambiguous ref name errors clog the Actions annotation limits, this is a mitigation to suppress those messages until we can get rid of the workaround.
2 years ago
Cory Miller 26d48e8ea1
Update @actions/io to 1.1.2 (#1029) 2 years ago
Jok bf085276ce
wrap pipeline commands for submoduleForeach in quotes (#964)
* wrap pipeline commands for submoduleForeach in quotes

* Update src/git-auth-helper.ts

drop extraneous space.

Co-authored-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* Followed CONTRIBUTING.md instructions, updating dist/index.js

* fixed package-lock.json

* updating the pipeline so it runs from sh

Co-authored-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2 years ago
Francesco Renzi 6a84743051
Bump @actions/core to 1.10.0 (#939)
* Bump @actions/core to 1.10.0

* Update licenses

* Use @actions/core helper functions
2 years ago
Peter Murray e6d535c99c
Inject GitHub host to be able to clone from another GitHub instance (#922)
* Adding the ability to specify the GitHub Server URL and allowing for it to differ from the Actions workflow host

* Adding tests for injecting the GitHub URL

* Addressing code review comments for PR #922
2 years ago
Tingluo Huang 0ffe6f9c55
Add set-safe-directory input to allow customers to take control. (#770)
* Add set-safe-directory input to allow customers to take control.
3 years ago
Thomas Boop dcd71f6466
Enforce safe directory (#762)
* set safe directory when running checkout

* Update CHANGELOG.md
3 years ago
Tingluo Huang add3486cc3
Patch to fix the dependbot alert. (#744)
* Patch to fix the dependbot alert.

* .

* .

* .
3 years ago
Thomas Boop 8f9e05e482
Update to node 16 (#689)
* Update to node 16

* update setup-node version

* Update check-dist.yml

update setup node version

* update dist/index.js
3 years ago
eric sciple ec3a7ce113
set insteadOf url for org-id (#621) 3 years ago
eric sciple 826ba42d6c
npm audit fix (#612) 3 years ago
eric sciple eb8a193c1d
update dev dependencies and react to new linting rules (#611) 3 years ago
eric sciple 0299a0d2b6
update dist (#605) 3 years ago
Johannes Schindelin 5a4ac9002d
Add missing `await`s (#379)
* 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 an `async` function, but we were
not `await`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_ another `git
config` that wants to set the `insteadOf` 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 the `for` 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:
the `run()` and the `cleanup()` function are called without `await` 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>
4 years ago
Thomas Boop a81bbbf829
Remove unneeded commit information from build logs (#345)
* Remove unneeded commit information from stdout
4 years ago
Thomas Boop 21dc310f19
Add `Licensed` To Help Verify Prod Licenses (#326)
* Add Licensed file and workflow

* manual updates of dependencies

* Delete licenses.txt

* Ignore Generated Files in Git PR's
4 years ago
Thomas Boop be6c44d969 Revert "Delete licenses.txt" 4 years ago
Thomas Boop dac8cc78a1
Delete licenses.txt 4 years ago
Thomas Boop 2036a08e25
Add Third Party License Information to Dist Files (#320) 4 years ago
eric sciple 1433f62caa
update default branch (#305) 5 years ago
eric sciple fb6f360df2
fix default branch for .wiki and when using ssh (#284) 5 years ago
eric sciple 00a3be8934
determine default branch (#278) 5 years ago
eric sciple e52d022eb5
Fetch all history for all tags and branches when fetch-depth=0 (#258) 5 years ago
eric sciple 2ff2fbdea4
telemetry for incorrect merge commit (#253) 5 years ago
eric sciple 7523e23789
switch GITHUB_URL to GITHUB_SERVER_URL (#248) 5 years ago
eric sciple ac455590d1
consume new @actions/github for GHES support (#236) 5 years ago
eric sciple 01aecccf73
group output (#191) 5 years ago
eric sciple 85b1f35505
changes to support ghes alpha release (#199) 5 years ago
eric sciple 9a3a9ade82
persist core.sshCommand for submodules (#184)
* persist core.sshCommand for submodules

* update verbiage; add comments

* fail when submodules or ssh-key and fallback to REST API
5 years ago
eric sciple b2e6b7ed13
add ssh support (#163) 5 years ago
eric sciple 80602fafba
convert SSH URL to HTTPS (#179) 5 years ago
eric sciple 422dc45671
add support for submodules (#173) 5 years ago
eric sciple f219062370
more unit tests and corresponding refactoring (#174) 5 years ago
eric sciple f90c7b395d
follow proxy settings (#144) 5 years ago
eric sciple 090d9c9dfd
fix ref for pr closed event when a pr is merged (#141) 5 years ago
eric sciple ae525b2262
fix issue checking detached when git less than 2.22 (#128) 5 years ago
eric sciple a6747255bd
do not pass cred on command line (#108) 5 years ago
eric sciple c170eefc26
add input persist-credentials (#107) 5 years ago
eric sciple a572f640b0
fallback to REST API to download repo (#104) 5 years ago
eric sciple 689bf84be4
Do not delete cwd (#86) 5 years ago
eric sciple e347bba93b
Convert checkout to a regular action (#70) 5 years ago