A whole lot of changes #97
This file contains hidden or 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: PR | |
| on: [pull_request] | |
| jobs: | |
| # Formatting, linting and the docs build say the same thing on every OS, so they run once. | |
| # `fmt:check` in particular has nothing to gain from a second opinion and something to lose to | |
| # line endings. | |
| checks: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| - uses: oven-sh/setup-bun@v2 | |
| - name: Setup dotnet | |
| uses: actions/setup-dotnet@v6 | |
| with: | |
| global-json-file: global.json | |
| - name: Restore tools | |
| run: dotnet tool restore | |
| - name: Restore solution | |
| run: dotnet restore | |
| - name: Install node_modules | |
| run: bun install --frozen-lockfile | |
| - name: Check formatting | |
| run: bun run fmt:check | |
| - name: Lint | |
| run: bun run lint | |
| - name: Build docs | |
| run: dotnet fsdocs build --noapidocs --projects "$(pwd)/packages/vite-plugin-fable/Fable.Daemon/Fable.Daemon.fsproj" | |
| # The plugin spawns a child process, normalises paths and shells out to MSBuild, so what it does | |
| # is not the same on every OS. `fail-fast: false` because "it broke on Windows only" is the | |
| # answer worth having, and it is lost when the first failure cancels the rest. | |
| test: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| - uses: oven-sh/setup-bun@v2 | |
| - name: Setup dotnet | |
| uses: actions/setup-dotnet@v6 | |
| with: | |
| global-json-file: global.json | |
| - name: Restore solution | |
| run: dotnet restore | |
| - name: Install node_modules | |
| run: bun install --frozen-lockfile | |
| - name: Test plugin | |
| run: bun run test:plugin | |
| - name: Test daemon | |
| run: bun run test:daemon | |
| - name: Build daemon | |
| run: bun run build:daemon | |
| - name: Build sample | |
| run: bun run build | |
| working-directory: ./sample-project |