Skip to content

Overhaul RNW CLI documentation #280

Overhaul RNW CLI documentation

Overhaul RNW CLI documentation #280

Workflow file for this run

name: PR
on:
pull_request:
branches: [ main ]
defaults:
run:
shell: pwsh
jobs:
setupcheck:
name: Setup Check
runs-on: ubuntu-latest
outputs:
# These outputs must be set otherwise the dependent jobs won't have access to them
app-service-demo: ${{ steps.filter.outputs.app-service-demo }}
calculator: ${{ steps.filter.outputs.calculator }}
calculator-nuget: ${{ steps.filter.outputs.calculator-nuget }}
native-module-sample: ${{ steps.filter.outputs.native-module-sample }}
website: ${{ steps.filter.outputs.website }}
workflows: ${{ steps.filter.outputs.workflows }}
steps:
- uses: actions/checkout@v3
# This task is to calculate which projects/paths had file changes
# Project builds can be skipped in PR if no files changed
# Changes to the "workflow" files should make projects build
- uses: dorny/paths-filter@v2
id: filter
with:
filters: |
app-service-demo:
- '.github/workflows/template-buildsample.yml'
- 'samples/AppServiceDemo/**'
calculator:
- '.github/workflows/template-buildsample.yml'
- 'samples/Calculator/**'
calculator-nuget:
- '.github/workflows/template-buildsample.yml'
- 'samples/CalculatorNuGet/**'
native-module-sample:
- '.github/workflows/template-buildsample.yml'
- 'samples/NativeModuleSample/**'
website:
- '.github/workflows/template-buildwebsite.yml'
- 'docs/**'
- 'website/**'
workflows:
- '.github/workflows/ci.yml'
- '.github/workflows/pr.yml'
call-buildsample-app-service-demo:
name: Build App Service Demo
needs: setupcheck
strategy:
fail-fast: true
matrix:
sampleName: ['AppServiceDemo']
configuration: ['Debug', 'Release']
platform: ['x86']
uses: ./.github/workflows/template-buildsample.yml
with:
sampleName: ${{ matrix.sampleName }}
configuration: ${{ matrix.configuration }}
platform: ${{ matrix.platform }}
extraRunWindowsArgs: --no-deploy
skipBuild: ${{ needs.setupcheck.outputs.workflows != 'true' && needs.setupcheck.outputs.app-service-demo != 'true' }} # Skip if files haven't changed
call-buildsample-calculator:
name: Build Calculator
needs: setupcheck
strategy:
fail-fast: true
matrix:
sampleName: ['Calculator\cppwinrt', 'Calculator\csharp']
configuration: ['Debug', 'Release']
platform: ['x86']
uses: ./.github/workflows/template-buildsample.yml
with:
sampleName: ${{ matrix.sampleName }}
configuration: ${{ matrix.configuration }}
platform: ${{ matrix.platform }}
skipBuild: ${{ needs.setupcheck.outputs.workflows != 'true' && needs.setupcheck.outputs.calculator != 'true' }} # Skip if files haven't changed
call-buildsample-calculator-nuget:
name: Build Calculator NuGet
needs: setupcheck
strategy:
fail-fast: true
matrix:
sampleName: ['CalculatorNuGet']
configuration: ['Debug', 'Release']
platform: ['x86']
uses: ./.github/workflows/template-buildsample.yml
with:
sampleName: ${{ matrix.sampleName }}
configuration: ${{ matrix.configuration }}
platform: ${{ matrix.platform }}
skipBuild: ${{ needs.setupcheck.outputs.workflows != 'true' && needs.setupcheck.outputs.calculator-nuget != 'true' }} # Skip if files haven't changed
call-buildsample-native-module-sample:
name: Build Native Module Sample
needs: setupcheck
strategy:
fail-fast: true
matrix:
sampleName: ['NativeModuleSample\cppwinrt', 'NativeModuleSample\csharp']
configuration: ['Debug', 'Release']
platform: ['x86']
uses: ./.github/workflows/template-buildsample.yml
with:
sampleName: ${{ matrix.sampleName }}
configuration: ${{ matrix.configuration }}
platform: ${{ matrix.platform }}
# runCodeGenCheck: true # Enable once we get https://github.com/microsoft/react-native-windows/pull/11187 (Maybe 0.72?)
extraRunWindowsArgs: --no-autolink --no-deploy
skipBuild: ${{ needs.setupcheck.outputs.workflows != 'true' && needs.setupcheck.outputs.native-module-sample != 'true' }} # Skip if files haven't changed
call-buildwebsite:
name: Build Website
needs: setupcheck
uses: ./.github/workflows/template-buildwebsite.yml
with:
skipBuild: ${{ needs.setupcheck.outputs.workflows != 'true' && needs.setupcheck.outputs.website != 'true' }} # Skip if files haven't changed
prcheck:
name: Successful PR Check
runs-on: ubuntu-latest
needs: [setupcheck, call-buildsample-app-service-demo, call-buildsample-calculator, call-buildsample-calculator-nuget, call-buildsample-native-module-sample, call-buildwebsite]
steps:
- uses: actions/checkout@v3