Skip to content

Commit

Permalink
updates to the azure pipelines for CI
Browse files Browse the repository at this point in the history
  • Loading branch information
Michael7371 committed Feb 24, 2025
1 parent 7fd021e commit 0866f5d
Show file tree
Hide file tree
Showing 3 changed files with 84 additions and 19 deletions.
46 changes: 46 additions & 0 deletions .azure/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Azure Pipeline Configuration

This directory contains the Azure DevOps pipeline configuration for the ASN.1 Codec project.

## Overview

The pipeline configuration in `azure-pipelines.yml` is primarily used for Continuous Integration (CI) in the CDOT-CV fork of the ASN.1 Codec project. It serves as the first step in a two-stage process:

1. **Build Pipeline (this configuration)**
- Triggers on changes to the `develop` branch
- Monitors specific project directories for changes:
- `usdot-asn1c/*`
- `src/*`
- `include/*`
- `pugixml/*`
- Copies all source files to the artifact staging directory
- Publishes the source code as an artifact named 'asn1_codec'

2. **Release Pipeline (configured in Azure DevOps)**
- Uses the published artifact from the build pipeline
- Handles Docker image building and deployment
- Configuration is managed through the Azure DevOps web interface

## Pipeline Trigger

The pipeline automatically triggers when:

- Changes are pushed to the `develop` branch
- Changes occur in any of the monitored project directories

## Pipeline Steps

1. **Copy Files**
- Copies project files to the artifact staging directory
- Excludes certain files/directories by default:
- `data` directories
- `docs` directories
- Markdown (`.md`) files

2. **Publish Artifact**
- Creates an artifact named 'asn1_codec'
- Makes the source code available for the release pipeline

## Note

The actual Docker build process and deployment steps are configured in the Azure DevOps release pipeline, which is separate from this build pipeline configuration. The release pipeline picks up the artifact produced by this build pipeline and performs the necessary build and deployment steps.
38 changes: 38 additions & 0 deletions .azure/azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Azure pipeline used to trigger builds of the asn1_codec project
# This pipeline is primarily used for CI in the CDOT-CV fork

trigger:
branches:
include:
- develop
paths:
include:
- 'usdot-asn1c/*'
- 'src/*'
- 'include/*'
- 'pugixml/*'

pool:
vmImage: ubuntu-latest

steps:
# Add checkout step with submodules
- checkout: self
submodules: true

- task: CopyFiles@2
inputs:
SourceFolder: '$(Build.SourcesDirectory)'
Contents: |
**
!**/data/**
!**/docs/**
!**/*.md
TargetFolder: '$(Build.ArtifactStagingDirectory)'

# Publish the artifacts directory for consumption in publish pipeline
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'asn1_codec'
publishLocation: 'Container'
19 changes: 0 additions & 19 deletions azure-pipelines.yml

This file was deleted.

0 comments on commit 0866f5d

Please sign in to comment.