For runners that are already configured but need to add systemd services after the fact, a new command option is added to generate the file only. Once generated, ./svc.sh install and other commands will be available.
This also adds support for falling back to the tenant name in the Actions URL in cases when the GitHub URL is not provided, such as for our hosted larger runners.
* update.sh new logic with creating a file and waiting for it for 30 sec
* pr refactor
* removing file when it's detected bu run-helper
* Update src/Misc/layoutroot/run-helper.sh.template
Co-authored-by: Ferenc Hammerl <31069338+fhammerl@users.noreply.github.com>
* clean up update.finished in Runner.Listener right before it starts a process _update.sh
* pr fix IOUtil.DeleteFile
* self update widnows version - cmd
* same logic for returnCode 4 - ephemeral
* Init var so cmd doesn't run into syntax errors
* Use constants, setting a var messed up ERRORLEVEL
* Use var for updatefile
Co-authored-by: stefanruvceski <ruvceskistefan@github.com>
Co-authored-by: Thomas Boop <52323235+thboop@users.noreply.github.com>
Co-authored-by: Ferenc Hammerl <hammerl.ferenc@gmail.com>
* Jsut simple solution without additional funcs
* Delete old comment
* resolve
* Refactor retry function, make it more common
* Make retry function generic, get rid of extra params
* delete extra using
* Add cancellation token and limit of attempts
* Add some additional logging
* Rework condition
* replace to do..while
* return `while (true)` to simplify code structure
* Add other cancelling token, add TODO comment
* Added warning in case of invalid combination of command and flags and/or arguments
* Deleting unnecessary comments
* Added separate list for generic options
* Added PAT to the valid remove options
* Added command name to the error message
* Fixing null reference exception when configuring runner with invalid repo URL or token
* Throw exception instead of ConvertFromJson
* Storing the response code
* Lets allow up to 150 characters on linux/mac, just to avoid some issues with runner naming
* Add 4 randomized digits on mac/linux
* fix pragma issue
* fix test
* Address pr feedback
* reduce complexity
* lets make it cleaner!
* fix test
* fix logic
* Issue 1662: Adding retry policy for methods GetTenantCredential and GetJITRunnerTokenAsync
* Adding HttpClient creation to the retry
* Random backoff time
* Use 16 to run RunnerService.js
* Execute hashfiles using node16
* Run downloadCert.js using node16
* Run makeWebRequest.js using node16
* Run macos-run-invoker.js using node16
* Run hashFiles.js using node16
* Update tests to use node16
* Update documentation to recommend node16
* Duplicate macos service js fix for 16
* Add PR link
* Revert ADR node change
* Merge node12/16 retainment IFs
* Try both node12 and node16
* Close if
* Revert "Update tests to use node16"
This reverts commit bbca7b9f1c.
* Fix condition
* Unfurl if condition
* Allow user to force a node version
* Format update template
* Comment env var
* Rename vars
* Fix naming
* Fix rename
* Set node ver override if job message has it
* Format executionContext
* Can only receive 'forceNode12' or nothing from FF
No specific node version from server
Co-authored-by: Ferenc Hammerl <hammerl.ferenc@gmail.com>
* Kill node process to recover handle
So we can print to the console in Runner.Listener once again
* Revert testing changes
Co-authored-by: Ferenc Hammerl <hammerl.ferenc@gmail.com>
* Only execute post for actions that have one
* Working container runner update with run.sh
* Revert "Only execute post for actions that have one"
This reverts commit 9675941fdb.
* Relaunch the listener without quitting run.cmd
* Fix typo
* Extract most os run.sh logic so we can update it
* Add bash line endings
* Extract the logic from run.cmd
* Add EoF lines
* Add unexpected ERRORLEVEL messages to cmd
* Simplify contract between run and helper
* Remove unused exit
* WIP: run a copy of the helper so it's safe to update
* Throw NonRetryableException if not configured
* Log and format
* Fix typo
* Fix typo
* Use helper template system for bash as well
* Update run.sh
* Remove unnecessary comments
* Use ping instead of timeout
* Use localhost in ping-timeout (n times, w timeout)
Co-authored-by: Ferenc Hammerl <hammerl.ferenc@gmail.com>
* Revert "Make `run.sh|cmd` handle update without quitting so containers using them as entrypoints don't exit on update (#1494)"
d8251bf912
* update runnerversion as well
* Only execute post for actions that have one
* Working container runner update with run.sh
* Revert "Only execute post for actions that have one"
This reverts commit 9675941fdb.
* Relaunch the listener without quitting run.cmd
* Fix typo
* Extract most os run.sh logic so we can update it
* Add bash line endings
* Extract the logic from run.cmd
* Add EoF lines
* Add unexpected ERRORLEVEL messages to cmd
* Simplify contract between run and helper
* Remove unused exit
* WIP: run a copy of the helper so it's safe to update
* Throw NonRetryableException if not configured
* Log and format
* Fix typo
* Fix typo
* Use helper template system for bash as well
* Update run.sh
* Remove unnecessary comments
* Use ping instead of timeout
* Use localhost in ping-timeout (n times, w timeout)
Co-authored-by: Ferenc Hammerl <hammerl.ferenc@gmail.com>
* Ignore agentpool when unconfiguring the runner
Runner names and IDs are unique within a ServiceHost
They don't need to be included when unconfiguring the runner.
* Use -1 instead of 0 to highlight how it is ignored
* Use overloads and 0 instead of -1
Using 0 seems to be the convention
* Fix typo calling the wrong method
* Add generateIdTokenUrl as an env var
* Add generateIdTokenUrl to env vars
* Add name and runner_group to context
* No longer add runner-group
* Update runner name if needed
* Get interface instead of concrete class
* Check for nulls on ReservedAgent
* Avoid loading setting file unnecesseraly
* Only check agentName once
* Use Trace.Error when can't update settings
* Better equals and exception handling
* Update JobDispatcher.cs
* Add tests and null check