-
Notifications
You must be signed in to change notification settings - Fork 292
109 lines (97 loc) · 3.97 KB
/
nugetTests.yml
File metadata and controls
109 lines (97 loc) · 3.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
name: NuGet Tests
on:
workflow_dispatch:
push:
branches:
- "master"
# Triggers the workflow on PRs to master branch only.
pull_request_target:
types: [labeled]
branches:
- "master"
# 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:
name: NuGet tests (${{ matrix.os.name }})
if: github.event_name == 'workflow_dispatch' || github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'safe to test')
strategy:
fail-fast: false
matrix:
os:
- name: ubuntu
version: 24.04
- name: windows
version: 2022
- name: macos
version: 14
runs-on: ${{ matrix.os.name }}-${{ matrix.os.version }}
steps:
- name: Skip macOS - JGC-413
if: matrix.os.name == 'macos'
run: |
echo "::warning::JGC-413 - Skip until artifactory bootstrap in osx is fixed"
exit 0
- name: Checkout code
if: matrix.os.name != 'macos'
uses: actions/checkout@v6
with:
ref: ${{ github.event.pull_request.head.sha || github.ref }}
- name: Setup FastCI
if: matrix.os.name != 'macos'
uses: jfrog-fastci/fastci@v0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
fastci_otel_token: ${{ secrets.FASTCI_TOKEN }}
# Prepare ubuntu by installing Mono and handle dotnet installation issues.
- name: Prepare ubuntu
if: matrix.os.name == 'ubuntu'
run: |
# Install Mono
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
# Fixes dotnet installation issues, see https://github.com/jfrog/jfrog-cli/pull/2808 for more details.
echo "DOTNET_INSTALL_DIR=/usr/share/dotnet" >> $GITHUB_ENV
sudo mkdir -p /usr/share/dotnet
sudo chmod 777 /usr/share/dotnet
- name: Install .NET
if: matrix.os.name != 'macos'
uses: actions/setup-dotnet@v5
with:
dotnet-version: "8.x"
- name: Install NuGet
if: matrix.os.name != 'macos'
uses: nuget/setup-nuget@v2
with:
nuget-version: "6.x"
- name: Setup Go with cache
if: matrix.os.name != 'macos'
uses: jfrog/.github/actions/install-go-with-cache@main
- name: Debug macOS Environment and Set Timeout
if: runner.os == 'macOS'
run: |
echo "=== macOS Debug Information ==="
echo "Architecture: $(uname -m)"
echo "macOS Version: $(sw_vers -productVersion)"
echo "macOS Build: $(sw_vers -buildVersion)"
echo "Available memory: $(system_profiler SPHardwareDataType | grep Memory || echo 'Memory info not available')"
echo "Available disk space: $(df -h)"
echo "Java version: $(java -version 2>&1 || echo 'Java not found')"
echo "Go version: $(go version)"
echo "Setting RT_CONNECTION_TIMEOUT_SECONDS to 2400 for macOS"
echo "RT_CONNECTION_TIMEOUT_SECONDS=2400" >> $GITHUB_ENV
- name: Install local Artifactory
if: matrix.os.name != 'macos'
uses: jfrog/.github/actions/install-local-artifactory@main
with:
RTLIC: ${{ secrets.RTLIC }}
RT_CONNECTION_TIMEOUT_SECONDS: ${{ env.RT_CONNECTION_TIMEOUT_SECONDS || '1200' }}
- name: Run NuGet tests
if: matrix.os.name != 'macos'
run: go test -v github.com/jfrog/jfrog-cli --timeout 0 --test.nuget