forked from OCram85/PSCredentialStore
152 lines
4.2 KiB
YAML
152 lines
4.2 KiB
YAML
---
|
|
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|Vendor|.Tests.ps1)"
|
|
commands:
|
|
- |
|
|
apt-get update
|
|
apt-get install -y file
|
|
|
|
- |
|
|
pwsh -NonInteractive -c "& {
|
|
Install-Module -Name 'DroneHelper' -Repository 'PSGallery' -ErrorAction 'Stop' -AllowPrerelease -Force;
|
|
Import-Module 'DroneHelper' -ErrorAction 'Stop';
|
|
Invoke-FileLinter
|
|
}"
|
|
|
|
- name: "ScriptAnalyzer"
|
|
image: mcr.microsoft.com/dotnet/sdk:6.0-focal
|
|
failure: ignore
|
|
commands:
|
|
- |
|
|
pwsh -NonInteractive -c "& {
|
|
Install-Module -Name 'DroneHelper' -Repository 'PSGallery' -ErrorAction 'Stop' -AllowPrerelease -Force;
|
|
Import-Module -Name 'DroneHelper' -ErrorAction 'Stop';
|
|
Install-ModuleDependency;
|
|
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 "& {
|
|
Install-Module -Name 'DroneHelper' -Repository 'PSGallery' -ErrorAction 'Stop' -AllowPrerelease -Force;
|
|
Import-Module -Name 'DroneHelper' -ErrorAction 'Stop';
|
|
Install-ModuleDependency;
|
|
Invoke-UnitTest -Verbosity 'Detailed' -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 "& {
|
|
Install-Module -Name 'DroneHelper' -Repository 'PSGallery' -ErrorAction 'Stop' -AllowPrerelease -Force;
|
|
Import-Module -Name 'DroneHelper' -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 "& {
|
|
Install-Module -Name 'DroneHelper' -Repository 'PSGallery' -ErrorAction 'Stop' -AllowPrerelease -Force;
|
|
Import-Module -Name 'DroneHelper' -ErrorAction 'Stop';
|
|
Install-ModuleDependency;
|
|
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 "& {
|
|
Install-Module -Name 'DroneHelper' -Repository 'PSGallery' -ErrorAction 'Stop' -AllowPrerelease -Force;
|
|
Import-Module -Name 'DroneHelper' -ErrorAction 'Stop';
|
|
Install-ModuleDependency;
|
|
Update-ModuleMeta -Verbose
|
|
}"
|
|
- |
|
|
pwsh -NonInteractive -c "& {
|
|
Install-Module -Name 'DroneHelper' -Repository 'PSGallery' -ErrorAction 'Stop' -AllowPrerelease -Force;
|
|
Import-Module -Name 'DroneHelper' -ErrorAction 'Stop';
|
|
Install-ModuleDependency;
|
|
New-BuildPackage -Verbose -AdditionalPath './src/Vendor'
|
|
}"
|
|
|
|
- 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"
|
|
- "bin/PSModule.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 "& {
|
|
Install-Module -Name 'DroneHelper' -Repository 'PSGallery' -ErrorAction 'Stop' -AllowPrerelease -Force;
|
|
Import-Module -Name 'DroneHelper' -ErrorAction 'Stop';
|
|
Install-ModuleDependency;
|
|
Invoke-Publish -Verbose
|
|
}"
|