Skip to content

Complete implementation of Issue #9: Multi-template system with comprehensive CLI features, cross-platform testing, project-specific configuration files, OS-specific git integration, and markdown as default template #68

Complete implementation of Issue #9: Multi-template system with comprehensive CLI features, cross-platform testing, project-specific configuration files, OS-specific git integration, and markdown as default template

Complete implementation of Issue #9: Multi-template system with comprehensive CLI features, cross-platform testing, project-specific configuration files, OS-specific git integration, and markdown as default template #68

Workflow file for this run

# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
name: CI
on:
push:
branches:
- master
- release/*
paths-ignore:
- '**/*.md'
- '**/*.gitignore'
- '**/*.gitattributes'
pull_request:
branches:
- master
- release/*
paths-ignore:
- '**/*.md'
- '**/*.gitignore'
- '**/*.gitattributes'
jobs:
build:
if: github.event_name == 'push' && contains(toJson(github.event.commits), '***NO_CI***') == false && contains(toJson(github.event.commits), '[ci skip]') == false && contains(toJson(github.event.commits), '[skip ci]') == false
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
dotnet: ['8.0.x', '9.0.x']
runs-on: ${{ matrix.os }}
env:
ACTIONS_ALLOW_UNSECURE_COMMANDS: true
DOTNET_CLI_TELEMETRY_OPTOUT: 1
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
DOTNET_NOLOGO: true
DOTNET_GENERATE_ASPNET_CERTIFICATE: false
DOTNET_ADD_GLOBAL_TOOLS_TO_PATH: false
DOTNET_MULTILEVEL_LOOKUP: 0
steps:
- name: checkout code
uses: actions/checkout@v4
- name: setup .net core sdk
uses: actions/setup-dotnet@v4
with:
dotnet-version: ${{ matrix.dotnet }}
- name: dotnet build
run: dotnet build solrevdev.seedfolder.sln --configuration Release
- name: run integration tests (linux/mac)
if: matrix.os != 'windows-latest'
run: ./tests/integration-test.sh
- name: run integration tests (windows)
if: matrix.os == 'windows-latest'
run: powershell -File tests/integration-test.ps1
- name: dotnet pack
run: dotnet pack solrevdev.seedfolder.sln -c Release --no-build --include-source --include-symbols
- name: setup nuget
if: github.event_name == 'push' && github.ref == 'refs/heads/master' && matrix.os == 'ubuntu-latest' && matrix.dotnet == '8.0.x'
uses: nuget/setup-nuget@v1
with:
nuget-version: latest
- name: Publish NuGet
if: github.event_name == 'push' && github.ref == 'refs/heads/master' && matrix.os == 'ubuntu-latest' && matrix.dotnet == '8.0.x'
uses: rohith/[email protected]
with:
PROJECT_FILE_PATH: src/solrevdev.seedfolder.csproj # Relative to repository root
# VERSION_FILE_PATH: Directory.Build.props # Filepath with version info, relative to repository root. Defaults to project file
# VERSION_REGEX: <Version>(.*)<\/Version> # Regex pattern to extract version info in a capturing group
# TAG_COMMIT: true # Flag to enable / disable git tagging
# TAG_FORMAT: v* # Format of the git tag, [*] gets replaced with version
NUGET_KEY: ${{secrets.NUGET_API_KEY}} # nuget.org API key
PACKAGE_NAME: solrevdev.seedfolder