58 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: CI
 | 
						|
 | 
						|
on:
 | 
						|
  push:
 | 
						|
    branches: [ "main", "htmx-version-2" ]
 | 
						|
  pull_request:
 | 
						|
    branches: [ "main" ]
 | 
						|
  workflow_dispatch:
 | 
						|
 | 
						|
jobs:
 | 
						|
  build-and-test:
 | 
						|
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    
 | 
						|
    strategy:
 | 
						|
      matrix:
 | 
						|
        dotnet-version: [ "6.0", "7.0", "8.0" ]
 | 
						|
    
 | 
						|
    steps:
 | 
						|
    - uses: actions/checkout@v3
 | 
						|
    - name: Setup .NET ${{ matrix.dotnet-version }}.x
 | 
						|
      uses: actions/setup-dotnet@v3
 | 
						|
      with:
 | 
						|
        dotnet-version: ${{ matrix.dotnet-version }}.x
 | 
						|
    - name: Restore dependencies
 | 
						|
      run: dotnet restore src/Giraffe.Htmx.sln
 | 
						|
    - name: Build
 | 
						|
      run: dotnet build src/Giraffe.Htmx.sln --no-restore
 | 
						|
    - name: Test (.NET ${{ matrix.dotnet-version }})
 | 
						|
      run: dotnet run --project src/Tests/Tests.fsproj -f net${{ matrix.dotnet-version }}
 | 
						|
  publish:
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    needs: build-and-test
 | 
						|
    steps:
 | 
						|
    - uses: actions/checkout@v3
 | 
						|
    - name: Setup .NET
 | 
						|
      uses: actions/setup-dotnet@v3
 | 
						|
      with:
 | 
						|
        dotnet-version: "8.0"
 | 
						|
    - name: Package Common library
 | 
						|
      run: dotnet pack src/Common/Giraffe.Htmx.Common.fsproj -c Release
 | 
						|
    - name: Move Common package
 | 
						|
      run: cp src/Common/bin/Release/Giraffe.Htmx.Common.*.nupkg .
 | 
						|
    - name: Package Server library
 | 
						|
      run: dotnet pack src/Htmx/Giraffe.Htmx.fsproj -c Release
 | 
						|
    - name: Move Server package
 | 
						|
      run: cp src/Htmx/bin/Release/Giraffe.Htmx.*.nupkg .
 | 
						|
    - name: Package View Engine library
 | 
						|
      run: dotnet pack src/ViewEngine.Htmx/Giraffe.ViewEngine.Htmx.fsproj -c Release
 | 
						|
    - name: Move View Engine package
 | 
						|
      run: cp src/ViewEngine.Htmx/bin/Release/Giraffe.ViewEngine.Htmx.*.nupkg .
 | 
						|
    - name: Save Packages
 | 
						|
      uses: actions/upload-artifact@v3
 | 
						|
      with:
 | 
						|
        name: packages
 | 
						|
        path: |
 | 
						|
          *.nupkg
 |