[Repo Assist] tests: add GenerativeCustomAttributeTests; prepare rele… #118
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: Build and Test and Publish | |
| on: | |
| push: | |
| branches: | |
| - master | |
| permissions: | |
| contents: write # for peaceiris/actions-gh-pages | |
| id-token: write # for NuGet trusted publishing | |
| jobs: | |
| build: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [windows-latest, ubuntu-22.04] | |
| dotnet: [8.0.124] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup .NET Core | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: ${{ matrix.dotnet }} | |
| - name: Setup .NET Core 6 | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: 6.0.425 | |
| - name: Cache NuGet packages | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.nuget/packages | |
| key: ${{ runner.os }}-nuget-${{ hashFiles('paket.lock', '.config/dotnet-tools.json') }} | |
| restore-keys: | | |
| ${{ runner.os }}-nuget- | |
| - name: Cache FAKE build artifacts | |
| uses: actions/cache@v4 | |
| with: | |
| path: .fake | |
| key: ${{ runner.os }}-fake-${{ hashFiles('build.fsx', 'build.fsx.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-fake- | |
| - name: Build on Windows | |
| if: matrix.os == 'windows-latest' | |
| run: .\build.cmd | |
| - name: Build on Unix | |
| if: matrix.os != 'windows-latest' | |
| run: ./build.sh | |
| - name: Build docs (unix) | |
| if: matrix.os != 'windows-latest' | |
| run: dotnet fsdocs build --clean --properties Configuration=Release | |
| - name: Deploy documentation from master (unix) | |
| if: matrix.os != 'windows-latest' | |
| uses: peaceiris/actions-gh-pages@v4 | |
| with: | |
| github_token: ${{ secrets.GITHUB_TOKEN }} | |
| publish_dir: ./output | |
| publish_branch: gh-pages | |
| force_orphan: true | |
| - name: Obtain NuGet key | |
| # this hash is v1.1.0 | |
| uses: NuGet/login@d22cc5f58ff5b88bf9bd452535b4335137e24544 | |
| id: login | |
| with: | |
| user: dsyme | |
| - name: Publish NuGets (unix, if versions not published before) | |
| if: matrix.os != 'windows-latest' | |
| run: dotnet nuget push bin/FSharp.TypeProviders.*.nupkg -s https://api.nuget.org/v3/index.json -k ${{ steps.login.outputs.NUGET_API_KEY }} --skip-duplicate | |