Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions .github/workflows/ci-installer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,15 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Set up .NET
uses: actions/setup-dotnet@v4
uses: actions/setup-dotnet@v6
with:
global-json-file: global.json

- name: Cache NuGet packages
uses: actions/cache@v4
uses: actions/cache@v6
with:
path: ~/.nuget/packages
key: nuget-installer-${{ hashFiles('Optimum.Bootstrap.Core/**/*.csproj', 'Optimum.Cli/**/*.csproj', 'Optimum.Installer/**/*.csproj', 'Optimum.*.Tests/**/*.csproj') }}
Expand All @@ -51,10 +51,10 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Set up .NET
uses: actions/setup-dotnet@v4
uses: actions/setup-dotnet@v6
with:
global-json-file: global.json

Expand Down Expand Up @@ -86,10 +86,10 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Set up .NET
uses: actions/setup-dotnet@v4
uses: actions/setup-dotnet@v6
with:
global-json-file: global.json

Expand Down
50 changes: 25 additions & 25 deletions .github/workflows/ci-platform-bootstrap.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,10 @@ jobs:
timeout-minutes: 45
if: inputs.platform == 'all' || inputs.platform == 'windows'
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Set up .NET 10
uses: actions/setup-dotnet@v4
uses: actions/setup-dotnet@v6
with:
dotnet-version: '10.0.x'
dotnet-quality: ga
Expand All @@ -55,7 +55,7 @@ jobs:
} >> "$GITHUB_OUTPUT"

- name: Cache client archive
uses: actions/cache@v4
uses: actions/cache@v6
id: cache_client
with:
path: .vanilla/archives
Expand All @@ -73,7 +73,7 @@ jobs:
mv "${{ steps.client.outputs.path }}.part" "${{ steps.client.outputs.path }}"

- name: Cache NuGet packages
uses: actions/cache@v4
uses: actions/cache@v6
with:
path: ~/.nuget/packages
key: nuget-windows-${{ hashFiles('**/*.csproj', '**/*.slnx') }}
Expand Down Expand Up @@ -108,7 +108,7 @@ jobs:

- name: Upload logs on failure
if: failure()
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: bootstrap-logs-windows
path: |
Expand All @@ -123,15 +123,15 @@ jobs:
timeout-minutes: 45
if: inputs.platform == 'all' || inputs.platform == 'macos-intel'
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Install bash 4+
run: |
brew install bash
echo "$(brew --prefix)/bin" >> "$GITHUB_PATH"

- name: Set up .NET 10
uses: actions/setup-dotnet@v4
uses: actions/setup-dotnet@v6
with:
dotnet-version: '10.0.x'
dotnet-quality: ga
Expand All @@ -156,7 +156,7 @@ jobs:
} >> "$GITHUB_OUTPUT"

- name: Cache client archive
uses: actions/cache@v4
uses: actions/cache@v6
id: cache_client
with:
path: .vanilla/archives
Expand All @@ -174,7 +174,7 @@ jobs:
mv "${{ steps.client.outputs.path }}.part" "${{ steps.client.outputs.path }}"

- name: Cache NuGet packages
uses: actions/cache@v4
uses: actions/cache@v6
with:
path: ~/.nuget/packages
key: nuget-macos-intel-${{ hashFiles('**/*.csproj', '**/*.slnx') }}
Expand Down Expand Up @@ -206,7 +206,7 @@ jobs:

- name: Upload logs on failure
if: failure()
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: bootstrap-logs-macos-intel
path: |
Expand All @@ -220,15 +220,15 @@ jobs:
timeout-minutes: 45
if: inputs.platform == 'all' || inputs.platform == 'macos-arm'
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Install bash 4+
run: |
brew install bash
echo "$(brew --prefix)/bin" >> "$GITHUB_PATH"

- name: Set up .NET 10
uses: actions/setup-dotnet@v4
uses: actions/setup-dotnet@v6
with:
dotnet-version: '10.0.x'
dotnet-quality: ga
Expand All @@ -253,7 +253,7 @@ jobs:
} >> "$GITHUB_OUTPUT"

- name: Cache client archive
uses: actions/cache@v4
uses: actions/cache@v6
id: cache_client
with:
path: .vanilla/archives
Expand All @@ -271,7 +271,7 @@ jobs:
mv "${{ steps.client.outputs.path }}.part" "${{ steps.client.outputs.path }}"

- name: Cache NuGet packages
uses: actions/cache@v4
uses: actions/cache@v6
with:
path: ~/.nuget/packages
key: nuget-macos-arm-${{ hashFiles('**/*.csproj', '**/*.slnx') }}
Expand Down Expand Up @@ -301,7 +301,7 @@ jobs:

- name: Upload logs on failure
if: failure()
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: bootstrap-logs-macos-arm
path: |
Expand All @@ -315,10 +315,10 @@ jobs:
timeout-minutes: 60
if: inputs.platform == 'all' || inputs.platform == 'linux'
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Set up .NET 10
uses: actions/setup-dotnet@v4
uses: actions/setup-dotnet@v6
with:
dotnet-version: '10.0.x'
dotnet-quality: ga
Expand All @@ -343,7 +343,7 @@ jobs:
} >> "$GITHUB_OUTPUT"

- name: Cache client archive
uses: actions/cache@v4
uses: actions/cache@v6
id: cache_client
with:
path: .vanilla/archives
Expand All @@ -361,7 +361,7 @@ jobs:
mv "${{ steps.client.outputs.path }}.part" "${{ steps.client.outputs.path }}"

- name: Cache NuGet packages
uses: actions/cache@v4
uses: actions/cache@v6
with:
path: ~/.nuget/packages
key: nuget-linux-${{ hashFiles('**/*.csproj', '**/*.slnx') }}
Expand Down Expand Up @@ -405,7 +405,7 @@ jobs:

- name: Upload logs on failure
if: failure()
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: bootstrap-logs-linux
path: |
Expand All @@ -420,10 +420,10 @@ jobs:
timeout-minutes: 45
if: inputs.platform == 'all' || inputs.platform == 'linux-arm'
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Set up .NET 10
uses: actions/setup-dotnet@v4
uses: actions/setup-dotnet@v6
with:
dotnet-version: '10.0.x'
dotnet-quality: ga
Expand All @@ -448,7 +448,7 @@ jobs:
} >> "$GITHUB_OUTPUT"

- name: Cache client archive
uses: actions/cache@v4
uses: actions/cache@v6
id: cache_client
with:
path: .vanilla/archives
Expand All @@ -466,7 +466,7 @@ jobs:
mv "${{ steps.client.outputs.path }}.part" "${{ steps.client.outputs.path }}"

- name: Cache NuGet packages
uses: actions/cache@v4
uses: actions/cache@v6
with:
path: ~/.nuget/packages
key: nuget-linux-arm-${{ hashFiles('**/*.csproj', '**/*.slnx') }}
Expand Down Expand Up @@ -496,7 +496,7 @@ jobs:

- name: Upload logs on failure
if: failure()
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: bootstrap-logs-linux-arm
path: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci-scripts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: bootstrap-git-test
run: make bootstrap-git-test
Expand All @@ -36,7 +36,7 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: install-linux-staging test
run: bash scripts/tests/install-linux-staging.sh
14 changes: 7 additions & 7 deletions .github/workflows/release-installer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,16 +35,16 @@ jobs:
- { os: windows-latest, rid: win-x64, exe: Optimum.Installer.exe, label: win }
- { os: ubuntu-latest, rid: linux-x64, exe: Optimum.Installer, label: linux }
- { os: macos-14, rid: osx-arm64, exe: Optimum.Installer, label: osx-arm64 }
- { os: macos-13, rid: osx-x64, exe: Optimum.Installer, label: osx-x64 }
- { os: macos-14, rid: osx-x64, exe: Optimum.Installer, label: osx-x64 }
runs-on: ${{ matrix.os }}
timeout-minutes: 20
env:
WINDOWS_CERT_BASE64: ${{ secrets.WINDOWS_CERT_BASE64 }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Set up .NET
uses: actions/setup-dotnet@v4
uses: actions/setup-dotnet@v6
with:
global-json-file: global.json

Expand Down Expand Up @@ -210,7 +210,7 @@ jobs:
run: echo "signtool step goes here once a certificate secret exists"

- name: Upload artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: installer-${{ matrix.label }}
path: releases/
Expand All @@ -222,10 +222,10 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Set up .NET
uses: actions/setup-dotnet@v4
uses: actions/setup-dotnet@v6
with:
global-json-file: global.json

Expand All @@ -251,7 +251,7 @@ jobs:
echo "tag=$tag" >> "$GITHUB_OUTPUT"

- name: Download the feeds
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
pattern: installer-*
path: feeds
Expand Down
2 changes: 1 addition & 1 deletion Optimum.Bootstrap.Core.Tests/PrerequisiteScannerTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ public void WindowsDoesNotDemandUnixToolsAndClearsWithJustDotnetAndGit()
Assert.DoesNotContain(results, r => r.Definition.Id is PrerequisiteId.Perl
or PrerequisiteId.Python3 or PrerequisiteId.Chmod or PrerequisiteId.Tar
or PrerequisiteId.Curl or PrerequisiteId.Appimagetool);
Assert.Empty(results.Where(r => r.BlocksBuild));
Assert.DoesNotContain(results, r => r.BlocksBuild);
Assert.Equal(PrerequisiteState.Ok, results.Single(r => r.Definition.Id == PrerequisiteId.Pwsh).State);
}

Expand Down
4 changes: 2 additions & 2 deletions Optimum.Cli.Tests/NdjsonStream.cs
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ public void AssertContract()
switch (type)
{
case "progress":
Assert.True(KnownPhases.Contains(line.GetProperty("phase").GetString()!));
Assert.Contains(line.GetProperty("phase").GetString()!, KnownPhases);
int progress = line.GetProperty("progress").GetInt32();
Assert.InRange(progress, lastProgress, 99);
lastProgress = progress;
Expand All @@ -67,7 +67,7 @@ public void AssertContract()
Assert.Equal(Lines.Count - 1, i);
if (!line.GetProperty("ok").GetBoolean())
{
Assert.True(KnownReasons.Contains(line.GetProperty("reason").GetString()!));
Assert.Contains(line.GetProperty("reason").GetString()!, KnownReasons);
Assert.False(string.IsNullOrWhiteSpace(line.GetProperty("message").GetString()));
}
else
Expand Down
4 changes: 2 additions & 2 deletions Optimum.Installer.Tests/ScreenViewModelTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -519,7 +519,7 @@ private static InstallOutcome Success(string launcher) =>
public async Task LaunchDisablesTheButtonAndThenAsksTheShellToExit()
{
string launcher = Path.Combine(Path.GetTempPath(), "optimum-launch-" + Guid.NewGuid().ToString("N") + ".sh");
await File.WriteAllTextAsync(launcher, "#!/bin/sh\nexit 0\n");
await File.WriteAllTextAsync(launcher, "#!/bin/sh\nexit 0\n", TestContext.Current.CancellationToken);
if (!OperatingSystem.IsWindows())
File.SetUnixFileMode(launcher,
UnixFileMode.UserRead | UnixFileMode.UserWrite | UnixFileMode.UserExecute);
Expand All @@ -537,7 +537,7 @@ public async Task LaunchDisablesTheButtonAndThenAsksTheShellToExit()
Assert.False(vm.LaunchCommand.CanExecute(null));
Assert.Equal("Launching Optimum...", vm.LaunchLabel);

await run.WaitAsync(TimeSpan.FromSeconds(20));
await run.WaitAsync(TimeSpan.FromSeconds(20), TestContext.Current.CancellationToken);
Assert.True(exitAsked);
}
finally
Expand Down