Modernize Delta Forth compiler for .NET 8 with comprehensive improvem… #1
Workflow file for this run
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 | |
| on: | |
| push: | |
| branches: [ main, develop, claude/** ] | |
| pull_request: | |
| branches: [ main, develop ] | |
| jobs: | |
| build: | |
| name: Build on ${{ matrix.os }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, windows-latest, macos-latest] | |
| dotnet-version: ['8.0.x'] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup .NET | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: ${{ matrix.dotnet-version }} | |
| - name: Display .NET version | |
| run: dotnet --version | |
| - name: Restore dependencies | |
| run: dotnet restore DeltaForth/DeltaForth.csproj | |
| - name: Build | |
| run: dotnet build DeltaForth/DeltaForth.csproj --configuration Release --no-restore | |
| - name: Test basic compilation | |
| shell: bash | |
| run: | | |
| cd DeltaForth/bin/Release/net8.0 | |
| echo ': MAIN ." Hello, Delta Forth!" CR ;' > test.4th | |
| if [[ "$RUNNER_OS" == "Windows" ]]; then | |
| ./DeltaForth.exe test.4th /NOLOGO /QUIET | |
| else | |
| ./DeltaForth test.4th /NOLOGO /QUIET | |
| fi | |
| - name: Upload build artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: deltaforth-${{ matrix.os }} | |
| path: DeltaForth/bin/Release/net8.0/DeltaForth* | |
| retention-days: 7 | |
| code-analysis: | |
| name: Code Analysis | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup .NET | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: '8.0.x' | |
| - name: Restore dependencies | |
| run: dotnet restore DeltaForth/DeltaForth.csproj | |
| - name: Run analyzers | |
| run: dotnet build DeltaForth/DeltaForth.csproj --configuration Release /p:TreatWarningsAsErrors=false |