community.docker/.azure-pipelines/templates/run-nox.yml
2025-12-14 22:53:42 +01:00

53 lines
2.3 KiB
YAML

---
# Copyright (c) Ansible Project
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
# SPDX-License-Identifier: GPL-3.0-or-later
# This template uses the provided list of jobs to create test one or more nox jobs.
parameters:
# A required list of dictionaries, one per nox job.
# Each item in the list must contain a "job", "name", and "sessions" key.
- name: jobs
type: object
jobs:
- ${{ each job in parameters.jobs }}:
- job: ${{ job.job }}
displayName: ${{ job.name }}
container: default
workspace:
clean: all
steps:
- checkout: self
fetchDepth: $(fetchDepth)
- bash: pip install https://github.com/ansible-community/antsibull-nox/archive/main.tar.gz
displayName: Install nox and antsibull-nox
- bash: .azure-pipelines/scripts/setup-nox.sh "${{ job.sessions }}"
displayName: Setup nox environments
- bash: .azure-pipelines/scripts/run-nox.sh "${{ job.sessions }}"
displayName: Run nox
- bash: .azure-pipelines/scripts/process-results.sh
condition: succeededOrFailed()
displayName: Process Results
# - bash: .azure-pipelines/scripts/aggregate-coverage.sh "$(Agent.TempDirectory)"
# condition: eq(variables.haveCoverageData, 'true')
# displayName: Aggregate Coverage Data
# - task: PublishTestResults@2
# condition: eq(variables.haveTestResults, 'true')
# inputs:
# testResultsFiles: "$(outputPath)/junit/*.xml"
# displayName: Publish Test Results
# - task: PublishPipelineArtifact@1
# condition: eq(variables.haveBotResults, 'true')
# displayName: Publish Bot Results
# inputs:
# targetPath: "$(outputPath)/bot/"
# artifactName: "Bot $(System.JobAttempt) $(System.StageDisplayName) $(System.JobDisplayName)"
# - task: PublishPipelineArtifact@1
# condition: eq(variables.haveCoverageData, 'true')
# displayName: Publish Coverage Data
# inputs:
# targetPath: "$(Agent.TempDirectory)/coverage/"
# artifactName: "Coverage $(System.JobAttempt) $(System.StageDisplayName) $(System.JobDisplayName)"