mirror of
https://github.com/actions/runner.git
synced 2025-12-10 20:36:49 +00:00
Cross compile for win-x86, linux-arm, linux-arm64
This commit is contained in:
@@ -10,6 +10,52 @@ jobs:
|
|||||||
|
|
||||||
# Steps template for windows platform
|
# Steps template for windows platform
|
||||||
- template: windows.template.yml
|
- 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
|
||||||
|
$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."
|
||||||
|
$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
|
||||||
|
condition: and(succeeded(), ne(variables['build.reason'], 'PullRequest'))
|
||||||
|
|
||||||
|
# Create agent package zip
|
||||||
|
- script: dev.cmd package Release
|
||||||
|
workingDirectory: src
|
||||||
|
displayName: Package Release
|
||||||
|
condition: and(succeeded(), ne(variables['build.reason'], 'PullRequest'))
|
||||||
|
|
||||||
|
# Upload agent package zip as build artifact
|
||||||
|
- task: PublishBuildArtifacts@1
|
||||||
|
displayName: Publish Artifact (Windows x64)
|
||||||
|
condition: and(succeeded(), ne(variables['build.reason'], 'PullRequest'))
|
||||||
|
inputs:
|
||||||
|
pathToPublish: _package
|
||||||
|
artifactName: agent
|
||||||
|
artifactType: container
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
- job: build_windows_x86_agent
|
||||||
|
################################################################################
|
||||||
|
displayName: Windows Agent (x64)
|
||||||
|
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)
|
# Package dotnet core windows dependency (VC++ Redistributable)
|
||||||
- powershell: |
|
- powershell: |
|
||||||
@@ -52,6 +98,64 @@ jobs:
|
|||||||
|
|
||||||
# Steps template for non-windows platform
|
# Steps template for non-windows platform
|
||||||
- template: nonwindows.template.yml
|
- template: nonwindows.template.yml
|
||||||
|
parameters:
|
||||||
|
targetRuntime: linux-x64
|
||||||
|
|
||||||
|
# Create agent package zip
|
||||||
|
- script: ./dev.sh package Release
|
||||||
|
workingDirectory: src
|
||||||
|
displayName: Package Release
|
||||||
|
condition: and(succeeded(), ne(variables['build.reason'], 'PullRequest'))
|
||||||
|
|
||||||
|
# Upload agent package zip as build artifact
|
||||||
|
- task: PublishBuildArtifacts@1
|
||||||
|
displayName: Publish Artifact (Linux x64)
|
||||||
|
condition: and(succeeded(), ne(variables['build.reason'], 'PullRequest'))
|
||||||
|
inputs:
|
||||||
|
pathToPublish: _package
|
||||||
|
artifactName: agent
|
||||||
|
artifactType: container
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
- job: build_linux_arm64_agent
|
||||||
|
################################################################################
|
||||||
|
displayName: Linux Agent (x64)
|
||||||
|
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
|
||||||
|
workingDirectory: src
|
||||||
|
displayName: Package Release
|
||||||
|
condition: and(succeeded(), ne(variables['build.reason'], 'PullRequest'))
|
||||||
|
|
||||||
|
# Upload agent package zip as build artifact
|
||||||
|
- task: PublishBuildArtifacts@1
|
||||||
|
displayName: Publish Artifact (Linux x64)
|
||||||
|
condition: and(succeeded(), ne(variables['build.reason'], 'PullRequest'))
|
||||||
|
inputs:
|
||||||
|
pathToPublish: _package
|
||||||
|
artifactName: agent
|
||||||
|
artifactType: container
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
- job: build_linux_arm32_agent
|
||||||
|
################################################################################
|
||||||
|
displayName: Linux Agent (x64)
|
||||||
|
pool:
|
||||||
|
vmImage: ubuntu-16.04
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# Steps template for non-windows platform
|
||||||
|
- template: nonwindows.template.yml
|
||||||
|
parameters:
|
||||||
|
targetRuntime: linux-arm
|
||||||
|
|
||||||
# Create agent package zip
|
# Create agent package zip
|
||||||
- script: ./dev.sh package Release
|
- script: ./dev.sh package Release
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
|
parameters:
|
||||||
|
targetRuntime: ''
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
# Build agent layout
|
# Build agent layout
|
||||||
- script: ./dev.sh layout Release
|
- script: ./dev.sh layout Release ${{ parameters.targetRuntime }}
|
||||||
workingDirectory: src
|
workingDirectory: src
|
||||||
displayName: Build & Layout Release
|
displayName: Build & Layout Release ${{ parameters.targetRuntime }}
|
||||||
|
|
||||||
# Run test
|
# Run test
|
||||||
- script: ./dev.sh test
|
- script: ./dev.sh test
|
||||||
|
|||||||
@@ -41,6 +41,9 @@
|
|||||||
<PropertyGroup Condition="'$(BUILD_OS)' == 'Linux' AND '$(PackageRuntime)' == 'linux-arm'">
|
<PropertyGroup Condition="'$(BUILD_OS)' == 'Linux' AND '$(PackageRuntime)' == 'linux-arm'">
|
||||||
<DefineConstants>$(DefineConstants);ARM</DefineConstants>
|
<DefineConstants>$(DefineConstants);ARM</DefineConstants>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(BUILD_OS)' == 'Linux' AND '$(PackageRuntime)' == 'linux-arm64'">
|
||||||
|
<DefineConstants>$(DefineConstants);ARM64</DefineConstants>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
<!-- Set TRACE/DEBUG vars -->
|
<!-- Set TRACE/DEBUG vars -->
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
|||||||
@@ -136,6 +136,7 @@ if [[ "$PACKAGERUNTIME" == "osx-x64" ]]; then
|
|||||||
acquireExternalTool "$NODE_URL/v${NODE12_VERSION}/node-v${NODE12_VERSION}-darwin-x64.tar.gz" node12 fix_nested_dir
|
acquireExternalTool "$NODE_URL/v${NODE12_VERSION}/node-v${NODE12_VERSION}-darwin-x64.tar.gz" node12 fix_nested_dir
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# TODO make sure linux[x64, x84, arm64(8), arm32(7)] are listed
|
||||||
# Download the external tools common across Linux PACKAGERUNTIMEs (excluding OSX).
|
# Download the external tools common across Linux PACKAGERUNTIMEs (excluding OSX).
|
||||||
if [[ "$PACKAGERUNTIME" == "linux-x64" || "$PACKAGERUNTIME" == "rhel.6-x64" ]]; then
|
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
|
acquireExternalTool "$NODE_URL/v${NODE12_VERSION}/node-v${NODE12_VERSION}-linux-x64.tar.gz" node12 fix_nested_dir
|
||||||
@@ -143,6 +144,10 @@ if [[ "$PACKAGERUNTIME" == "linux-x64" || "$PACKAGERUNTIME" == "rhel.6-x64" ]];
|
|||||||
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_4_0/alpine/node-v${NODE12_VERSION}-alpine.tar.gz" node12_alpine
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ "$PACKAGERUNTIME" == "linux-arm64" ]]; then
|
||||||
|
acquireExternalTool "$NODE_URL/v${NODE12_VERSION}/node-v${NODE12_VERSION}-linux-armv64.tar.gz" node12 fix_nested_dir
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ "$PACKAGERUNTIME" == "linux-arm" ]]; then
|
if [[ "$PACKAGERUNTIME" == "linux-arm" ]]; then
|
||||||
acquireExternalTool "$NODE_URL/v${NODE12_VERSION}/node-v${NODE12_VERSION}-linux-armv7l.tar.gz" node12 fix_nested_dir
|
acquireExternalTool "$NODE_URL/v${NODE12_VERSION}/node-v${NODE12_VERSION}-linux-armv7l.tar.gz" node12 fix_nested_dir
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
||||||
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
|
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
|
||||||
<AssetTargetFallback>portable-net45+win8</AssetTargetFallback>
|
<AssetTargetFallback>portable-net45+win8</AssetTargetFallback>
|
||||||
<NoWarn>NU1701;NU1603</NoWarn>
|
<NoWarn>NU1701;NU1603</NoWarn>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
||||||
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
|
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
|
||||||
<AssetTargetFallback>portable-net45+win8</AssetTargetFallback>
|
<AssetTargetFallback>portable-net45+win8</AssetTargetFallback>
|
||||||
<NoWarn>NU1701;NU1603</NoWarn>
|
<NoWarn>NU1701;NU1603</NoWarn>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
||||||
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
|
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
|
||||||
<AssetTargetFallback>portable-net45+win8</AssetTargetFallback>
|
<AssetTargetFallback>portable-net45+win8</AssetTargetFallback>
|
||||||
<NoWarn>NU1701;NU1603</NoWarn>
|
<NoWarn>NU1701;NU1603</NoWarn>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
||||||
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
|
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
|
||||||
<AssetTargetFallback>portable-net45+win8</AssetTargetFallback>
|
<AssetTargetFallback>portable-net45+win8</AssetTargetFallback>
|
||||||
<NoWarn>NU1701;NU1603</NoWarn>
|
<NoWarn>NU1701;NU1603</NoWarn>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
||||||
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
|
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
|
||||||
<AssetTargetFallback>portable-net45+win8</AssetTargetFallback>
|
<AssetTargetFallback>portable-net45+win8</AssetTargetFallback>
|
||||||
<NoWarn>NU1701;NU1603</NoWarn>
|
<NoWarn>NU1701;NU1603</NoWarn>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
||||||
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
|
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
|
||||||
<AssetTargetFallback>portable-net45+win8</AssetTargetFallback>
|
<AssetTargetFallback>portable-net45+win8</AssetTargetFallback>
|
||||||
<NoWarn>NU1701;NU1603</NoWarn>
|
<NoWarn>NU1701;NU1603</NoWarn>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
||||||
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
|
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
|
||||||
<AssetTargetFallback>portable-net45+win8</AssetTargetFallback>
|
<AssetTargetFallback>portable-net45+win8</AssetTargetFallback>
|
||||||
<NoWarn>NU1701;NU1603</NoWarn>
|
<NoWarn>NU1701;NU1603</NoWarn>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||||
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
<RuntimeIdentifiers>win-x64;win-x86;linux-x64;linux-arm64;linux-arm;rhel.6-x64;osx-x64</RuntimeIdentifiers>
|
||||||
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
|
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
|
||||||
<AssetTargetFallback>portable-net45+win8</AssetTargetFallback>
|
<AssetTargetFallback>portable-net45+win8</AssetTargetFallback>
|
||||||
<NoWarn>NU1701;NU1603;NU1603;xUnit2013;</NoWarn>
|
<NoWarn>NU1701;NU1603;NU1603;xUnit2013;</NoWarn>
|
||||||
|
|||||||
66
src/dev.sh
66
src/dev.sh
@@ -10,6 +10,7 @@ set -e
|
|||||||
|
|
||||||
DEV_CMD=$1
|
DEV_CMD=$1
|
||||||
DEV_CONFIG=$2
|
DEV_CONFIG=$2
|
||||||
|
DEV_TARGET_RUNTIME=$3
|
||||||
|
|
||||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
LAYOUT_DIR="$SCRIPT_DIR/../_layout"
|
LAYOUT_DIR="$SCRIPT_DIR/../_layout"
|
||||||
@@ -27,36 +28,43 @@ if [[ "$DEV_CONFIG" == "Release" ]]; then
|
|||||||
BUILD_CONFIG="Release"
|
BUILD_CONFIG="Release"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
CURRENT_PLATFORM="windows"
|
if [[ -n "$DEV_TARGET_RUNTIME" ]]; then
|
||||||
if [[ ($(uname) == "Linux") || ($(uname) == "Darwin") ]]; then
|
RUNTIME_ID="$DEV_TARGET_RUNTIME"
|
||||||
CURRENT_PLATFORM=$(uname | awk '{print tolower($0)}')
|
else
|
||||||
|
echo "Automatically determining target runtime"
|
||||||
|
CURRENT_PLATFORM="windows"
|
||||||
|
if [[ ($(uname) == "Linux") || ($(uname) == "Darwin") ]]; then
|
||||||
|
CURRENT_PLATFORM=$(uname | awk '{print tolower($0)}')
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$CURRENT_PLATFORM" == 'windows' ]]; then
|
||||||
|
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
|
||||||
|
|
||||||
|
elif [[ "$CURRENT_PLATFORM" == 'darwin' ]]; then
|
||||||
|
RUNTIME_ID='osx-x64'
|
||||||
|
fi
|
||||||
|
echo "$RUNTIME_ID"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$CURRENT_PLATFORM" == 'windows' ]]; then
|
|
||||||
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-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
|
|
||||||
|
|
||||||
# Make sure current platform support publish the dotnet runtime
|
# Make sure current platform support publish the dotnet runtime
|
||||||
# Windows can publish win-x86/x64
|
# Windows can publish win-x86/x64
|
||||||
@@ -68,7 +76,7 @@ if [[ "$CURRENT_PLATFORM" == 'windows' ]]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
elif [[ "$CURRENT_PLATFORM" == 'linux' ]]; then
|
elif [[ "$CURRENT_PLATFORM" == 'linux' ]]; then
|
||||||
if [[ ("$RUNTIME_ID" != 'linux-x64') && ("$RUNTIME_ID" != 'linux-arm') && ("$RUNTIME_ID" != 'rhel.6-x64') ]]; 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
|
echo "Failed: Can't build $RUNTIME_ID package $CURRENT_PLATFORM" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
|
parameters:
|
||||||
|
targetRuntime: ''
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
# Build agent layout
|
# Build agent layout
|
||||||
- script: dev.cmd layout Release
|
- script: dev.cmd layout Release ${{ parameters.targetRuntime }}
|
||||||
workingDirectory: src
|
workingDirectory: src
|
||||||
displayName: Build & Layout Release
|
displayName: Build & Layout Release ${{ parameters.targetRuntime }}
|
||||||
|
|
||||||
# Run test
|
# Run test
|
||||||
- script: dev.cmd test
|
- script: dev.cmd test
|
||||||
|
|||||||
Reference in New Issue
Block a user