Skip to content

chore: bump version to 2.0.0 #30

chore: bump version to 2.0.0

chore: bump version to 2.0.0 #30

Workflow file for this run

name: CI
on:
push:
branches: [ main, develop, feature/* ]
pull_request:
branches: [ main, develop ]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
name: Test on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-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
- name: Build
run: dotnet build --configuration Release --no-restore
- name: Run tests with coverage
run: dotnet test FileCombiner.Tests/FileCombiner.Tests.csproj /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura /p:CoverletOutput=../coverage.cobertura.xml --configuration Release --verbosity quiet
- name: List coverage files (debug)
if: matrix.os == 'ubuntu-latest'
run: |
echo "Searching for coverage files..."
ls -la *.xml || echo "No XML files found"
echo "=== Coverage file content (first 50 lines) ==="
head -50 coverage.cobertura.xml || echo "Cannot read coverage.cobertura.xml"
echo "=== Coverage file stats ==="
grep -E 'line-rate|branch-rate|lines-covered|lines-valid' coverage.cobertura.xml | head -5 || echo "Cannot parse coverage stats"
- name: Upload coverage reports to Codecov
if: matrix.os == 'ubuntu-latest'
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage.cobertura.xml
flags: unittests
fail_ci_if_error: false
verbose: true
build:
name: Build Release Artifacts
runs-on: windows-latest
needs: test
if: github.ref == 'refs/heads/main'
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0.x'
- name: Publish Windows x64
run: dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -p:DebugType=None -p:DebugSymbols=false -o ./artifacts/win-x64
- name: Upload Windows artifact
uses: actions/upload-artifact@v4
with:
name: filecombiner-win-x64
path: ./artifacts/win-x64/filecombiner.exe
retention-days: 30