removed azure-pipelines folder, updated docs, fixed build-boost-packages.yml

This commit is contained in:
Nikita Bykov
2020-09-09 17:13:55 +03:00
parent 88348dec1a
commit d76bf4df3d
5 changed files with 11 additions and 207 deletions

View File

@@ -37,11 +37,11 @@ jobs:
platform: linux-18.04
- os: windows-2016
architecture: x86_64
toolset: msvc14.1
toolset: msvc-14.1
platform: win32
- os: windows-2019
architecture: x86_64
toolset: msvc14.2
toolset: msvc-14.2
platform: win32
steps:
@@ -63,7 +63,7 @@ jobs:
path: ${{ runner.temp }}/artifact
test_boost:
name: Test Boost ${{ github.event.inputs.VERSION }} [${{ matrix.platform }}]
name: Test Boost ${{ github.event.inputs.VERSION }} [${{ matrix.os }}]
needs: build_boost
runs-on: ${{ matrix.os }}
env:
@@ -83,11 +83,11 @@ jobs:
architecture: x64
- os: windows-2016
platform: win32
toolset: msvc14.1
toolset: msvc-14.1
architecture: x86_64
- os: windows-2019
platform: win32
toolset: msvc14.2
toolset: msvc-14.2
architecture: x86_64
steps:
- uses: actions/checkout@v2
@@ -104,7 +104,7 @@ jobs:
- name: Extract files
run: |
$artifactName = "${{ env.ARTIFACT_NAME }}.tar.gz"
$artifactName = Get-ChildItem -Name
If ("${{ matrix.platform }}" -eq "win32") {
$assetTarPath = $artifactName.TrimEnd(".tar.gz")
7z x $artifactName -o"$assetTarPath" -y | Out-Null
@@ -173,6 +173,7 @@ jobs:
data: fs.readFileSync(`./${artifactDir}/${artifactName}`)
});
}
trigger_pr:
name: Trigger "Create Pull Request" workflow
needs: publish_release

View File

@@ -29,22 +29,20 @@ Here are a few things you can do that will increase the likelihood of your pull
### Directory structure
```
├── azure-pipelines/
| └──templates/
├── .github/
| └──workflows/
├── builders/
├── helpers/
├── installers/
└── tests/
└──sources/
```
- `azure-pipelines*` - contains global YAML definitions for build pipelines. Reusable templates for specific jobs are located in `templates` subfolder.
- `.github/workflows` - contains repository workflow files.
- `builders` - contains Boost builder classes and functions.
- `helpers` - contains global helper functions and functions.
- `helpers` - contains global helper classes and functions.
- `installers` - contains installation script templates.
- `tests` - contains test scripts. Required tests sources are located in `sources` subfolder.
\* _We use Azure Pipelines because there are a few features that Actions is still missing, we'll move to Actions as soon as possible_.
## Resources
- [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/)

View File

@@ -1,95 +0,0 @@
name: $(date:yyyyMMdd)$(rev:.r)-Boost-$(VERSION)
trigger: none
pr:
autoCancel: true
branches:
include:
- main
paths:
exclude:
- versions-manifest.json
stages:
- stage: Build_Boost_Ubuntu_1604
dependsOn: []
variables:
VmImage: ubuntu-16.04
Platform: linux-16.04
Architecture: x64
Toolset: gcc
jobs:
- template: /azure-pipelines/templates/build-job.yml
- stage: Test_Boost_Ubuntu_1604
condition: succeeded()
dependsOn: Build_Boost_Ubuntu_1604
variables:
VmImage: ubuntu-16.04
Platform: linux-16.04
Architecture: x64
Toolset: gcc
jobs:
- template: /azure-pipelines/templates/test-job.yml
- stage: Build_Boost_Ubuntu_1804
dependsOn: []
variables:
VmImage: 'ubuntu-18.04'
Platform: linux-18.04
Architecture: x64
Toolset: gcc
jobs:
- template: /azure-pipelines/templates/build-job.yml
- stage: Test_Boost_Ubuntu_1804
condition: succeeded()
dependsOn: Build_Boost_Ubuntu_1804
variables:
VmImage: 'ubuntu-18.04'
Platform: linux-18.04
Architecture: x64
Toolset: gcc
jobs:
- template: /azure-pipelines/templates/test-job.yml
- stage: Build_Boost_msvc141
dependsOn: []
variables:
VmImage: 'vs2017-win2016'
Platform: win32
Architecture: x86_64
Toolset: msvc-14.1
jobs:
- template: /azure-pipelines/templates/build-job.yml
- stage: Test_Boost_msvc141
condition: succeeded()
dependsOn: Build_Boost_msvc141
variables:
VmImage: 'vs2017-win2016'
Platform: win32
Architecture: x86_64
Toolset: msvc-14.1
jobs:
- template: /azure-pipelines/templates/test-job.yml
- stage: Build_Boost_msvc142
dependsOn: []
variables:
VmImage: 'windows-2019'
Platform: win32
Architecture: x86_64
Toolset: msvc-14.2
jobs:
- template: /azure-pipelines/templates/build-job.yml
- stage: Test_Boost_msvc142
condition: succeeded()
dependsOn: Build_Boost_msvc142
variables:
VmImage: 'windows-2019'
Platform: win32
Architecture: x86_64
Toolset: msvc-14.2
jobs:
- template: /azure-pipelines/templates/test-job.yml

View File

@@ -1,20 +0,0 @@
jobs:
- job: Build_Boost
timeoutInMinutes: 300
pool:
name: Azure Pipelines
vmImage: $(VmImage)
steps:
- checkout: self
- task: PowerShell@2
displayName: 'Build Boost $(Version)'
inputs:
targetType: filePath
filePath: './builders/build-boost.ps1'
arguments: '-Version $(Version) -Platform $(Platform) -Architecture $(Architecture) -Toolset $(Toolset)'
- task: PublishPipelineArtifact@1
displayName: 'Publish Artifact: Boost $(Version)'
inputs:
targetPath: '$(Build.ArtifactStagingDirectory)'
artifactName: 'boost-$(Version)-$(Platform)-$(Toolset)-$(Architecture)'

View File

@@ -1,80 +0,0 @@
jobs:
- job: Test_Boost
pool:
name: Azure Pipelines
vmImage: $(VmImage)
steps:
- checkout: self
submodules: true
- task: PowerShell@2
displayName: Fully cleanup the toolcache directory before testing
inputs:
targetType: filePath
filePath: helpers/clean-toolcache.ps1
arguments: -ToolName "boost"
- task: DownloadPipelineArtifact@2
inputs:
source: 'current'
artifact: 'boost-$(Version)-$(Platform)-$(Toolset)-$(Architecture)'
path: $(Build.ArtifactStagingDirectory)
- task: ExtractFiles@1
inputs:
archiveFilePatterns: '$(Build.ArtifactStagingDirectory)/boost-$(Version)-$(Platform)-*-$(Architecture).*'
destinationFolder: $(Build.BinariesDirectory)
cleanDestinationFolder: false
- task: PowerShell@2
displayName: 'Apply build artifact to the local machines'
inputs:
targetType: inline
script: |
if ("$(Platform)" -match 'win32') { powershell ./setup.ps1 } else { sh ./setup.sh }
workingDirectory: '$(Build.BinariesDirectory)'
- task: PowerShell@2
displayName: 'Set up BOOST_ROOT'
inputs:
TargetType: inline
script: |
$BoostToolcachePath = Join-Path -Path $env:AGENT_TOOLSDIRECTORY -ChildPath "boost"
$BoostToolcacheVersionPath = Join-Path -Path $BoostToolcachePath -ChildPath "$(Version)"
$boostDirectory = Join-Path $BoostToolcacheVersionPath "$(Architecture)"
$LD_LIBRARY = Join-Path -Path $boostDirectory -ChildPath "lib"
Write-Host "BOOST_ROOT = ${boostDirectory}"
Write-Host "##vso[task.setvariable variable=BOOST_ROOT]${boostDirectory}"
Write-Host "##vso[task.setvariable variable=LD_LIBRARY_PATH]${LD_LIBRARY}"
- task: PowerShell@2
displayName: 'Run tests'
inputs:
TargetType: inline
script: |
Install-Module Pester -Force -Scope CurrentUser -RequiredVersion 4.10.1
Import-Module Pester
$Platform = If ("$(Platform)" -eq "win32") { "Windows" } else { "Nix" }
$pesterParams = @(
@{
Path="./Common.Tests.ps1";
},
@{
Path="./${Platform}.Tests.ps1";
Parameters=@{
Version="$(Version)";
Platform="$(Platform)"
}
}
)
Invoke-Pester -Script $pesterParams -OutputFile "$(Build.SourcesDirectory)/tests/test_results.xml" -OutputFormat NUnitXml
workingDirectory: '$(Build.SourcesDirectory)/tests'
- task: PublishTestResults@2
displayName: 'Publish test results'
inputs:
testResultsFiles: '*.xml'
testResultsFormat: NUnit
searchFolder: 'tests'
failTaskOnFailedTests: true
testRunTitle: "Boost $(Version)-$(Platform)-$(Toolset)"
condition: always()