Skip to content

Modify GitHub Actions yaml to run unit tests on ubuntu and windows os to validate cross platform build #344

Modify GitHub Actions yaml to run unit tests on ubuntu and windows os to validate cross platform build

Modify GitHub Actions yaml to run unit tests on ubuntu and windows os to validate cross platform build #344

Workflow file for this run

name: tests
on:
pull_request:
types: [opened, reopened, synchronize, ready_for_review]
env:
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
jobs:
lint:
if: github.event.pull_request.draft == false
runs-on: ubuntu-22.04
permissions:
contents: read
actions: read
steps:
- uses: actions/checkout@v4
with:
lfs: true
fetch-depth: 0
- name: Install Dart
uses: dart-lang/setup-dart@v1
with:
sdk: 3.7.2
- name: Setup Golang
uses: actions/setup-go@v5
- name: Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 10.6.3
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: '22.x'
cache: pnpm
- name: Install Node Dependencies
run: pnpm i -r --frozen-lockfile
- name: Set NX Shas
uses: nrwl/nx-set-shas@v4
with:
main-branch-name: master
- run: pnpm nx affected -t pub -- get # install dart dependencies for affected projects
- run: pnpm run build
- run: pnpm nx affected -t lint
- run: pnpm nx affected -t typecheck
unit-tests:
if: github.event.pull_request.draft == false
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-22.04, windows-latest]
permissions:
contents: read
actions: write
steps:
- uses: actions/checkout@v4
with:
lfs: true
fetch-depth: 0
- name: Install Dart
uses: dart-lang/setup-dart@v1
with:
sdk: 3.7.2
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
- name: Setup Golang
uses: actions/setup-go@v5
- name: Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 10.6.3
# temporary work around for https://github.com/swift-actions/setup-swift/issues/681 and https://github.com/swift-actions/setup-swift/issues/709
- if: matrix.os != 'windows-latest'
name: Setup Swift
# uses: swift-actions/setup-swift@v2
uses: redsun82/setup-swift@b2b6f77ab14f6a9b136b520dc53ec8eca27d2b992 # temporary work around for https://github.com/swift-actions/setup-swift/issues/591
with:
swift-version: '5.10'
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: '22.x'
cache: pnpm
- name: Install Node Dependencies
run: pnpm i -r --frozen-lockfile
- name: Set NX Shas
uses: nrwl/nx-set-shas@v4
with:
main-branch-name: master
- run: pnpm nx affected -t pub -- get # install dart dependencies for affected projects
- run: pnpm run build
- if: matrix.os == 'windows-latest'
run: pnpm compile --configuration windows-ci
- if: matrix.os != 'windows-latest'
run: pnpm compile
- name: Re-install Node Dependencies
run: pnpm i -r --frozen-lockfile
- if: matrix.os == 'windows-latest'
run: pnpm nx affected -t test --configuration windows-ci
- if: matrix.os != 'windows-latest'
run: pnpm nx affected -t test
- if: matrix.os == 'windows-latest'
run: pnpm server-output-test --configuration windows-ci
- if: matrix.os != 'windows-latest'
run: pnpm server-output-test
integration-tests-ts-server:
if: github.event.pull_request.draft == false
runs-on: ubuntu-22.04
permissions:
contents: read
actions: write
steps:
- uses: actions/checkout@v4
with:
lfs: true
fetch-depth: 0
- name: Install Dart
uses: dart-lang/setup-dart@v1
with:
sdk: 3.7.2
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
- name: Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 10.6.3
- name: Setup Swift
# uses: swift-actions/setup-swift@v2
uses: redsun82/setup-swift@b2b6f77ab14f6a9b136b520dc53ec8eca27d2b99 # temporary work around for https://github.com/swift-actions/setup-swift/issues/591
with:
swift-version: '5.10'
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: '22.x'
cache: pnpm
- name: Install Node Dependencies
run: pnpm i -r --frozen-lockfile
- name: Set NX Shas
uses: nrwl/nx-set-shas@v4
with:
main-branch-name: master
- name: Install dart dependencies
run: pnpm nx run-many -t pub -- get # install dart dependencies in all dart projects
- run: pnpm run build
- run: pnpm i -r
- run: pnpm run integration-tests --server ts --affected
integration-tests-go-server:
if: github.event.pull_request.draft == false
runs-on: ubuntu-22.04
permissions:
contents: read
actions: write
steps:
- uses: actions/checkout@v4
with:
lfs: true
fetch-depth: 0
- name: Install Dart
uses: dart-lang/setup-dart@v1
with:
sdk: 3.7.2
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
- name: Setup Golang
uses: actions/setup-go@v5
- name: Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 10.6.3
- name: Setup Swift
# uses: swift-actions/setup-swift@v2
uses: redsun82/setup-swift@b2b6f77ab14f6a9b136b520dc53ec8eca27d2b99 # temporary work around for https://github.com/swift-actions/setup-swift/issues/591
with:
swift-version: '5.10'
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: '22.x'
cache: pnpm
- name: Install Node Dependencies
run: pnpm i -r --frozen-lockfile
- name: Set NX Shas
uses: nrwl/nx-set-shas@v4
with:
main-branch-name: master
- name: Install dart dependencies
run: pnpm nx run-many -t pub -- get # install dart dependencies in all dart projects
- run: pnpm run build
- run: pnpm i -r
- run: pnpm run integration-tests --server go --affected