1515 fail-fast : false
1616 matrix :
1717 os : [ubuntu-16.04, ubuntu-18.04, ubuntu-20.04, windows-2019, macos-10.15]
18- watchman : [false, true]
18+ experimental : [false, true]
1919
2020 env :
2121 BUILD_FRAGMENT : bin/Release/netcoreapp3.1
@@ -45,20 +45,20 @@ jobs:
4545 if : runner.os == 'Linux'
4646 run : |
4747 echo "BUILD_PLATFORM=${{ runner.os }}" >>$GITHUB_ENV
48- echo "TRACE2_BASENAME=Trace2.${{ github.run_id }}__${{ github.run_number }}__${{ matrix.os }}__${{ matrix.watchman }}" >>$GITHUB_ENV
48+ echo "TRACE2_BASENAME=Trace2.${{ github.run_id }}__${{ github.run_number }}__${{ matrix.os }}__${{ matrix.experimental }}" >>$GITHUB_ENV
4949
5050 - name : Setup platform (Mac)
5151 if : runner.os == 'macOS'
5252 run : |
5353 echo 'BUILD_PLATFORM=Mac' >>$GITHUB_ENV
54- echo "TRACE2_BASENAME=Trace2.${{ github.run_id }}__${{ github.run_number }}__${{ matrix.os }}__${{ matrix.watchman }}" >>$GITHUB_ENV
54+ echo "TRACE2_BASENAME=Trace2.${{ github.run_id }}__${{ github.run_number }}__${{ matrix.os }}__${{ matrix.experimental }}" >>$GITHUB_ENV
5555
5656 - name : Setup platform (Windows)
5757 if : runner.os == 'Windows'
5858 run : |
5959 echo "BUILD_PLATFORM=${{ runner.os }}" >>$env:GITHUB_ENV
6060 echo 'BUILD_FILE_EXT=.exe' >>$env:GITHUB_ENV
61- echo "TRACE2_BASENAME=Trace2.${{ github.run_id }}__${{ github.run_number }}__${{ matrix.os }}__${{ matrix.watchman }}" >>$env:GITHUB_ENV
61+ echo "TRACE2_BASENAME=Trace2.${{ github.run_id }}__${{ github.run_number }}__${{ matrix.os }}__${{ matrix.experimental }}" >>$env:GITHUB_ENV
6262
6363 - name : Setup Git installer
6464 shell : bash
9898 Wait-Process $files[0].Basename
9999 Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\GitForWindows'
100100
101- - name : Install Watchman (Linux)
102- if : runner.os == 'Linux' && matrix.watchman
103- run : |
104- cd ..
105- git clone https://github.com/facebook/watchman.git -b v4.9.0 --depth 1
106- cd watchman
107- ./autogen.sh
108- GCC_VERSION=$(gcc -dumpversion | cut -d. -f1)
109- if [ "$GCC_VERSION" -ge 7 ]; then CPPFLAGS="-Wno-error=format-truncation"; fi
110- if [ "$GCC_VERSION" -ge 8 ]; then CPPFLAGS="$CPPFLAGS -Wno-error=class-memaccess"; fi
111- export CPPFLAGS
112- ./configure --without-python
113- make
114- sudo make install
115-
116- - name : Install Watchman (Mac)
117- if : runner.os == 'macOS' && matrix.watchman
118- run : brew install watchman
119-
120- - name : Install Watchman (Windows)
121- if : runner.os == 'Windows' && matrix.watchman
122- run : |
123- Write-Host 'Downloading Watchman ...'
124- $Uri = (Select-Xml -Path Directory.Build.props -XPath /Project/PropertyGroup/WatchmanPackageUrl).Node.'#text'
125- Set-Location -Path ..
126- Invoke-WebRequest -Uri $Uri -OutFile watchman.zip
127- Expand-Archive watchman.zip
128- Write-Host 'Installing Watchman ...'
129- New-Item -Path 'C:\Program Files' -Name Watchman -ItemType Directory | Out-Null
130- Copy-Item -Path 'watchman\watchman-*-windows\bin\*' -Destination 'C:\Program Files\Watchman'
131- $ENV:PATH="$ENV:PATH;C:\Program Files\Watchman"
132- & watchman --version
133- echo "PATH=$ENV:PATH" >>$env:GITHUB_ENV
101+ - name : Configure Experimental
102+ if : matrix.experimental
103+ run : git config --global feature.scalar experimental
134104
135105 - id : functional_test
136106 name : Functional test
@@ -140,6 +110,7 @@ jobs:
140110 export GIT_TRACE2_PERF="$PWD/$TRACE2_BASENAME/Perf"
141111 export GIT_TRACE2_EVENT_BRIEF=true
142112 export GIT_TRACE2_PERF_BRIEF=true
113+ export SCALAR_FUNCTIONAL_TEST_EXPERIMENTAL=${{ matrix.experimental }}
143114 mkdir -p "$TRACE2_BASENAME"
144115 mkdir -p "$TRACE2_BASENAME/Event"
145116 mkdir -p "$TRACE2_BASENAME/Perf"
0 commit comments