diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index f96185c34..acaf23fe4 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -18,7 +18,7 @@ jobs:
build:
strategy:
matrix:
- runtime: [ linux-x64, linux-arm64, linux-arm, win-x64, osx-x64 ]
+ runtime: [ linux-x64, linux-musl-x64, linux-arm64, linux-arm, win-x64, osx-x64 ]
include:
- runtime: linux-x64
os: ubuntu-latest
@@ -32,6 +32,10 @@ jobs:
os: ubuntu-latest
devScript: ./dev.sh
+ - runtime: linux-musl-x64
+ os: ubuntu-latest
+ devScript: ./dev.sh
+
- runtime: osx-x64
os: macOS-latest
devScript: ./dev.sh
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index 71e570e08..04409f59c 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -29,7 +29,7 @@
$(DefineConstants);X64
-
+
$(DefineConstants);X64
diff --git a/src/Misc/externals.sh b/src/Misc/externals.sh
index fe7a74b9a..3012f0b1a 100755
--- a/src/Misc/externals.sh
+++ b/src/Misc/externals.sh
@@ -157,3 +157,10 @@ 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${NODE16_VERSION}/node-v${NODE16_VERSION}-linux-armv7l.tar.gz" node16 fix_nested_dir
fi
+
+if [[ "$PACKAGERUNTIME" == "linux-musl-x64" ]]; then
+ acquireExternalTool "$NODE_URL/v${NODE12_VERSION}/node-v${NODE12_VERSION}-linux-x64.tar.gz" node12_glib fix_nested_dir
+ acquireExternalTool "https://vstsagenttools.blob.core.windows.net/tools/nodejs/${NODE12_VERSION}/alpine/x64/node-v${NODE12_VERSION}-alpine-x64.tar.gz" node12
+ acquireExternalTool "$NODE_URL/v${NODE16_VERSION}/node-v${NODE16_VERSION}-linux-x64.tar.gz" node16_glib fix_nested_dir
+ acquireExternalTool "https://vstsagenttools.blob.core.windows.net/tools/nodejs/${NODE16_VERSION}/alpine/x64/node-v${NODE16_VERSION}-alpine-x64.tar.gz" node16
+fi
\ No newline at end of file
diff --git a/src/Runner.Common/Runner.Common.csproj b/src/Runner.Common/Runner.Common.csproj
index fbd7da060..7ef7b8951 100644
--- a/src/Runner.Common/Runner.Common.csproj
+++ b/src/Runner.Common/Runner.Common.csproj
@@ -3,7 +3,7 @@
netcoreapp3.1
Library
- win-x64;win-x86;linux-x64;linux-arm64;linux-arm;osx-x64
+ win-x64;win-x86;linux-x64;linux-arm64;linux-arm;linux-musl-x64;osx-x64
true
portable-net45+win8
NU1701;NU1603
diff --git a/src/Runner.Listener/Runner.Listener.csproj b/src/Runner.Listener/Runner.Listener.csproj
index 925be1acd..57c30fbe5 100644
--- a/src/Runner.Listener/Runner.Listener.csproj
+++ b/src/Runner.Listener/Runner.Listener.csproj
@@ -3,7 +3,7 @@
netcoreapp3.1
Exe
- win-x64;win-x86;linux-x64;linux-arm64;linux-arm;osx-x64
+ win-x64;win-x86;linux-x64;linux-arm64;linux-arm;linux-musl-x64;osx-x64
true
portable-net45+win8
NU1701;NU1603
diff --git a/src/Runner.PluginHost/Runner.PluginHost.csproj b/src/Runner.PluginHost/Runner.PluginHost.csproj
index 9d6913209..db2536a73 100644
--- a/src/Runner.PluginHost/Runner.PluginHost.csproj
+++ b/src/Runner.PluginHost/Runner.PluginHost.csproj
@@ -3,7 +3,7 @@
netcoreapp3.1
Exe
- win-x64;win-x86;linux-x64;linux-arm64;linux-arm;osx-x64
+ win-x64;win-x86;linux-x64;linux-arm64;linux-arm;linux-musl-x64;osx-x64
true
portable-net45+win8
NU1701;NU1603
diff --git a/src/Runner.Plugins/Runner.Plugins.csproj b/src/Runner.Plugins/Runner.Plugins.csproj
index 7719ee49f..caa8198c3 100644
--- a/src/Runner.Plugins/Runner.Plugins.csproj
+++ b/src/Runner.Plugins/Runner.Plugins.csproj
@@ -3,7 +3,7 @@
netcoreapp3.1
Library
- win-x64;win-x86;linux-x64;linux-arm64;linux-arm;osx-x64
+ win-x64;win-x86;linux-x64;linux-arm64;linux-arm;linux-musl-x64;osx-x64
true
portable-net45+win8
NU1701;NU1603
diff --git a/src/Runner.Sdk/Runner.Sdk.csproj b/src/Runner.Sdk/Runner.Sdk.csproj
index 26f1582e7..65871e3e2 100644
--- a/src/Runner.Sdk/Runner.Sdk.csproj
+++ b/src/Runner.Sdk/Runner.Sdk.csproj
@@ -3,7 +3,7 @@
netcoreapp3.1
Library
- win-x64;win-x86;linux-x64;linux-arm64;linux-arm;osx-x64
+ win-x64;win-x86;linux-x64;linux-arm64;linux-arm;linux-musl-x64;osx-x64
true
portable-net45+win8
NU1701;NU1603
diff --git a/src/Runner.Worker/Runner.Worker.csproj b/src/Runner.Worker/Runner.Worker.csproj
index d4cc3d815..cad6852eb 100644
--- a/src/Runner.Worker/Runner.Worker.csproj
+++ b/src/Runner.Worker/Runner.Worker.csproj
@@ -3,7 +3,7 @@
netcoreapp3.1
Exe
- win-x64;win-x86;linux-x64;linux-arm64;linux-arm;osx-x64
+ win-x64;win-x86;linux-x64;linux-arm64;linux-arm;linux-musl-x64;osx-x64
true
portable-net45+win8
NU1701;NU1603
diff --git a/src/Sdk/Sdk.csproj b/src/Sdk/Sdk.csproj
index bf0c08756..b7ba607eb 100644
--- a/src/Sdk/Sdk.csproj
+++ b/src/Sdk/Sdk.csproj
@@ -3,7 +3,7 @@
netcoreapp3.1
Library
- win-x64;win-x86;linux-x64;linux-arm64;linux-arm;osx-x64
+ win-x64;win-x86;linux-x64;linux-arm64;linux-arm;linux-musl-x64;osx-x64
true
portable-net45+win8
NU1701;NU1603
diff --git a/src/Test/L0/ConstantGenerationL0.cs b/src/Test/L0/ConstantGenerationL0.cs
index d964ba474..e3a9afab5 100644
--- a/src/Test/L0/ConstantGenerationL0.cs
+++ b/src/Test/L0/ConstantGenerationL0.cs
@@ -19,6 +19,7 @@ namespace GitHub.Runner.Common.Tests
"linux-x64",
"linux-arm",
"linux-arm64",
+ "linux-musl-x64",
"osx-x64"
};
diff --git a/src/Test/Test.csproj b/src/Test/Test.csproj
index e6905589d..4c7de8e38 100644
--- a/src/Test/Test.csproj
+++ b/src/Test/Test.csproj
@@ -1,7 +1,7 @@
netcoreapp3.1
- win-x64;win-x86;linux-x64;linux-arm64;linux-arm;osx-x64
+ win-x64;win-x86;linux-x64;linux-arm64;linux-arm;linux-musl-x64;osx-x64
true
portable-net45+win8
NU1701;NU1603;NU1603;xUnit2013;
diff --git a/src/dev.sh b/src/dev.sh
index 15d396c2d..576cab159 100755
--- a/src/dev.sh
+++ b/src/dev.sh
@@ -47,6 +47,10 @@ elif [[ "$CURRENT_PLATFORM" == 'linux' ]]; then
aarch64) RUNTIME_ID="linux-arm64";;
esac
fi
+
+ if [ -f "/lib/ld-musl-x86_64.so.1" ]; then
+ RUNTIME_ID="linux-musl-x64"
+ fi
elif [[ "$CURRENT_PLATFORM" == 'darwin' ]]; then
RUNTIME_ID='osx-x64'
fi
@@ -57,7 +61,7 @@ fi
# Make sure current platform support publish the dotnet runtime
# Windows can publish win-x86/x64
-# Linux can publish linux-x64/arm/arm64
+# Linux can publish linux-x64/arm/arm64/musl-x64
# OSX can publish osx-x64
if [[ "$CURRENT_PLATFORM" == 'windows' ]]; then
if [[ ("$RUNTIME_ID" != 'win-x86') && ("$RUNTIME_ID" != 'win-x64') ]]; then
@@ -65,7 +69,7 @@ if [[ "$CURRENT_PLATFORM" == 'windows' ]]; then
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') ]]; then
+ if [[ ("$RUNTIME_ID" != 'linux-x64') && ("$RUNTIME_ID" != 'linux-musl-x64') && ("$RUNTIME_ID" != 'linux-arm64') && ("$RUNTIME_ID" != 'linux-arm') ]]; then
echo "Failed: Can't build $RUNTIME_ID package $CURRENT_PLATFORM" >&2
exit 1
fi