Skip to content

Commit 10b6a8d

Browse files
committed
Merge remote-tracking branch 'upstream/main'
2 parents 87340f7 + 3f43560 commit 10b6a8d

53 files changed

Lines changed: 3391 additions & 860 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.devcontainer/devcontainer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"features": {
55
"ghcr.io/devcontainers/features/docker-in-docker:1": {},
66
"ghcr.io/devcontainers/features/dotnet": {
7-
"version": "8.0.415"
7+
"version": "8.0.416"
88
},
99
"ghcr.io/devcontainers/features/node:1": {
1010
"version": "20"

.github/workflows/build.yml

Lines changed: 50 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ on:
1414
paths-ignore:
1515
- '**.md'
1616

17+
permissions:
18+
contents: read
19+
1720
jobs:
1821
build:
1922
strategy:
@@ -50,7 +53,7 @@ jobs:
5053

5154
runs-on: ${{ matrix.os }}
5255
steps:
53-
- uses: actions/checkout@v5
56+
- uses: actions/checkout@v6
5457

5558
# Build runner layout
5659
- name: Build & Layout Release
@@ -75,8 +78,53 @@ jobs:
7578
# Upload runner package tar.gz/zip as artifact
7679
- name: Publish Artifact
7780
if: github.event_name != 'pull_request'
78-
uses: actions/upload-artifact@v4
81+
uses: actions/upload-artifact@v6
7982
with:
8083
name: runner-package-${{ matrix.runtime }}
8184
path: |
8285
_package
86+
87+
docker:
88+
strategy:
89+
matrix:
90+
os: [ ubuntu-latest, ubuntu-24.04-arm ]
91+
include:
92+
- os: ubuntu-latest
93+
docker_platform: linux/amd64
94+
- os: ubuntu-24.04-arm
95+
docker_platform: linux/arm64
96+
runs-on: ${{ matrix.os }}
97+
steps:
98+
- uses: actions/checkout@v6
99+
100+
- name: Get latest runner version
101+
id: latest_runner
102+
uses: actions/github-script@v8
103+
with:
104+
github-token: ${{secrets.GITHUB_TOKEN}}
105+
script: |
106+
const release = await github.rest.repos.getLatestRelease({
107+
owner: 'actions',
108+
repo: 'runner',
109+
});
110+
const version = release.data.tag_name.replace(/^v/, '');
111+
core.setOutput('version', version);
112+
113+
- name: Setup Docker buildx
114+
uses: docker/setup-buildx-action@v3
115+
116+
- name: Build Docker image
117+
uses: docker/build-push-action@v6
118+
with:
119+
context: ./images
120+
load: true
121+
platforms: ${{ matrix.docker_platform }}
122+
tags: |
123+
${{ github.sha }}:latest
124+
build-args: |
125+
RUNNER_VERSION=${{ steps.latest_runner.outputs.version }}
126+
127+
- name: Test Docker image
128+
run: |
129+
docker run --rm ${{ github.sha }}:latest ./run.sh --version
130+
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
name: Publish DockerImage from Release Branch
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
releaseBranch:
7+
description: 'Release Branch (releases/mXXX)'
8+
required: true
9+
10+
jobs:
11+
publish-image:
12+
runs-on: ubuntu-latest
13+
permissions:
14+
contents: read
15+
packages: write
16+
id-token: write
17+
attestations: write
18+
env:
19+
REGISTRY: ghcr.io
20+
IMAGE_NAME: ${{ github.repository_owner }}/actions-runner
21+
steps:
22+
- name: Checkout repository
23+
uses: actions/checkout@v6
24+
with:
25+
ref: ${{ github.event.inputs.releaseBranch }}
26+
27+
- name: Compute image version
28+
id: image
29+
uses: actions/github-script@v8
30+
with:
31+
script: |
32+
const fs = require('fs');
33+
const runnerVersion = fs.readFileSync('${{ github.workspace }}/releaseVersion', 'utf8').replace(/\n$/g, '');
34+
console.log(`Using runner version ${runnerVersion}`);
35+
if (!/^\d+\.\d+\.\d+$/.test(runnerVersion)) {
36+
throw new Error(`Invalid runner version: ${runnerVersion}`);
37+
}
38+
core.setOutput('version', runnerVersion);
39+
40+
- name: Setup Docker buildx
41+
uses: docker/setup-buildx-action@v3
42+
43+
- name: Log into registry ${{ env.REGISTRY }}
44+
uses: docker/login-action@v3
45+
with:
46+
registry: ${{ env.REGISTRY }}
47+
username: ${{ github.actor }}
48+
password: ${{ secrets.GITHUB_TOKEN }}
49+
50+
- name: Build and push Docker image
51+
id: build-and-push
52+
uses: docker/build-push-action@v6
53+
with:
54+
context: ./images
55+
platforms: |
56+
linux/amd64
57+
linux/arm64
58+
tags: |
59+
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.image.outputs.version }}
60+
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
61+
build-args: |
62+
RUNNER_VERSION=${{ steps.image.outputs.version }}
63+
push: true
64+
labels: |
65+
org.opencontainers.image.source=${{github.server_url}}/${{github.repository}}
66+
org.opencontainers.image.licenses=MIT
67+
annotations: |
68+
org.opencontainers.image.description=https://github.com/actions/runner/releases/tag/v${{ steps.image.outputs.version }}
69+
70+
- name: Generate attestation
71+
uses: actions/attest-build-provenance@v3
72+
with:
73+
subject-name: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
74+
subject-digest: ${{ steps.build-and-push.outputs.digest }}
75+
push-to-registry: true

images/Dockerfile

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# Source: https://github.com/dotnet/dotnet-docker
2-
FROM mcr.microsoft.com/dotnet/runtime-deps:8.0-jammy AS build
2+
FROM mcr.microsoft.com/dotnet/runtime-deps:8.0-noble AS build
33

44
ARG TARGETOS
55
ARG TARGETARCH
66
ARG RUNNER_VERSION
77
ARG RUNNER_CONTAINER_HOOKS_VERSION=0.7.0
8-
ARG DOCKER_VERSION=28.5.1
9-
ARG BUILDX_VERSION=0.29.1
8+
ARG DOCKER_VERSION=29.0.2
9+
ARG BUILDX_VERSION=0.30.1
1010

1111
RUN apt update -y && apt install curl unzip -y
1212

@@ -33,15 +33,15 @@ RUN export RUNNER_ARCH=${TARGETARCH} \
3333
&& rm -rf docker.tgz \
3434
&& mkdir -p /usr/local/lib/docker/cli-plugins \
3535
&& curl -fLo /usr/local/lib/docker/cli-plugins/docker-buildx \
36-
"https://github.com/docker/buildx/releases/download/v${BUILDX_VERSION}/buildx-v${BUILDX_VERSION}.linux-${TARGETARCH}" \
36+
"https://github.com/docker/buildx/releases/download/v${BUILDX_VERSION}/buildx-v${BUILDX_VERSION}.linux-${TARGETARCH}" \
3737
&& chmod +x /usr/local/lib/docker/cli-plugins/docker-buildx
3838

39-
FROM mcr.microsoft.com/dotnet/runtime-deps:8.0-jammy
39+
FROM mcr.microsoft.com/dotnet/runtime-deps:8.0-noble
4040

4141
ENV DEBIAN_FRONTEND=noninteractive
4242
ENV RUNNER_MANUALLY_TRAP_SIG=1
4343
ENV ACTIONS_RUNNER_PRINT_LOG_TO_STDOUT=1
44-
ENV ImageOS=ubuntu22
44+
ENV ImageOS=ubuntu24
4545

4646
# 'gpg-agent' and 'software-properties-common' are needed for the 'add-apt-repository' command that follows
4747
RUN apt update -y \
@@ -59,7 +59,8 @@ RUN adduser --disabled-password --gecos "" --uid 1001 runner \
5959
&& usermod -aG sudo runner \
6060
&& usermod -aG docker runner \
6161
&& echo "%sudo ALL=(ALL:ALL) NOPASSWD:ALL" > /etc/sudoers \
62-
&& echo "Defaults env_keep += \"DEBIAN_FRONTEND\"" >> /etc/sudoers
62+
&& echo "Defaults env_keep += \"DEBIAN_FRONTEND\"" >> /etc/sudoers \
63+
&& chmod 777 /home/runner
6364

6465
WORKDIR /home/runner
6566

releaseNote.md

Lines changed: 20 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,27 @@
11
## What's Changed
2-
* Update safe_sleep.sh for bug when scheduler is paused for more than 1 second by @horner in https://github.com/actions/runner/pull/3157
3-
* Acknowledge runner request by @ericsciple in https://github.com/actions/runner/pull/3996
4-
* Update Docker to v28.3.3 and Buildx to v0.27.0 by @github-actions[bot] in https://github.com/actions/runner/pull/3999
5-
* Update dotnet sdk to latest version @8.0.413 by @github-actions[bot] in https://github.com/actions/runner/pull/4000
6-
* Bump actions/attest-build-provenance from 2 to 3 by @dependabot[bot] in https://github.com/actions/runner/pull/4002
7-
* Bump @typescript-eslint/eslint-plugin from 6.7.2 to 8.35.0 in /src/Misc/expressionFunc/hashFiles by @dependabot[bot] in https://github.com/actions/runner/pull/3920
8-
* Bump husky from 8.0.3 to 9.1.7 in /src/Misc/expressionFunc/hashFiles by @dependabot[bot] in https://github.com/actions/runner/pull/3842
9-
* Bump @vercel/ncc from 0.38.0 to 0.38.3 in /src/Misc/expressionFunc/hashFiles by @dependabot[bot] in https://github.com/actions/runner/pull/3841
10-
* Bump eslint-plugin-github from 4.10.0 to 4.10.2 in /src/Misc/expressionFunc/hashFiles by @dependabot[bot] in https://github.com/actions/runner/pull/3180
11-
* Bump typescript from 5.2.2 to 5.9.2 in /src/Misc/expressionFunc/hashFiles by @dependabot[bot] in https://github.com/actions/runner/pull/4007
12-
* chore: migrate Husky config from v8 to v9 format by @salmanmkc in https://github.com/actions/runner/pull/4003
13-
* Map RUNNER_TEMP for container action by @ericsciple in https://github.com/actions/runner/pull/4011
14-
* Break UseV2Flow into UseV2Flow and UseRunnerAdminFlow. by @TingluoHuang in https://github.com/actions/runner/pull/4013
15-
* Update Docker to v28.4.0 and Buildx to v0.28.0 by @github-actions[bot] in https://github.com/actions/runner/pull/4020
16-
* Bump node.js to latest version in runner. by @TingluoHuang in https://github.com/actions/runner/pull/4022
17-
* feat: add automated .NET dependency management workflow by @salmanmkc in https://github.com/actions/runner/pull/4028
18-
* feat: add automated Docker BuildX dependency management workflow by @salmanmkc in https://github.com/actions/runner/pull/4029
19-
* feat: add automated Node.js version management workflow by @salmanmkc in https://github.com/actions/runner/pull/4026
20-
* feat: add comprehensive NPM security management workflow by @salmanmkc in https://github.com/actions/runner/pull/4027
21-
* feat: add comprehensive dependency monitoring system by @salmanmkc in https://github.com/actions/runner/pull/4025
22-
* Use BrokerURL when using RunnerAdmin by @luketomlinson in https://github.com/actions/runner/pull/4044
23-
* Bump actions/github-script from 7.0.1 to 8.0.0 by @dependabot[bot] in https://github.com/actions/runner/pull/4016
24-
* Bump actions/stale from 9 to 10 by @dependabot[bot] in https://github.com/actions/runner/pull/4015
25-
* fix: prevent Node.js upgrade workflow from creating PRs with empty versions by @salmanmkc in https://github.com/actions/runner/pull/4055
26-
* chore: update Node versions by @github-actions[bot] in https://github.com/actions/runner/pull/4057
27-
* Bump actions/setup-node from 4 to 5 by @dependabot[bot] in https://github.com/actions/runner/pull/4037
28-
* Bump Azure.Storage.Blobs from 12.25.0 to 12.25.1 by @dependabot[bot] in https://github.com/actions/runner/pull/4058
29-
* Update Docker to v28.5.0 and Buildx to v0.29.1 by @github-actions[bot] in https://github.com/actions/runner/pull/4069
30-
* Bump github/codeql-action from 3 to 4 by @dependabot[bot] in https://github.com/actions/runner/pull/4072
31-
* chore: update Node versions by @github-actions[bot] in https://github.com/actions/runner/pull/4075
32-
* Include k8s novolume (version v0.8.0) by @nikola-jokic in https://github.com/actions/runner/pull/4063
33-
* Make sure runner-admin has both auth_url and auth_url_v2. by @TingluoHuang in https://github.com/actions/runner/pull/4066
34-
* Report job has infra failure to run-service by @TingluoHuang in https://github.com/actions/runner/pull/4073
35-
* Bump actions/setup-node from 5 to 6 by @dependabot[bot] in https://github.com/actions/runner/pull/4078
2+
* Fix owner of /home/runner directory by @nikola-jokic in https://github.com/actions/runner/pull/4132
3+
* Update Docker to v29.0.2 and Buildx to v0.30.1 by @github-actions[bot] in https://github.com/actions/runner/pull/4135
4+
* Update workflow around runner docker image. by @TingluoHuang in https://github.com/actions/runner/pull/4133
5+
* Fix regex for validating runner version format by @TingluoHuang in https://github.com/actions/runner/pull/4136
6+
* chore: update Node versions by @github-actions[bot] in https://github.com/actions/runner/pull/4144
7+
* Ensure safe_sleep tries alternative approaches by @TingluoHuang in https://github.com/actions/runner/pull/4146
8+
* Bump actions/github-script from 7 to 8 by @dependabot[bot] in https://github.com/actions/runner/pull/4137
9+
* Bump actions/checkout from 5 to 6 by @dependabot[bot] in https://github.com/actions/runner/pull/4130
10+
* chore: update Node versions by @github-actions[bot] in https://github.com/actions/runner/pull/4149
11+
* Bump docker image to use ubuntu 24.04 by @TingluoHuang in https://github.com/actions/runner/pull/4018
12+
* Add support for case function by @AllanGuigou in https://github.com/actions/runner/pull/4147
13+
* Cleanup feature flag actions_container_action_runner_temp by @ericsciple in https://github.com/actions/runner/pull/4163
14+
* Bump actions/download-artifact from 6 to 7 by @dependabot[bot] in https://github.com/actions/runner/pull/4155
15+
* Bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in https://github.com/actions/runner/pull/4157
16+
* Set ACTIONS_ORCHESTRATION_ID as env to actions. by @TingluoHuang in https://github.com/actions/runner/pull/4178
17+
* Allow hosted VM report job telemetry via .setup_info file. by @TingluoHuang in https://github.com/actions/runner/pull/4186
18+
* Bump typescript from 5.9.2 to 5.9.3 in /src/Misc/expressionFunc/hashFiles by @dependabot[bot] in https://github.com/actions/runner/pull/4184
19+
* Bump Azure.Storage.Blobs from 12.26.0 to 12.27.0 by @dependabot[bot] in https://github.com/actions/runner/pull/4189
3620

3721
## New Contributors
38-
* @horner made their first contribution in https://github.com/actions/runner/pull/3157
22+
* @AllanGuigou made their first contribution in https://github.com/actions/runner/pull/4147
3923

40-
**Full Changelog**: https://github.com/actions/runner/compare/v2.328.0...v2.329.0
24+
**Full Changelog**: https://github.com/actions/runner/compare/v2.330.0...v2.331.0
4125

4226
_Note: Actions Runner follows a progressive release policy, so the latest release might not be available to your enterprise, organization, or repository yet.
4327
To confirm which version of the Actions Runner you should expect, please view the download instructions for your enterprise, organization, or repository.

src/Misc/expressionFunc/hashFiles/.eslintrc.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"plugins": ["@typescript-eslint"],
2+
"plugins": ["@typescript-eslint", "@stylistic"],
33
"extends": ["plugin:github/recommended"],
44
"parser": "@typescript-eslint/parser",
55
"parserOptions": {
@@ -26,7 +26,7 @@
2626
],
2727
"camelcase": "off",
2828
"@typescript-eslint/explicit-function-return-type": ["error", {"allowExpressions": true}],
29-
"@typescript-eslint/func-call-spacing": ["error", "never"],
29+
"@stylistic/func-call-spacing": ["error", "never"],
3030
"@typescript-eslint/no-array-constructor": "error",
3131
"@typescript-eslint/no-empty-interface": "error",
3232
"@typescript-eslint/no-explicit-any": "error",
@@ -47,8 +47,8 @@
4747
"@typescript-eslint/promise-function-async": "error",
4848
"@typescript-eslint/require-array-sort-compare": "error",
4949
"@typescript-eslint/restrict-plus-operands": "error",
50-
"@typescript-eslint/semi": ["error", "never"],
51-
"@typescript-eslint/type-annotation-spacing": "error",
50+
"@stylistic/semi": ["error", "never"],
51+
"@stylistic/type-annotation-spacing": "error",
5252
"@typescript-eslint/unbound-method": "error",
5353
"filenames/match-regex" : "off",
5454
"github/no-then" : 1, // warning

0 commit comments

Comments
 (0)