mirror of
https://github.com/actions/runner.git
synced 2025-12-11 04:46:58 +00:00
Compare commits
4 Commits
v2.161.0
...
users/thbo
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
85b072ae28 | ||
|
|
022fddf73d | ||
|
|
222af415c6 | ||
|
|
7dec45247d |
44
.github/workflows/build.yml
vendored
44
.github/workflows/build.yml
vendored
@@ -1,53 +1,34 @@
|
||||
name: Runner CI
|
||||
|
||||
on:
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
branches:
|
||||
- master
|
||||
- releases/*
|
||||
pull_request:
|
||||
branches:
|
||||
branches:
|
||||
- '*'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
strategy:
|
||||
matrix:
|
||||
runtime: [ linux-x64, linux-arm64, linux-arm, win-x64, osx-x64 ]
|
||||
# runtime: [ linux-x64, linux-arm64, linux-arm, win-x64, win-x86, osx-x64 ]
|
||||
os: [ubuntu-latest, windows-latest, macOS-latest]
|
||||
include:
|
||||
- runtime: linux-x64
|
||||
os: ubuntu-latest
|
||||
- os: ubuntu-latest
|
||||
devScript: ./dev.sh
|
||||
|
||||
- runtime: linux-arm64
|
||||
os: ubuntu-latest
|
||||
- os: macOS-latest
|
||||
devScript: ./dev.sh
|
||||
|
||||
- runtime: linux-arm
|
||||
os: ubuntu-latest
|
||||
devScript: ./dev.sh
|
||||
|
||||
- runtime: osx-x64
|
||||
os: macOS-latest
|
||||
devScript: ./dev.sh
|
||||
|
||||
- runtime: win-x64
|
||||
os: windows-latest
|
||||
- os: windows-latest
|
||||
devScript: ./dev
|
||||
|
||||
# - runtime: win-x86
|
||||
# os: windows-latest
|
||||
# devScript: ./dev
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
|
||||
|
||||
# Build runner layout
|
||||
- name: Build & Layout Release
|
||||
run: |
|
||||
${{ matrix.devScript }} layout Release ${{ matrix.runtime }}
|
||||
${{ matrix.devScript }} layout Release
|
||||
working-directory: src
|
||||
|
||||
# Run tests
|
||||
@@ -55,19 +36,18 @@ jobs:
|
||||
run: |
|
||||
${{ matrix.devScript }} test
|
||||
working-directory: src
|
||||
if: matrix.runtime != 'linux-arm64' && matrix.runtime != 'linux-arm'
|
||||
|
||||
|
||||
# Create runner package tar.gz/zip
|
||||
- name: Package Release
|
||||
if: github.event_name != 'pull_request'
|
||||
run: |
|
||||
${{ matrix.devScript }} package Release
|
||||
working-directory: src
|
||||
|
||||
|
||||
# Upload runner package tar.gz/zip as artifact
|
||||
- name: Publish Artifact
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: runner-package-${{ matrix.runtime }}
|
||||
name: runner-package-${{ matrix.os }}
|
||||
path: _package
|
||||
|
||||
12
assets.json
12
assets.json
@@ -16,17 +16,5 @@
|
||||
"platform": "linux-x64",
|
||||
"version": "<RUNNER_VERSION>",
|
||||
"downloadUrl": "https://githubassets.azureedge.net/runners/<RUNNER_VERSION>/actions-runner-linux-x64-<RUNNER_VERSION>.tar.gz"
|
||||
},
|
||||
{
|
||||
"name": "actions-runner-linux-arm64-<RUNNER_VERSION>.tar.gz",
|
||||
"platform": "linux-arm64",
|
||||
"version": "<RUNNER_VERSION>",
|
||||
"downloadUrl": "https://githubassets.azureedge.net/runners/<RUNNER_VERSION>/actions-runner-linux-arm64-<RUNNER_VERSION>.tar.gz"
|
||||
},
|
||||
{
|
||||
"name": "actions-runner-linux-arm-<RUNNER_VERSION>.tar.gz",
|
||||
"platform": "linux-arm",
|
||||
"version": "<RUNNER_VERSION>",
|
||||
"downloadUrl": "https://githubassets.azureedge.net/runners/<RUNNER_VERSION>/actions-runner-linux-arm-<RUNNER_VERSION>.tar.gz"
|
||||
}
|
||||
]
|
||||
@@ -1,5 +1,5 @@
|
||||
stages:
|
||||
- stage: Build
|
||||
- stage: Build
|
||||
jobs:
|
||||
################################################################################
|
||||
- job: build_windows_agent_x64
|
||||
@@ -11,14 +11,12 @@ stages:
|
||||
|
||||
# Steps template for windows platform
|
||||
- template: windows.template.yml
|
||||
parameters:
|
||||
targetRuntime: win-x64
|
||||
|
||||
|
||||
# Package dotnet core windows dependency (VC++ Redistributable)
|
||||
- powershell: |
|
||||
Write-Host "Downloading 'VC++ Redistributable' package."
|
||||
$outDir = Join-Path -Path $env:TMP -ChildPath ([Guid]::NewGuid())
|
||||
New-Item -Path $outDir -ItemType directory
|
||||
New-Item -Path $outDir -ItemType directory
|
||||
$outFile = Join-Path -Path $outDir -ChildPath "ucrt.zip"
|
||||
Invoke-WebRequest -Uri https://vstsagenttools.blob.core.windows.net/tools/ucrt/ucrt_x64.zip -OutFile $outFile
|
||||
Write-Host "Unzipping 'VC++ Redistributable' package to agent layout."
|
||||
@@ -30,7 +28,7 @@ stages:
|
||||
displayName: Package UCRT
|
||||
|
||||
# Create agent package zip
|
||||
- script: dev.cmd package Release win-x64
|
||||
- script: dev.cmd package Release
|
||||
workingDirectory: src
|
||||
displayName: Package Release
|
||||
|
||||
@@ -42,47 +40,6 @@ stages:
|
||||
artifactName: runners
|
||||
artifactType: container
|
||||
|
||||
# ################################################################################
|
||||
# - job: build_windows_agent_x86
|
||||
# ################################################################################
|
||||
# displayName: Windows Agent (x86)
|
||||
# pool:
|
||||
# vmImage: vs2017-win2016
|
||||
# steps:
|
||||
|
||||
# # Steps template for windows platform
|
||||
# - template: windows.template.yml
|
||||
# parameters:
|
||||
# targetRuntime: win-x86
|
||||
|
||||
# # Package dotnet core windows dependency (VC++ Redistributable)
|
||||
# - powershell: |
|
||||
# Write-Host "Downloading 'VC++ Redistributable' package."
|
||||
# $outDir = Join-Path -Path $env:TMP -ChildPath ([Guid]::NewGuid())
|
||||
# New-Item -Path $outDir -ItemType directory
|
||||
# $outFile = Join-Path -Path $outDir -ChildPath "ucrt.zip"
|
||||
# Invoke-WebRequest -Uri https://vstsagenttools.blob.core.windows.net/tools/ucrt/ucrt_x86.zip -OutFile $outFile
|
||||
# Write-Host "Unzipping 'VC++ Redistributable' package to agent layout."
|
||||
# $unzipDir = Join-Path -Path $outDir -ChildPath "unzip"
|
||||
# Add-Type -AssemblyName System.IO.Compression.FileSystem
|
||||
# [System.IO.Compression.ZipFile]::ExtractToDirectory($outFile, $unzipDir)
|
||||
# $agentLayoutBin = Join-Path -Path $(Build.SourcesDirectory) -ChildPath "_layout\bin"
|
||||
# Copy-Item -Path $unzipDir -Destination $agentLayoutBin -Force
|
||||
# displayName: Package UCRT
|
||||
|
||||
# # Create agent package zip
|
||||
# - script: dev.cmd package Release win-x86
|
||||
# workingDirectory: src
|
||||
# displayName: Package Release
|
||||
|
||||
# # Upload agent package zip as build artifact
|
||||
# - task: PublishBuildArtifacts@1
|
||||
# displayName: Publish Artifact (Windows)
|
||||
# inputs:
|
||||
# pathToPublish: _package
|
||||
# artifactName: runners
|
||||
# artifactType: container
|
||||
|
||||
################################################################################
|
||||
- job: build_linux_agent_x64
|
||||
################################################################################
|
||||
@@ -93,76 +50,22 @@ stages:
|
||||
|
||||
# Steps template for non-windows platform
|
||||
- template: nonwindows.template.yml
|
||||
parameters:
|
||||
targetRuntime: linux-x64
|
||||
|
||||
# Create agent package zip
|
||||
- script: ./dev.sh package Release linux-x64
|
||||
- script: ./dev.sh package Release
|
||||
workingDirectory: src
|
||||
displayName: Package Release
|
||||
displayName: Package Release
|
||||
|
||||
# Upload agent package zip as build artifact
|
||||
- task: PublishBuildArtifacts@1
|
||||
displayName: Publish Artifact (Linux)
|
||||
displayName: Publish Artifact (Linux)
|
||||
inputs:
|
||||
pathToPublish: _package
|
||||
artifactName: runners
|
||||
artifactType: container
|
||||
|
||||
################################################################################
|
||||
- job: build_linux_agent_arm64
|
||||
################################################################################
|
||||
displayName: Linux Agent (arm64)
|
||||
pool:
|
||||
vmImage: ubuntu-16.04
|
||||
steps:
|
||||
|
||||
# Steps template for non-windows platform
|
||||
- template: nonwindows.template.yml
|
||||
parameters:
|
||||
targetRuntime: linux-arm64
|
||||
|
||||
# Create agent package zip
|
||||
- script: ./dev.sh package Release linux-arm64
|
||||
workingDirectory: src
|
||||
displayName: Package Release
|
||||
|
||||
# Upload agent package zip as build artifact
|
||||
- task: PublishBuildArtifacts@1
|
||||
displayName: Publish Artifact (Linux)
|
||||
inputs:
|
||||
pathToPublish: _package
|
||||
artifactName: runners
|
||||
artifactType: container
|
||||
|
||||
################################################################################
|
||||
- job: build_linux_agent_arm
|
||||
################################################################################
|
||||
displayName: Linux Agent (arm)
|
||||
pool:
|
||||
vmImage: ubuntu-16.04
|
||||
steps:
|
||||
|
||||
# Steps template for non-windows platform
|
||||
- template: nonwindows.template.yml
|
||||
parameters:
|
||||
targetRuntime: linux-arm
|
||||
|
||||
# Create agent package zip
|
||||
- script: ./dev.sh package Release linux-arm
|
||||
workingDirectory: src
|
||||
displayName: Package Release
|
||||
|
||||
# Upload agent package zip as build artifact
|
||||
- task: PublishBuildArtifacts@1
|
||||
displayName: Publish Artifact (Linux)
|
||||
inputs:
|
||||
pathToPublish: _package
|
||||
artifactName: runners
|
||||
artifactType: container
|
||||
|
||||
################################################################################
|
||||
- job: build_osx_agent_x64
|
||||
- job: build_osx_agent
|
||||
################################################################################
|
||||
displayName: macOS Agent (x64)
|
||||
pool:
|
||||
@@ -171,17 +74,15 @@ stages:
|
||||
|
||||
# Steps template for non-windows platform
|
||||
- template: nonwindows.template.yml
|
||||
parameters:
|
||||
targetRuntime: osx-x64
|
||||
|
||||
|
||||
# Create agent package zip
|
||||
- script: ./dev.sh package Release osx-x64
|
||||
- script: ./dev.sh package Release
|
||||
workingDirectory: src
|
||||
displayName: Package Release
|
||||
displayName: Package Release
|
||||
|
||||
# Upload agent package zip as build artifact
|
||||
- task: PublishBuildArtifacts@1
|
||||
displayName: Publish Artifact (OSX)
|
||||
displayName: Publish Artifact (OSX)
|
||||
inputs:
|
||||
pathToPublish: _package
|
||||
artifactName: runners
|
||||
@@ -197,7 +98,7 @@ stages:
|
||||
pool:
|
||||
name: ProductionRMAgents
|
||||
steps:
|
||||
|
||||
|
||||
# Download all agent packages from all previous phases
|
||||
- task: DownloadBuildArtifacts@0
|
||||
displayName: Download Agent Packages
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
## Supported Versions
|
||||
|
||||
- macOS High Sierra (10.13) and later versions
|
||||
- macOS Sierra (10.12) and later versions
|
||||
|
||||
|
||||
## [More .Net Core Prerequisites Information](https://docs.microsoft.com/en-us/dotnet/core/macos-prerequisites?tabs=netcore30)
|
||||
## [More .Net Core Prerequisites Information](https://docs.microsoft.com/en-us/dotnet/core/macos-prerequisites?tabs=netcore2x)
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
- Windows 7 64-bit
|
||||
- Windows 8.1 64-bit
|
||||
- Windows 10 64-bit
|
||||
- Windows Server 2008 R2 SP1 64-bit
|
||||
- Windows Server 2012 R2 64-bit
|
||||
- Windows Server 2016 64-bit
|
||||
- Windows Server 2019 64-bit
|
||||
|
||||
## [More .Net Core Prerequisites Information](https://docs.microsoft.com/en-us/dotnet/core/windows-prerequisites?tabs=netcore30)
|
||||
## [More .Net Core Prerequisites Information](https://docs.microsoft.com/en-us/dotnet/core/windows-prerequisites?tabs=netcore2x)
|
||||
|
||||
@@ -1,18 +1,14 @@
|
||||
parameters:
|
||||
targetRuntime: ''
|
||||
|
||||
steps:
|
||||
|
||||
# Build agent layout
|
||||
- script: ./dev.sh layout Release ${{ parameters.targetRuntime }}
|
||||
- script: ./dev.sh layout Release
|
||||
workingDirectory: src
|
||||
displayName: Build & Layout Release ${{ parameters.targetRuntime }}
|
||||
displayName: Build & Layout Release
|
||||
|
||||
# Run test
|
||||
- script: ./dev.sh test
|
||||
workingDirectory: src
|
||||
displayName: Test
|
||||
condition: and(ne('${{ parameters.targetRuntime }}', 'linux-arm64'), ne('${{ parameters.targetRuntime }}', 'linux-arm'))
|
||||
|
||||
# # Publish test results
|
||||
# - task: PublishTestResults@2
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
## Features
|
||||
- Add packages for Windows x86 (win-x6), Linux ARM32 (linux-arm), Linux ARM64 (linux-arm64)
|
||||
- N/A
|
||||
|
||||
## Bugs
|
||||
- N/A
|
||||
- Test Release please ignore
|
||||
|
||||
## Misc
|
||||
- N/A
|
||||
- Updated to .NET Core 3.0 (#127)
|
||||
|
||||
## Agent Downloads
|
||||
|
||||
@@ -14,8 +14,6 @@
|
||||
| Windows x64 | [actions-runner-win-x64-<RUNNER_VERSION>.zip](https://githubassets.azureedge.net/runners/<RUNNER_VERSION>/actions-runner-win-x64-<RUNNER_VERSION>.zip) |
|
||||
| macOS | [actions-runner-osx-x64-<RUNNER_VERSION>.tar.gz](https://githubassets.azureedge.net/runners/<RUNNER_VERSION>/actions-runner-osx-x64-<RUNNER_VERSION>.tar.gz) |
|
||||
| Linux x64 | [actions-runner-linux-x64-<RUNNER_VERSION>.tar.gz](https://githubassets.azureedge.net/runners/<RUNNER_VERSION>/actions-runner-linux-x64-<RUNNER_VERSION>.tar.gz) |
|
||||
| Linux arm64 | [actions-runner-linux-arm64-<RUNNER_VERSION>.tar.gz](https://githubassets.azureedge.net/runners/<RUNNER_VERSION>/actions-runner-linux-arm64-<RUNNER_VERSION>.tar.gz) |
|
||||
| Linux arm | [actions-runner-linux-arm-<RUNNER_VERSION>.tar.gz](https://githubassets.azureedge.net/runners/<RUNNER_VERSION>/actions-runner-linux-arm-<RUNNER_VERSION>.tar.gz) |
|
||||
|
||||
After Download:
|
||||
|
||||
@@ -39,17 +37,3 @@ C:\myagent> Add-Type -AssemblyName System.IO.Compression.FileSystem ; [System.IO
|
||||
~/$ mkdir myagent && cd myagent
|
||||
~/myagent$ tar xzf ~/Downloads/actions-runner-linux-x64-<RUNNER_VERSION>.tar.gz
|
||||
```
|
||||
|
||||
## Linux arm64
|
||||
|
||||
``` bash
|
||||
~/$ mkdir myagent && cd myagent
|
||||
~/myagent$ tar xzf ~/Downloads/actions-runner-linux-arm64-<RUNNER_VERSION>.tar.gz
|
||||
```
|
||||
|
||||
## Linux arm
|
||||
|
||||
``` bash
|
||||
~/$ mkdir myagent && cd myagent
|
||||
~/myagent$ tar xzf ~/Downloads/actions-runner-linux-arm-<RUNNER_VERSION>.tar.gz
|
||||
```
|
||||
@@ -35,12 +35,12 @@
|
||||
<PropertyGroup Condition="'$(BUILD_OS)' == 'Linux' AND ('$(PackageRuntime)' == 'linux-x64' OR '$(PackageRuntime)' == '')">
|
||||
<DefineConstants>$(DefineConstants);X64</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(BUILD_OS)' == 'Linux' AND '$(PackageRuntime)' == 'rhel.6-x64'">
|
||||
<DefineConstants>$(DefineConstants);X64</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(BUILD_OS)' == 'Linux' AND '$(PackageRuntime)' == 'linux-arm'">
|
||||
<DefineConstants>$(DefineConstants);ARM</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(BUILD_OS)' == 'Linux' AND '$(PackageRuntime)' == 'linux-arm64'">
|
||||
<DefineConstants>$(DefineConstants);ARM64</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Set TRACE/DEBUG vars -->
|
||||
<PropertyGroup>
|
||||
|
||||
@@ -123,9 +123,9 @@ function acquireExternalTool() {
|
||||
}
|
||||
|
||||
# Download the external tools only for Windows.
|
||||
if [[ "$PACKAGERUNTIME" == "win-x64" || "$PACKAGERUNTIME" == "win-x86" ]]; then
|
||||
acquireExternalTool "$NODE_URL/v${NODE12_VERSION}/$PACKAGERUNTIME/node.exe" node12/bin
|
||||
acquireExternalTool "$NODE_URL/v${NODE12_VERSION}/$PACKAGERUNTIME/node.lib" node12/bin
|
||||
if [[ "$PACKAGERUNTIME" == "win-x64" ]]; then
|
||||
acquireExternalTool "$NODE_URL/v${NODE12_VERSION}/win-x64/node.exe" node12/bin
|
||||
acquireExternalTool "$NODE_URL/v${NODE12_VERSION}/win-x64/node.lib" node12/bin
|
||||
if [[ "$PRECACHE" != "" ]]; then
|
||||
acquireExternalTool "https://github.com/microsoft/vswhere/releases/download/2.6.7/vswhere.exe" vswhere
|
||||
fi
|
||||
@@ -136,23 +136,13 @@ if [[ "$PACKAGERUNTIME" == "osx-x64" ]]; then
|
||||
acquireExternalTool "$NODE_URL/v${NODE12_VERSION}/node-v${NODE12_VERSION}-darwin-x64.tar.gz" node12 fix_nested_dir
|
||||
fi
|
||||
|
||||
# Download the external tools for Linux PACKAGERUNTIMEs.
|
||||
# Download the external tools common across Linux PACKAGERUNTIMEs (excluding OSX).
|
||||
if [[ "$PACKAGERUNTIME" == "linux-x64" || "$PACKAGERUNTIME" == "rhel.6-x64" ]]; then
|
||||
acquireExternalTool "$NODE_URL/v${NODE12_VERSION}/node-v${NODE12_VERSION}-linux-x64.tar.gz" node12 fix_nested_dir
|
||||
# TODO: Repath this blob to use a consistent version format (_ vs .)
|
||||
acquireExternalTool "https://vstsagenttools.blob.core.windows.net/tools/nodejs/12_4_0/alpine/node-v${NODE12_VERSION}-alpine.tar.gz" node12_alpine
|
||||
# acquireExternalTool "https://vstsagenttools.blob.core.windows.net/tools/nodejs/12.13.0/alpine/x64/node-v${NODE12_VERSION}-alpine-x64.tar.gz" node12_alpine
|
||||
fi
|
||||
|
||||
if [[ "$PACKAGERUNTIME" == "linux-arm64" ]]; then
|
||||
acquireExternalTool "$NODE_URL/v${NODE12_VERSION}/node-v${NODE12_VERSION}-linux-arm64.tar.gz" node12 fix_nested_dir
|
||||
# TODO: alpine node runtime for arm64(8)
|
||||
# acquireExternalTool "https://vstsagenttools.blob.core.windows.net/tools/nodejs/12.13.0/alpine/arm64/node-v${NODE12_VERSION}-alpine-arm64.tar.gz" node12_alpine
|
||||
fi
|
||||
|
||||
if [[ "$PACKAGERUNTIME" == "linux-arm" ]]; then
|
||||
acquireExternalTool "$NODE_URL/v${NODE12_VERSION}/node-v${NODE12_VERSION}-linux-armv7l.tar.gz" node12 fix_nested_dir
|
||||
# TODO: alpine node runtime for arm32(7)
|
||||
# Need to set up custom gcc toolchain to cross compile on x64 ubuntu for armv7 (per https://github.com/nodejs/node/blob/master/BUILDING.md)
|
||||
# acquireExternalTool "https://vstsagenttools.blob.core.windows.net/tools/nodejs/12.13.0/alpine/arm/node-v${NODE12_VERSION}-alpine-arm.tar.gz" node12_alpine
|
||||
fi
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||
<OutputType>Library</OutputType>
|
||||
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
||||
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
||||
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
|
||||
<AssetTargetFallback>portable-net45+win8</AssetTargetFallback>
|
||||
<NoWarn>NU1701;NU1603</NoWarn>
|
||||
|
||||
@@ -54,8 +54,6 @@ namespace GitHub.Runner.Common.Util
|
||||
return "X64";
|
||||
case Constants.Architecture.Arm:
|
||||
return "ARM";
|
||||
case Constants.Architecture.Arm64:
|
||||
return "ARM64";
|
||||
default:
|
||||
throw new NotSupportedException(); // Should never reach here.
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||
<OutputType>Exe</OutputType>
|
||||
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
||||
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
||||
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
|
||||
<AssetTargetFallback>portable-net45+win8</AssetTargetFallback>
|
||||
<NoWarn>NU1701;NU1603</NoWarn>
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||
<OutputType>Exe</OutputType>
|
||||
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
||||
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
||||
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
|
||||
<AssetTargetFallback>portable-net45+win8</AssetTargetFallback>
|
||||
<NoWarn>NU1701;NU1603</NoWarn>
|
||||
<Version>$(Version)</Version>
|
||||
<TieredCompilationQuickJit>true</TieredCompilationQuickJit>
|
||||
<PublishReadyToRun>true</PublishReadyToRun>
|
||||
<PublishReadyToRun>true</PublishReadyToRun>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||
<OutputType>Library</OutputType>
|
||||
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
||||
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
||||
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
|
||||
<AssetTargetFallback>portable-net45+win8</AssetTargetFallback>
|
||||
<NoWarn>NU1701;NU1603</NoWarn>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||
<OutputType>Library</OutputType>
|
||||
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
||||
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
||||
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
|
||||
<AssetTargetFallback>portable-net45+win8</AssetTargetFallback>
|
||||
<NoWarn>NU1701;NU1603</NoWarn>
|
||||
|
||||
@@ -73,7 +73,7 @@ namespace GitHub.Runner.Worker
|
||||
return false;
|
||||
}
|
||||
|
||||
// process action command in serialize order.
|
||||
// process action command in serialize oreder.
|
||||
lock (_commandSerializeLock)
|
||||
{
|
||||
if (_stopProcessCommand)
|
||||
@@ -107,19 +107,32 @@ namespace GitHub.Runner.Worker
|
||||
}
|
||||
else if (_commandExtensions.TryGetValue(actionCommand.Command, out IActionCommandExtension extension))
|
||||
{
|
||||
if (context.EchoOnActionCommand && !extension.OmitEcho)
|
||||
{
|
||||
context.Output(input);
|
||||
}
|
||||
bool commandHasBeenOutput = false;
|
||||
|
||||
try
|
||||
{
|
||||
if (context.EchoOnActionCommand)
|
||||
{
|
||||
context.Output(input);
|
||||
context.Debug($"Processing command '{actionCommand.Command}'");
|
||||
commandHasBeenOutput = true;
|
||||
}
|
||||
|
||||
extension.ProcessCommand(context, input, actionCommand);
|
||||
|
||||
if (context.EchoOnActionCommand)
|
||||
{
|
||||
context.Debug($"Processed command '{actionCommand.Command}' successfully");
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
var commandInformation = extension.OmitEcho ? extension.Command : input;
|
||||
context.Error($"Unable to process command '{commandInformation}' successfully.");
|
||||
if (!commandHasBeenOutput)
|
||||
{
|
||||
context.Output(input);
|
||||
}
|
||||
|
||||
context.Error($"Unable to process command '{input}' successfully.");
|
||||
context.Error(ex);
|
||||
context.CommandResult = TaskResult.Failed;
|
||||
}
|
||||
@@ -138,7 +151,6 @@ namespace GitHub.Runner.Worker
|
||||
public interface IActionCommandExtension : IExtension
|
||||
{
|
||||
string Command { get; }
|
||||
bool OmitEcho { get; }
|
||||
|
||||
void ProcessCommand(IExecutionContext context, string line, ActionCommand command);
|
||||
}
|
||||
@@ -146,7 +158,6 @@ namespace GitHub.Runner.Worker
|
||||
public sealed class InternalPluginSetRepoPathCommandExtension : RunnerService, IActionCommandExtension
|
||||
{
|
||||
public string Command => "internal-set-repo-path";
|
||||
public bool OmitEcho => false;
|
||||
|
||||
public Type ExtensionType => typeof(IActionCommandExtension);
|
||||
|
||||
@@ -176,7 +187,6 @@ namespace GitHub.Runner.Worker
|
||||
public sealed class SetEnvCommandExtension : RunnerService, IActionCommandExtension
|
||||
{
|
||||
public string Command => "set-env";
|
||||
public bool OmitEcho => false;
|
||||
|
||||
public Type ExtensionType => typeof(IActionCommandExtension);
|
||||
|
||||
@@ -201,7 +211,6 @@ namespace GitHub.Runner.Worker
|
||||
public sealed class SetOutputCommandExtension : RunnerService, IActionCommandExtension
|
||||
{
|
||||
public string Command => "set-output";
|
||||
public bool OmitEcho => false;
|
||||
|
||||
public Type ExtensionType => typeof(IActionCommandExtension);
|
||||
|
||||
@@ -225,7 +234,6 @@ namespace GitHub.Runner.Worker
|
||||
public sealed class SaveStateCommandExtension : RunnerService, IActionCommandExtension
|
||||
{
|
||||
public string Command => "save-state";
|
||||
public bool OmitEcho => false;
|
||||
|
||||
public Type ExtensionType => typeof(IActionCommandExtension);
|
||||
|
||||
@@ -249,7 +257,6 @@ namespace GitHub.Runner.Worker
|
||||
public sealed class AddMaskCommandExtension : RunnerService, IActionCommandExtension
|
||||
{
|
||||
public string Command => "add-mask";
|
||||
public bool OmitEcho => true;
|
||||
|
||||
public Type ExtensionType => typeof(IActionCommandExtension);
|
||||
|
||||
@@ -261,11 +268,6 @@ namespace GitHub.Runner.Worker
|
||||
}
|
||||
else
|
||||
{
|
||||
if (context.EchoOnActionCommand)
|
||||
{
|
||||
context.Output($"::{Command}::***");
|
||||
}
|
||||
|
||||
HostContext.SecretMasker.AddValue(command.Data);
|
||||
Trace.Info($"Add new secret mask with length of {command.Data.Length}");
|
||||
}
|
||||
@@ -275,7 +277,6 @@ namespace GitHub.Runner.Worker
|
||||
public sealed class AddPathCommandExtension : RunnerService, IActionCommandExtension
|
||||
{
|
||||
public string Command => "add-path";
|
||||
public bool OmitEcho => false;
|
||||
|
||||
public Type ExtensionType => typeof(IActionCommandExtension);
|
||||
|
||||
@@ -290,7 +291,6 @@ namespace GitHub.Runner.Worker
|
||||
public sealed class AddMatcherCommandExtension : RunnerService, IActionCommandExtension
|
||||
{
|
||||
public string Command => "add-matcher";
|
||||
public bool OmitEcho => false;
|
||||
|
||||
public Type ExtensionType => typeof(IActionCommandExtension);
|
||||
|
||||
@@ -337,7 +337,6 @@ namespace GitHub.Runner.Worker
|
||||
public sealed class RemoveMatcherCommandExtension : RunnerService, IActionCommandExtension
|
||||
{
|
||||
public string Command => "remove-matcher";
|
||||
public bool OmitEcho => false;
|
||||
|
||||
public Type ExtensionType => typeof(IActionCommandExtension);
|
||||
|
||||
@@ -405,7 +404,6 @@ namespace GitHub.Runner.Worker
|
||||
public sealed class DebugCommandExtension : RunnerService, IActionCommandExtension
|
||||
{
|
||||
public string Command => "debug";
|
||||
public bool OmitEcho => true;
|
||||
|
||||
public Type ExtensionType => typeof(IActionCommandExtension);
|
||||
|
||||
@@ -433,7 +431,6 @@ namespace GitHub.Runner.Worker
|
||||
{
|
||||
public abstract IssueType Type { get; }
|
||||
public abstract string Command { get; }
|
||||
public bool OmitEcho => true;
|
||||
|
||||
public Type ExtensionType => typeof(IActionCommandExtension);
|
||||
|
||||
@@ -513,8 +510,6 @@ namespace GitHub.Runner.Worker
|
||||
public abstract class GroupingCommandExtension : RunnerService, IActionCommandExtension
|
||||
{
|
||||
public abstract string Command { get; }
|
||||
public bool OmitEcho => false;
|
||||
|
||||
public Type ExtensionType => typeof(IActionCommandExtension);
|
||||
|
||||
public void ProcessCommand(IExecutionContext context, string line, ActionCommand command)
|
||||
@@ -527,7 +522,6 @@ namespace GitHub.Runner.Worker
|
||||
public sealed class EchoCommandExtension : RunnerService, IActionCommandExtension
|
||||
{
|
||||
public string Command => "echo";
|
||||
public bool OmitEcho => false;
|
||||
|
||||
public Type ExtensionType => typeof(IActionCommandExtension);
|
||||
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||
<OutputType>Exe</OutputType>
|
||||
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
||||
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
||||
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
|
||||
<AssetTargetFallback>portable-net45+win8</AssetTargetFallback>
|
||||
<NoWarn>NU1701;NU1603</NoWarn>
|
||||
<Version>$(Version)</Version>
|
||||
<TieredCompilationQuickJit>true</TieredCompilationQuickJit>
|
||||
<PublishReadyToRun>true</PublishReadyToRun>
|
||||
<PublishReadyToRun>true</PublishReadyToRun>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||
<OutputType>Library</OutputType>
|
||||
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
||||
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
||||
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
|
||||
<AssetTargetFallback>portable-net45+win8</AssetTargetFallback>
|
||||
<NoWarn>NU1701;NU1603</NoWarn>
|
||||
|
||||
@@ -18,7 +18,6 @@ namespace GitHub.Runner.Common.Tests
|
||||
"win-x86",
|
||||
"linux-x64",
|
||||
"linux-arm",
|
||||
"linux-arm64",
|
||||
"rhel.6-x64",
|
||||
"osx-x64"
|
||||
};
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
||||
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
||||
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
|
||||
<AssetTargetFallback>portable-net45+win8</AssetTargetFallback>
|
||||
<NoWarn>NU1701;NU1603;NU1603;xUnit2013;</NoWarn>
|
||||
|
||||
103
src/dev.sh
103
src/dev.sh
@@ -10,7 +10,6 @@ set -e
|
||||
|
||||
DEV_CMD=$1
|
||||
DEV_CONFIG=$2
|
||||
DEV_TARGET_RUNTIME=$3
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
LAYOUT_DIR="$SCRIPT_DIR/../_layout"
|
||||
@@ -34,32 +33,29 @@ if [[ ($(uname) == "Linux") || ($(uname) == "Darwin") ]]; then
|
||||
fi
|
||||
|
||||
if [[ "$CURRENT_PLATFORM" == 'windows' ]]; then
|
||||
RUNTIME_ID='win-x64'
|
||||
if [[ "$PROCESSOR_ARCHITECTURE" == 'x86' ]]; then
|
||||
RUNTIME_ID='win-x86'
|
||||
fi
|
||||
RUNTIME_ID='win-x64'
|
||||
if [[ "$PROCESSOR_ARCHITECTURE" == 'x86' ]]; then
|
||||
RUNTIME_ID='win-x86'
|
||||
fi
|
||||
elif [[ "$CURRENT_PLATFORM" == 'linux' ]]; then
|
||||
RUNTIME_ID="linux-x64"
|
||||
if command -v uname > /dev/null; then
|
||||
CPU_NAME=$(uname -m)
|
||||
case $CPU_NAME in
|
||||
armv7l) RUNTIME_ID="linux-arm";;
|
||||
aarch64) RUNTIME_ID="linux-arm64";;
|
||||
esac
|
||||
fi
|
||||
|
||||
if [ -e /etc/redhat-release ]; then
|
||||
redhatRelease=$(</etc/redhat-release)
|
||||
if [[ $redhatRelease == "CentOS release 6."* || $redhatRelease == "Red Hat Enterprise Linux Server release 6."* ]]; then
|
||||
RUNTIME_ID='rhel.6-x64'
|
||||
fi
|
||||
fi
|
||||
RUNTIME_ID="linux-x64"
|
||||
if command -v uname > /dev/null; then
|
||||
CPU_NAME=$(uname -m)
|
||||
case $CPU_NAME in
|
||||
armv7l) RUNTIME_ID="linux-arm";;
|
||||
aarch64) RUNTIME_ID="linux-arm";;
|
||||
esac
|
||||
fi
|
||||
|
||||
if [ -e /etc/redhat-release ]; then
|
||||
redhatRelease=$(</etc/redhat-release)
|
||||
if [[ $redhatRelease == "CentOS release 6."* || $redhatRelease == "Red Hat Enterprise Linux Server release 6."* ]]; then
|
||||
RUNTIME_ID='rhel.6-x64'
|
||||
fi
|
||||
fi
|
||||
|
||||
elif [[ "$CURRENT_PLATFORM" == 'darwin' ]]; then
|
||||
RUNTIME_ID='osx-x64'
|
||||
fi
|
||||
|
||||
if [[ -n "$DEV_TARGET_RUNTIME" ]]; then
|
||||
RUNTIME_ID="$DEV_TARGET_RUNTIME"
|
||||
RUNTIME_ID='osx-x64'
|
||||
fi
|
||||
|
||||
# Make sure current platform support publish the dotnet runtime
|
||||
@@ -67,34 +63,34 @@ fi
|
||||
# Linux can publish linux-x64/arm/rhel.6-x64
|
||||
# OSX can publish osx-x64
|
||||
if [[ "$CURRENT_PLATFORM" == 'windows' ]]; then
|
||||
if [[ ("$RUNTIME_ID" != 'win-x86') && ("$RUNTIME_ID" != 'win-x64') ]]; then
|
||||
echo "Failed: Can't build $RUNTIME_ID package $CURRENT_PLATFORM" >&2
|
||||
exit 1
|
||||
fi
|
||||
if [[ ("$RUNTIME_ID" != 'win-x86') && ("$RUNTIME_ID" != 'win-x64') ]]; then
|
||||
echo "Failed: Can't build $RUNTIME_ID package $CURRENT_PLATFORM" >&2
|
||||
exit 1
|
||||
fi
|
||||
elif [[ "$CURRENT_PLATFORM" == 'linux' ]]; then
|
||||
if [[ ("$RUNTIME_ID" != 'linux-x64') && ("$RUNTIME_ID" != 'linux-x86') && ("$RUNTIME_ID" != 'linux-arm64') && ("$RUNTIME_ID" != 'linux-arm') && ("$RUNTIME_ID" != 'rhel.6-x64') ]]; then
|
||||
echo "Failed: Can't build $RUNTIME_ID package $CURRENT_PLATFORM" >&2
|
||||
exit 1
|
||||
fi
|
||||
if [[ ("$RUNTIME_ID" != 'linux-x64') && ("$RUNTIME_ID" != 'linux-arm') && ("$RUNTIME_ID" != 'rhel.6-x64') ]]; then
|
||||
echo "Failed: Can't build $RUNTIME_ID package $CURRENT_PLATFORM" >&2
|
||||
exit 1
|
||||
fi
|
||||
elif [[ "$CURRENT_PLATFORM" == 'darwin' ]]; then
|
||||
if [[ ("$RUNTIME_ID" != 'osx-x64') ]]; then
|
||||
echo "Failed: Can't build $RUNTIME_ID package $CURRENT_PLATFORM" >&2
|
||||
exit 1
|
||||
fi
|
||||
if [[ ("$RUNTIME_ID" != 'osx-x64') ]]; then
|
||||
echo "Failed: Can't build $RUNTIME_ID package $CURRENT_PLATFORM" >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
function failed()
|
||||
{
|
||||
local error=${1:-Undefined error}
|
||||
echo "Failed: $error" >&2
|
||||
popd
|
||||
exit 1
|
||||
local error=${1:-Undefined error}
|
||||
echo "Failed: $error" >&2
|
||||
popd
|
||||
exit 1
|
||||
}
|
||||
|
||||
function warn()
|
||||
{
|
||||
local error=${1:-Undefined error}
|
||||
echo "WARNING - FAILED: $error" >&2
|
||||
local error=${1:-Undefined error}
|
||||
echo "WARNING - FAILED: $error" >&2
|
||||
}
|
||||
|
||||
function checkRC() {
|
||||
@@ -155,8 +151,7 @@ function package ()
|
||||
echo "You must build first. Expecting to find ${LAYOUT_DIR}/bin"
|
||||
fi
|
||||
|
||||
# TODO: We are cross-compiling arm on x64 so we cant exec Runner.Listener. Remove after building on native arm host
|
||||
runner_ver=$("${LAYOUT_DIR}/bin/Runner.Listener" --version) || runner_ver=$(cat runnerversion) || failed "version"
|
||||
runner_ver=$("${LAYOUT_DIR}/bin/Runner.Listener" --version) || failed "version"
|
||||
runner_pkg_name="actions-runner-${RUNTIME_ID}-${runner_ver}"
|
||||
|
||||
heading "Packaging ${runner_pkg_name}"
|
||||
@@ -236,15 +231,15 @@ if [[ "$CURRENT_PLATFORM" == 'windows' ]]; then
|
||||
fi
|
||||
|
||||
case $DEV_CMD in
|
||||
"build") build;;
|
||||
"b") build;;
|
||||
"test") runtest;;
|
||||
"t") runtest;;
|
||||
"layout") layout;;
|
||||
"l") layout;;
|
||||
"package") package;;
|
||||
"p") package;;
|
||||
*) echo "Invalid cmd. Use build(b), test(t), layout(l) or package(p)";;
|
||||
"build") build;;
|
||||
"b") build;;
|
||||
"test") runtest;;
|
||||
"t") runtest;;
|
||||
"layout") layout;;
|
||||
"l") layout;;
|
||||
"package") package;;
|
||||
"p") package;;
|
||||
*) echo "Invalid cmd. Use build(b), test(t), layout(l) or package(p)";;
|
||||
esac
|
||||
|
||||
popd
|
||||
|
||||
@@ -1 +1 @@
|
||||
2.161.0
|
||||
2.159.9
|
||||
@@ -1,12 +1,9 @@
|
||||
parameters:
|
||||
targetRuntime: ''
|
||||
|
||||
steps:
|
||||
|
||||
# Build agent layout
|
||||
- script: dev.cmd layout Release ${{ parameters.targetRuntime }}
|
||||
- script: dev.cmd layout Release
|
||||
workingDirectory: src
|
||||
displayName: Build & Layout Release ${{ parameters.targetRuntime }}
|
||||
displayName: Build & Layout Release
|
||||
|
||||
# Run test
|
||||
- script: dev.cmd test
|
||||
|
||||
Reference in New Issue
Block a user