-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathazure-steps-nix.yml
123 lines (99 loc) · 3.43 KB
/
azure-steps-nix.yml
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# AGENT_OS=Linux|Darwin|Windows_NT
steps:
- bash: |
sudo rm -f /usr/local/bin/Say || true
script=https://raw.githubusercontent.com/devizer/test-and-build/master/install-build-tools-bundle.sh; (wget -q -nv --no-check-certificate -O - $script 2>/dev/null || curl -ksSL $script) | bash
try-and-retry sudo apt-get install p7zip-full -y
try-and-retry sudo apt-get install p7zip -y
Say "7z"
7z || true
Say "7za"
7za || true
displayName: '7z version'
- bash: |
echo "AGENT_OS: '${AGENT_OS}'"
dotnet --info
displayName: 'Install dotnet sdk 3.1 on linux/osx'
- bash: |
sudo apt-get install nuget || true;
nuget >/tmp/nuget-ver
cat /tmp/nuget-ver | head -1
displayName: 'Install NuGET'
- script: |
time list-packages
condition: eq(variables['OS'], 'Linux')
displayName: 'List Packages'
- script: |
pushd so-src>/dev/null
bash re-build-local.sh || exit 666
popd>/dev/null
displayName: '[so] re-build-local.sh'
- script: |
try-and-retry sudo apt-get update -q
smart-apt-install -q qemu-user-static toilet
displayName: 'preinstall qemu-user-static and toilet'
- script: |
pushd so-src>/dev/null
bash rebuild-all.sh || exit 888
popd>/dev/null
displayName: '[so] rebuild-all.sh: libNativeLinuxInterop.so'
- script: |
rm -rf ./runtimes || true
pushd so-src>/dev/null
bash deploy-to-runtimes.sh
popd>/dev/null
displayName: 'reset versioned runtimes (deploy-to-runtimes.sh) for tests against actual .so'
- script: |
set -e
pushd Universe.LinuxTaskStats>/dev/null
# dotnet test -f netcoreapp3.1 -c Debug
bash -e test-as-root.sh || exit 666
popd>/dev/null
displayName: 'dotnet test as root'
- script: |
set -e
to=$(pwd)/packages; mkdir -p $to
pushd Universe.LinuxTaskStats/Universe.LinuxTaskStats>/dev/null
# pre prelease
export NUPKG_PACKAGE_SUFFIX="-pre-${BUILD_BUILDID}"
source build-nuget.sh
cp -f $nupkg_full_path/*nupkg $to/
Say "Publishing [$nupkg_full_name]"
cmd="nuget push $nupkg_full_name $MY_TASKSTAT_NUGET -Timeout 600 -Source https://www.nuget.org/api/v2/package"
# echo $cmd
try-and-retry eval "$cmd"
# release
export NUPKG_PACKAGE_SUFFIX=""
source build-nuget.sh
cp -f $nupkg_full_path/*nupkg $to/
Say "Store another copy of .snupkg release"
a7z_dir="$(dirname $nupkg_full_name)"
a7z_file="$(ls -1 $a7z_dir/*.7z | head -1)"
cp -f $a7z_file $to/
popd>/dev/null
condition: succeededOrFailed()
displayName: 'build 2 nugets'
env:
MY_TASKSTAT_NUGET: $(TASKSTAT_NUGET)
- script: |
Show-System-Stat || true
df -h -T
Say "docker processes"
docker ps || true
condition: succeededOrFailed()
displayName: 'System Stat'
- task: PublishBuildArtifacts@1
condition: succeededOrFailed()
inputs:
pathtoPublish: '$(Build.Repository.LocalPath)/so-src/runtimes'
artifactName: 'Runtimes'
- task: PublishBuildArtifacts@1
condition: succeededOrFailed()
inputs:
pathtoPublish: '$(Build.Repository.LocalPath)'
artifactName: 'Working'
- task: PublishBuildArtifacts@1
condition: succeededOrFailed()
inputs:
pathtoPublish: '$(Build.Repository.LocalPath)/packages'
artifactName: 'Packages'