--- kind: pipeline type: docker name: "Build Pipeline" trigger: branch: exclude: - droneDocs/* steps: - name: "Pwsh FileLinter" image: mcr.microsoft.com/dotnet/sdk:6.0-focal failure: ignore environment: EXCLUDE: "(.exe|.dll|.ico|.gitkeep)" commands: - | apt-get update apt-get install -y file - | pwsh -NonInteractive -c "& { Import-Module './tools/DevDependency.psm1' -ErrorAction 'Stop'; Invoke-FixDevDependency; Import-Module './src/DroneHelper.psd1' -ErrorAction 'Stop'; Invoke-FileLinter }" - name: "ScriptAnalyzer" image: mcr.microsoft.com/dotnet/sdk:6.0-focal failure: ignore commands: - | pwsh -NonInteractive -c "& { Import-Module './tools/DevDependency.psm1' -ErrorAction 'Stop'; Invoke-FixDevDependency; Import-Module './src/DroneHelper.psd1' -ErrorAction 'Stop'; Invoke-Linter }" - name: "Pester" image: mcr.microsoft.com/dotnet/sdk:6.0-focal failure: ignore commands: - | apt-get update apt-get install -y file - | pwsh -NonInteractive -c "& { Import-Module './tools/DevDependency.psm1' -ErrorAction 'Stop'; Invoke-FixDevDependency; Import-Module './src/DroneHelper.psd1' -ErrorAction 'Stop'; Invoke-UnitTest -ExcludeTag 'Integration' }" - name: "PRComment" image: mcr.microsoft.com/dotnet/sdk:6.0-focal failure: ignore environment: GITEA_TOKEN: from_secret: GITEA_TOKEN CUSTOM_PIPELINE_STATE: true LOG_FILES: "build/*.log" commands: - | pwsh -NonInteractive -c "& { Import-Module './tools/DevDependency.psm1' -ErrorAction 'Stop'; Invoke-FixDevDependency; Import-Module './src/DroneHelper.psd1' -ErrorAction 'Stop'; Send-PRComment }" when: event: include: - pull_request depends_on: - "Pwsh FileLinter" - "ScriptAnalyzer" - "Pester" - name: "buildState" image: mcr.microsoft.com/dotnet/sdk:6.0-focal commands: - | pwsh -NonInteractive -c "& { Import-Module './tools/DevDependency.psm1' -ErrorAction 'Stop'; Invoke-FixDevDependency; Import-Module './src/DroneHelper.psd1' -ErrorAction 'Stop'; Invoke-BuildState }" depends_on: - "PRComment" --- kind: pipeline type: docker name: "Publish Pipeline" depends_on: - "Build Pipeline" trigger: event: - tag steps: - name: BuildArtifacts image: mcr.microsoft.com/dotnet/sdk:6.0-focal #failure: ignore commands: - | pwsh -NonInteractive -c "& { Import-Module './tools/DevDependency.psm1' -ErrorAction 'Stop'; Invoke-FixDevDependency; Import-Module './src/DroneHelper.psd1' -ErrorAction 'Stop'; Update-ModuleMeta -Verbose }" - | pwsh -NonInteractive -c "& { Import-Module './tools/DevDependency.psm1' -ErrorAction 'Stop'; Invoke-FixDevDependency; Import-Module './src/DroneHelper.psd1' -ErrorAction 'Stop'; New-BuildPackage -AdditionalPath './src/Rules' -Verbose }" - name: GiteaRelease image: plugins/gitea-release settings: api_key: from_secret: GITEA_TOKEN base_url: https://gitea.ocram85.com files: - "bin/${DRONE_REPO_NAME}.zip" title: ${DRONE_TAG} note: CHANGELOG.md - name: "PublishModule" image: mcr.microsoft.com/dotnet/sdk:6.0-focal #failure: ignore environment: NuGetToken: from_secret: PSGallery commands: - | pwsh -NonInteractive -c "& { Import-Module './tools/DevDependency.psm1' -ErrorAction 'Stop'; Invoke-FixDevDependency; Import-Module './src/DroneHelper.psd1' -ErrorAction 'Stop'; Invoke-Publish -Verbose }"