test #3241
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: NuGet Tests | |
on: | |
push: | |
branches: | |
- '**' | |
tags-ignore: | |
- '**' | |
pull_request_target: | |
types: [ labeled ] | |
# Ensures that only the latest commit is running for each PR at a time. | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
NuGet-Tests: | |
if: contains(github.event.pull_request.labels.*.name, 'safe to test') || github.event_name == 'push' | |
name: NuGet tests (${{ matrix.os }}) | |
strategy: | |
fail-fast: false | |
matrix: | |
#os: [ ubuntu, windows, macos ] | |
os: [ windows ] | |
runs-on: ${{ matrix.os }}-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Install .NET | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: '8.x' | |
- name: Install NuGet | |
uses: nuget/setup-nuget@v2 | |
with: | |
nuget-version: '6.x' | |
- name: Setup Windows Environment (MSBuild 17.12) | |
if: matrix.os == 'windows' | |
run: | | |
echo "🔍 Locating existing Visual Studio installation..." | |
$vsPath = & "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -latest -products * -property installationPath | |
$vsInstaller = "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_installer.exe" | |
if (-not $vsPath) { | |
Write-Host "❌ No existing Visual Studio installation found. Installing VS Build Tools..." | |
choco install visualstudio2022buildtools --version=17.2.4.32902 -y --force | |
} elseif (-not (Test-Path $vsInstaller)) { | |
Write-Host "❌ Visual Studio Installer not found at $vsInstaller." | |
Write-Host "✅ Installing VS Installer..." | |
choco install visualstudio-installer -y --force | |
} else { | |
Write-Host "✅ Visual Studio found at $vsPath" | |
Write-Host "🔄 Ensuring MSBuild 17.12 is available..." | |
Start-Process -NoNewWindow -Wait -FilePath "$vsInstaller" -ArgumentList "modify --installPath $vsPath --add Microsoft.Component.MSBuild --passive --norestart" | |
} | |
echo "🔧 Setting MSBuild PATH..." | |
echo "$vsPath\MSBuild\Current\Bin" >> $GITHUB_PATH | |
echo "🚀 Applying MSBuild 17.13+ Workaround..." | |
echo "MSBUILDDISABLEFEATURESFROMVERSION=17.14" >> $GITHUB_ENV | |
echo "✅ Windows environment setup completed!" | |
shell: pwsh | |
# Prepare ubuntu by installing Mono and handling dotnet installation issues. | |
- name: Prepare ubuntu | |
if: matrix.os == 'ubuntu' | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y apt-transport-https dirmngr gnupg ca-certificates | |
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF | |
echo "deb https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list | |
sudo apt-get update | |
sudo apt-get install -y mono-complete | |
echo "DOTNET_INSTALL_DIR=/usr/share/dotnet" >> $GITHUB_ENV | |
sudo mkdir -p /usr/share/dotnet | |
sudo chmod 777 /usr/share/dotnet | |
- name: Setup Go with cache | |
uses: jfrog/.github/actions/install-go-with-cache@main | |
- name: Install local Artifactory | |
uses: jfrog/.github/actions/install-local-artifactory@main | |
with: | |
RTLIC: ${{ secrets.RTLIC }} | |
- name: Run NuGet tests | |
run: go test -v github.com/jfrog/jfrog-cli --timeout 0 --test.nuget |