adds DroneHelper (#61)
#### 📖 Summary - adds DroneHelper for build pipeline #### 📑 Test Plan > 💡 Select your test plan for the code changes. - [x] Tested via Drone.io pipeline - [ ] Custom test - [ ] No test plan ##### Details / Justification <!-- Add your test details or justification for missing tests here. --> #### 📚 Additional Notes - FileLint / Lint & Pester issues will be fixed in next PR Co-authored-by: OCram85 <marco.blessing@googlemail.com> Reviewed-on: #61
This commit is contained in:
159
.drone.yml
159
.drone.yml
@ -1,64 +1,151 @@
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: PWSH_LTS_7.2_Ubuntu-focal
|
||||
name: "Build Pipeline"
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: amd64
|
||||
trigger:
|
||||
branch:
|
||||
exclude:
|
||||
- droneDocs/*
|
||||
|
||||
steps:
|
||||
- name: Environments
|
||||
image: mcr.microsoft.com/powershell:lts-7.2-ubuntu-focal
|
||||
- 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 "& {
|
||||
Import-Module './tools/DroneIO.psm1' -Verbose;
|
||||
Invoke-ShowEnv -Verbose
|
||||
Install-Module -Name 'DroneHelper' -Repository 'PSGallery' -ErrorAction 'Stop' -AllowPrerelease -Force;
|
||||
Import-Module 'DroneHelper' -ErrorAction 'Stop';
|
||||
Invoke-FileLinter -Verbose -Debug
|
||||
}"
|
||||
|
||||
- name: LintTests
|
||||
image: mcr.microsoft.com/powershell:lts-7.2-ubuntu-focal
|
||||
- name: "ScriptAnalyzer"
|
||||
image: mcr.microsoft.com/dotnet/sdk:6.0-focal
|
||||
failure: ignore
|
||||
commands:
|
||||
- |
|
||||
pwsh -NonInteractive -c "& {
|
||||
Import-Module './tools/DroneIO.psm1';
|
||||
Invoke-InstallDependencies;
|
||||
Invoke-Linter -ErrorAction 'Stop'
|
||||
Install-Module -Name 'DroneHelper' -Repository 'PSGallery' -ErrorAction 'Stop' -AllowPrerelease -Force;
|
||||
Import-Module -Name 'DroneHelper' -ErrorAction 'Stop';
|
||||
Install-ModuleDependency;
|
||||
Invoke-Linter
|
||||
}"
|
||||
|
||||
- name: UnitTests
|
||||
image: mcr.microsoft.com/powershell:lts-7.2-ubuntu-focal
|
||||
- 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/DroneIO.psm1';
|
||||
Invoke-InstallDependencies;
|
||||
Invoke-UnitTest -Verbosity 'Normal' -ExcludeTag @( 'Integration', 'Disabled') -ErrorAction 'Stop'
|
||||
Install-Module -Name 'DroneHelper' -Repository 'PSGallery' -ErrorAction 'Stop' -AllowPrerelease -Force;
|
||||
Import-Module -Name 'DroneHelper' -ErrorAction 'Stop';
|
||||
Install-ModuleDependency;
|
||||
Invoke-UnitTest -Verbosity 'Detailed' -ExcludeTag 'Integration'
|
||||
}"
|
||||
|
||||
# Disable Codecov for self hosted git
|
||||
#- name: Coverage
|
||||
# image: plugins/codecov
|
||||
# settings:
|
||||
# token:
|
||||
# from_secret: CodeCovToken
|
||||
# files:
|
||||
# - coverage.xml
|
||||
# depends_on:
|
||||
# - UnitTests
|
||||
|
||||
- name: SetPipelineState
|
||||
image: mcr.microsoft.com/powershell:lts-7.2-ubuntu-focal
|
||||
- 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/DroneIO.psm1';
|
||||
Invoke-BuildState -ErrorAction 'Stop'
|
||||
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:
|
||||
- LintTests
|
||||
- UnitTests
|
||||
#- Coverage
|
||||
- "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
|
||||
}"
|
||||
|
||||
- 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
|
||||
}"
|
||||
|
Reference in New Issue
Block a user