Adding ability to make async calls in Gauge tests #506
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: tests | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- master | |
env: | |
DOTNET_CLI_TELEMETRY_OPTOUT: 1 | |
jobs: | |
build: | |
name: Dotnet build | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Setup .NET Core | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: 8.0.x | |
- name: Dotnet unit test on windows | |
if: matrix.os == 'windows-latest' | |
run: | | |
./run.cmd build | |
./run.cmd test | |
- name: Dotnet unit test on ubuntu | |
if: matrix.os != 'windows-latest' | |
run: | | |
./run.sh build | |
./run.sh test | |
Functional-tests: | |
name: Dotnet FTs on ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
needs: build | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Setup go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: '1.22' | |
cache: false | |
- name: Setup java 17 | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' | |
java-version: 17 | |
- name: Setup .NET Core | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: 8.0.x | |
- uses: getgauge/setup-gauge@master | |
with: | |
gauge-version: master | |
- name: Install Gauge Dotnet plugin from source on windows | |
if: matrix.os == 'windows-latest' | |
run: | | |
./run.cmd install | |
- name: Install Gauge Dotnet plugin from source on linux | |
if: matrix.os != 'windows-latest' | |
run: | | |
./run.sh install | |
- name: Clone gauge-tests | |
run: | | |
git clone --depth=1 https://github.com/getgauge/gauge-tests | |
- name: Run FTs on linux | |
if: matrix.os != 'windows-latest' | |
run: | | |
cd gauge-tests | |
./gradlew -Pnodes=2 clean dotnetFT | |
- name: Run FTs on windows | |
if: matrix.os == 'windows-latest' | |
shell: pwsh | |
run: | | |
cd gauge-tests | |
.\gradlew.bat -Pnodes=2 clean dotnetFT | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: ft-logs-${{ matrix.os }} | |
path: gauge-tests/testLogs | |
LSP-tests: | |
name: Dotnet LSP tests ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
needs: build | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Setup go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: '1.22' | |
cache: false | |
- name: Setup .NET Core | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: 8.0.x | |
- uses: getgauge/setup-gauge@master | |
with: | |
gauge-version: master | |
- name: Install Gauge Dotnet plugin from source on windows | |
if: matrix.os == 'windows-latest' | |
run: | | |
./run.cmd install | |
- name: Install Gauge Dotnet plugin from source on linux | |
if: matrix.os != 'windows-latest' | |
run: | | |
./run.sh install | |
- name: Use NodeJS 20 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- name: Prep LSP tests | |
run: | | |
git clone https://github.com/getgauge/gauge-lsp-tests | |
cd gauge-lsp-tests | |
npm install | |
gauge install | |
gauge -v | |
- name: Run LSP tests | |
shell: bash | |
run: | | |
cd gauge-lsp-tests | |
gauge run --tags="!knownIssue & (actions_on_project_load | actions_on_file_edit)" --env=dotnet-wd | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: lsp-logs-${{ matrix.os }} | |
path: gauge-lsp-tests/logs |