mirror of
https://github.com/actions/runner.git
synced 2025-12-10 12:36:23 +00:00
Compare commits
6 Commits
fhammerl/e
...
v2.303.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e676c78718 | ||
|
|
81b07eb1c4 | ||
|
|
514ecec5a3 | ||
|
|
128b212b13 | ||
|
|
2dfa28e6e0 | ||
|
|
fd96246580 |
14
.github/workflows/release.yml
vendored
14
.github/workflows/release.yml
vendored
@@ -131,7 +131,7 @@ jobs:
|
|||||||
file=$(ls)
|
file=$(ls)
|
||||||
sha=$(sha256sum $file | awk '{ print $1 }')
|
sha=$(sha256sum $file | awk '{ print $1 }')
|
||||||
echo "Computed sha256: $sha for $file"
|
echo "Computed sha256: $sha for $file"
|
||||||
echo "::set-output name=${{matrix.runtime}}-sha256::$sha"
|
echo "${{matrix.runtime}}-sha256=$sha" >> $GITHUB_OUTPUT
|
||||||
shell: bash
|
shell: bash
|
||||||
id: sha
|
id: sha
|
||||||
name: Compute SHA256
|
name: Compute SHA256
|
||||||
@@ -140,8 +140,8 @@ jobs:
|
|||||||
file=$(ls)
|
file=$(ls)
|
||||||
sha=$(sha256sum $file | awk '{ print $1 }')
|
sha=$(sha256sum $file | awk '{ print $1 }')
|
||||||
echo "Computed sha256: $sha for $file"
|
echo "Computed sha256: $sha for $file"
|
||||||
echo "::set-output name=${{matrix.runtime}}-sha256::$sha"
|
echo "${{matrix.runtime}}-sha256=$sha" >> $GITHUB_OUTPUT
|
||||||
echo "::set-output name=sha256::$sha"
|
echo "sha256=$sha" >> $GITHUB_OUTPUT
|
||||||
shell: bash
|
shell: bash
|
||||||
id: sha_noexternals
|
id: sha_noexternals
|
||||||
name: Compute SHA256
|
name: Compute SHA256
|
||||||
@@ -150,8 +150,8 @@ jobs:
|
|||||||
file=$(ls)
|
file=$(ls)
|
||||||
sha=$(sha256sum $file | awk '{ print $1 }')
|
sha=$(sha256sum $file | awk '{ print $1 }')
|
||||||
echo "Computed sha256: $sha for $file"
|
echo "Computed sha256: $sha for $file"
|
||||||
echo "::set-output name=${{matrix.runtime}}-sha256::$sha"
|
echo "${{matrix.runtime}}-sha256=$sha" >> $GITHUB_OUTPUT
|
||||||
echo "::set-output name=sha256::$sha"
|
echo "sha256=$sha" >> $GITHUB_OUTPUT
|
||||||
shell: bash
|
shell: bash
|
||||||
id: sha_noruntime
|
id: sha_noruntime
|
||||||
name: Compute SHA256
|
name: Compute SHA256
|
||||||
@@ -160,8 +160,8 @@ jobs:
|
|||||||
file=$(ls)
|
file=$(ls)
|
||||||
sha=$(sha256sum $file | awk '{ print $1 }')
|
sha=$(sha256sum $file | awk '{ print $1 }')
|
||||||
echo "Computed sha256: $sha for $file"
|
echo "Computed sha256: $sha for $file"
|
||||||
echo "::set-output name=${{matrix.runtime}}-sha256::$sha"
|
echo "${{matrix.runtime}}-sha256=$sha" >> $GITHUB_OUTPUT
|
||||||
echo "::set-output name=sha256::$sha"
|
echo "sha256=$sha" >> $GITHUB_OUTPUT
|
||||||
shell: bash
|
shell: bash
|
||||||
id: sha_noruntime_noexternals
|
id: sha_noruntime_noexternals
|
||||||
name: Compute SHA256
|
name: Compute SHA256
|
||||||
|
|||||||
@@ -1,15 +1,17 @@
|
|||||||
## Features
|
## Features
|
||||||
- Add support for ghe.com domain (#2420)
|
- Support matrix context in output keys (#2477)
|
||||||
- Add docker cli to the runner image. (#2425)
|
- Add update certificates to `./run.sh` if `RUNNER_UPDATE_CA_CERTS` env is set (#2471)
|
||||||
|
- Bypass all proxies for all hosts if `no_proxy='*'` is set (#2395)
|
||||||
|
- Change runner image to make user/folder align with `ubuntu-latest` hosted runner. (#2469)
|
||||||
|
|
||||||
## Bugs
|
## Bugs
|
||||||
- Fix URL construction bug for RunService (#2396)
|
- Exit on runner version deprecation error (#2299)
|
||||||
- Defer evaluation of a step's DisplayName until its condition is evaluated. (#2313)
|
- Runner service exit after consecutive re-try exits (#2426)
|
||||||
- Replace '(' and ')' with '[' and '] from OS.Description for fixing User-Agent header validation (#2288)
|
|
||||||
|
|
||||||
## Misc
|
## Misc
|
||||||
- Bump dotnet sdk to latest version. (#2392)
|
- Replace deprecated command with environment file (#2429)
|
||||||
- Start calling run service for job completion (#2412, #2423)
|
- Make requests to `Run` service to renew job request (#2461)
|
||||||
|
- Add job/step log upload to Result service (#2447, #2439)
|
||||||
|
|
||||||
_Note: Actions Runner follows a progressive release policy, so the latest release might not be available to your enterprise, organization, or repository yet.
|
_Note: Actions Runner follows a progressive release policy, so the latest release might not be available to your enterprise, organization, or repository yet.
|
||||||
To confirm which version of the Actions Runner you should expect, please view the download instructions for your enterprise, organization, or repository.
|
To confirm which version of the Actions Runner you should expect, please view the download instructions for your enterprise, organization, or repository.
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
<Update to ./src/runnerversion when creating release>
|
2.303.0
|
||||||
|
|||||||
@@ -53,6 +53,33 @@ runWithManualTrap() {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function updateCerts() {
|
||||||
|
local sudo_prefix=""
|
||||||
|
local user_id=`id -u`
|
||||||
|
|
||||||
|
if [ $user_id -ne 0 ]; then
|
||||||
|
if [[ ! -x "$(command -v sudo)" ]]; then
|
||||||
|
echo "Warning: failed to update certificate store: sudo is required but not found"
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
sudo_prefix="sudo"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -x "$(command -v update-ca-certificates)" ]]; then
|
||||||
|
eval $sudo_prefix "update-ca-certificates"
|
||||||
|
elif [[ -x "$(command -v update-ca-trust)" ]]; then
|
||||||
|
eval $sudo_prefix "update-ca-trust"
|
||||||
|
else
|
||||||
|
echo "Warning: failed to update certificate store: update-ca-certificates or update-ca-trust not found. This can happen if you're using a different runner base image."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
if [[ ! -z "$RUNNER_UPDATE_CA_CERTS" ]]; then
|
||||||
|
updateCerts
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ -z "$RUNNER_MANUALLY_TRAP_SIG" ]]; then
|
if [[ -z "$RUNNER_MANUALLY_TRAP_SIG" ]]; then
|
||||||
run $*
|
run $*
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -182,7 +182,7 @@ namespace GitHub.Runner.Listener
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
_getMessagesTokenSource?.Cancel();
|
_getMessagesTokenSource?.Cancel();
|
||||||
}
|
}
|
||||||
catch (ObjectDisposedException)
|
catch (ObjectDisposedException)
|
||||||
{
|
{
|
||||||
Trace.Info("_getMessagesTokenSource is already disposed.");
|
Trace.Info("_getMessagesTokenSource is already disposed.");
|
||||||
@@ -245,6 +245,10 @@ namespace GitHub.Runner.Listener
|
|||||||
_accessTokenRevoked = true;
|
_accessTokenRevoked = true;
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
|
catch (AccessDeniedException e) when (e.InnerException is InvalidTaskAgentVersionException)
|
||||||
|
{
|
||||||
|
throw;
|
||||||
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Trace.Error("Catch exception during get next message.");
|
Trace.Error("Catch exception during get next message.");
|
||||||
@@ -289,7 +293,7 @@ namespace GitHub.Runner.Listener
|
|||||||
await HostContext.Delay(_getNextMessageRetryInterval, token);
|
await HostContext.Delay(_getNextMessageRetryInterval, token);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
_getMessagesTokenSource.Dispose();
|
_getMessagesTokenSource.Dispose();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ using System.IO;
|
|||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using GitHub.DistributedTask.WebApi;
|
||||||
|
|
||||||
namespace GitHub.Runner.Listener
|
namespace GitHub.Runner.Listener
|
||||||
{
|
{
|
||||||
@@ -58,7 +59,7 @@ namespace GitHub.Runner.Listener
|
|||||||
terminal.WriteLine("This runner version is built for Windows. Please install a correct build for your OS.");
|
terminal.WriteLine("This runner version is built for Windows. Please install a correct build for your OS.");
|
||||||
return Constants.Runner.ReturnCode.TerminatedError;
|
return Constants.Runner.ReturnCode.TerminatedError;
|
||||||
}
|
}
|
||||||
#if ARM64
|
#if ARM64
|
||||||
// A little hacky, but windows gives no way to differentiate between windows 10 and 11.
|
// A little hacky, but windows gives no way to differentiate between windows 10 and 11.
|
||||||
// By default only 11 supports native x64 app emulation on arm, so we only want to support windows 11
|
// By default only 11 supports native x64 app emulation on arm, so we only want to support windows 11
|
||||||
// https://docs.microsoft.com/en-us/windows/arm/overview#build-windows-apps-that-run-on-arm
|
// https://docs.microsoft.com/en-us/windows/arm/overview#build-windows-apps-that-run-on-arm
|
||||||
@@ -69,7 +70,7 @@ namespace GitHub.Runner.Listener
|
|||||||
terminal.WriteLine("Win-arm64 runners require windows 11 or later. Please upgrade your operating system.");
|
terminal.WriteLine("Win-arm64 runners require windows 11 or later. Please upgrade your operating system.");
|
||||||
return Constants.Runner.ReturnCode.TerminatedError;
|
return Constants.Runner.ReturnCode.TerminatedError;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
terminal.WriteLine($"Running the runner on this platform is not supported. The current platform is {RuntimeInformation.OSDescription} and it was built for {Constants.Runner.Platform.ToString()}.");
|
terminal.WriteLine($"Running the runner on this platform is not supported. The current platform is {RuntimeInformation.OSDescription} and it was built for {Constants.Runner.Platform.ToString()}.");
|
||||||
@@ -137,6 +138,12 @@ namespace GitHub.Runner.Listener
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
catch (AccessDeniedException e) when (e.InnerException is InvalidTaskAgentVersionException)
|
||||||
|
{
|
||||||
|
terminal.WriteError($"An error occured: {e.Message}");
|
||||||
|
trace.Error(e);
|
||||||
|
return Constants.Runner.ReturnCode.TerminatedError;
|
||||||
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
terminal.WriteError($"An error occurred: {e.Message}");
|
terminal.WriteError($"An error occurred: {e.Message}");
|
||||||
|
|||||||
@@ -222,6 +222,9 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
"job-outputs": {
|
"job-outputs": {
|
||||||
|
"context": [
|
||||||
|
"matrix"
|
||||||
|
],
|
||||||
"mapping": {
|
"mapping": {
|
||||||
"loose-key-type": "non-empty-string",
|
"loose-key-type": "non-empty-string",
|
||||||
"loose-value-type": "string-runner-context"
|
"loose-value-type": "string-runner-context"
|
||||||
|
|||||||
@@ -25,25 +25,25 @@ runs:
|
|||||||
- run: exit ${{ inputs.exit-code }}
|
- run: exit ${{ inputs.exit-code }}
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
- run: echo "::set-output name=default::true"
|
- run: echo "default=true" >> $GITHUB_OUTPUT
|
||||||
id: default-conditional
|
id: default-conditional
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
- run: echo "::set-output name=success::true"
|
- run: echo "success=true" >> $GITHUB_OUTPUT
|
||||||
id: success-conditional
|
id: success-conditional
|
||||||
shell: bash
|
shell: bash
|
||||||
if: success()
|
if: success()
|
||||||
|
|
||||||
- run: echo "::set-output name=failure::true"
|
- run: echo "failure=true" >> $GITHUB_OUTPUT
|
||||||
id: failure-conditional
|
id: failure-conditional
|
||||||
shell: bash
|
shell: bash
|
||||||
if: failure()
|
if: failure()
|
||||||
|
|
||||||
- run: echo "::set-output name=always::true"
|
- run: echo "always=true" >> $GITHUB_OUTPUT
|
||||||
id: always-conditional
|
id: always-conditional
|
||||||
shell: bash
|
shell: bash
|
||||||
if: always()
|
if: always()
|
||||||
|
|
||||||
- run: echo "failed"
|
- run: echo "failed"
|
||||||
shell: bash
|
shell: bash
|
||||||
if: ${{ inputs.exit-code == 1 && failure() }}
|
if: ${{ inputs.exit-code == 1 && failure() }}
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
2.302.1
|
2.303.0
|
||||||
|
|||||||
Reference in New Issue
Block a user