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