Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -56,14 +56,17 @@ jobs:
- bash: |
set -Eeuo pipefail

source_repo="${{ parameters.sourceCheckoutDir }}"
repository_full_name="${{ parameters.sourceRepositoryFullName }}"
source_repo="$SOURCE_CHECKOUT_DIR"
repository_full_name="$SOURCE_REPOSITORY_FULL_NAME"

rm -rf "$source_repo"
mkdir -p "$(dirname "$source_repo")"

echo "Cloning $repository_full_name into $source_repo"
git clone --filter=blob:none --no-checkout "https://github.com/$repository_full_name.git" "$source_repo"
env:
SOURCE_CHECKOUT_DIR: ${{ parameters.sourceCheckoutDir }}
SOURCE_REPOSITORY_FULL_NAME: ${{ parameters.sourceRepositoryFullName }}
displayName: 'Clone API review source repository'

- ${{ parameters.setupSteps }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,19 @@ steps:
- pwsh: |
$ErrorActionPreference = 'Stop'

New-Item -ItemType Directory -Force -Path '${{ parameters.outputDir }}' | Out-Null
New-Item -ItemType Directory -Force -Path '${{ parameters.workingDir }}' | Out-Null
New-Item -ItemType Directory -Force -Path '${{ parameters.workingDir }}/state' | Out-Null
New-Item -ItemType Directory -Force -Path $env:OUTPUT_DIR | Out-Null
New-Item -ItemType Directory -Force -Path $env:WORKING_DIR | Out-Null
New-Item -ItemType Directory -Force -Path (Join-Path $env:WORKING_DIR 'state') | Out-Null
env:
OUTPUT_DIR: ${{ parameters.outputDir }}
WORKING_DIR: ${{ parameters.workingDir }}
displayName: 'Prepare ${{ parameters.kind }} API review bundle directories'

- bash: |
set -Eeuo pipefail

source_repo="${{ parameters.sourceDir }}"
ref="${{ parameters.ref }}"
source_repo="$SOURCE_DIR"
ref="$REF"

if [ ! -d "$source_repo/.git" ]; then
echo "Expected API review source repository was not cloned at $source_repo" >&2
Expand All @@ -52,19 +55,23 @@ steps:
exit 1
fi

echo "Checking out ${{ parameters.kind }} API review source ref $ref in $source_repo"
echo "Checking out $KIND API review source ref $ref in $source_repo"
git -C "$source_repo" fetch --depth=1 origin "$ref"
git -C "$source_repo" checkout --force FETCH_HEAD
git -C "$source_repo" clean -ffd
env:
SOURCE_DIR: ${{ parameters.sourceDir }}
REF: ${{ parameters.ref }}
KIND: ${{ parameters.kind }}
displayName: 'Checkout ${{ parameters.kind }} API review source'

- ${{ parameters.generationSteps }}

- pwsh: |
$ErrorActionPreference = 'Stop'

$outputDir = '${{ parameters.outputDir }}'
$stateDir = '${{ parameters.workingDir }}/state'
$outputDir = $env:OUTPUT_DIR
$stateDir = Join-Path $env:WORKING_DIR 'state'
$apiMdPath = Join-Path $outputDir 'api.md'
$apiMetadataPath = Join-Path $outputDir 'api.metadata.yml'
$packageRelativePathPath = Join-Path $stateDir 'package-relative-path.txt'
Expand All @@ -86,16 +93,26 @@ steps:
$version = Get-Content -Raw -Path $versionPath

$metadata = [ordered]@{
operationId = '${{ parameters.operationId }}'
mode = '${{ parameters.requestMode }}'
language = '${{ parameters.language }}'
repositoryFullName = '${{ parameters.repositoryFullName }}'
packageName = '${{ parameters.packageName }}'
operationId = $env:OPERATION_ID
mode = $env:REQUEST_MODE
language = $env:LANGUAGE
repositoryFullName = $env:REPOSITORY_FULL_NAME
packageName = $env:PACKAGE_NAME
packageRelativePath = $packageRelativePath.Trim()
ref = '${{ parameters.ref }}'
ref = $env:REF
version = $version.Trim()
kind = '${{ parameters.kind }}'
kind = $env:KIND
}
$metadata | ConvertTo-Json -Depth 10 | Set-Content -Path (Join-Path $outputDir 'artifact-metadata.json') -Encoding utf8
Get-Content -Path (Join-Path $outputDir 'artifact-metadata.json')
env:
OUTPUT_DIR: ${{ parameters.outputDir }}
WORKING_DIR: ${{ parameters.workingDir }}
OPERATION_ID: ${{ parameters.operationId }}
REQUEST_MODE: ${{ parameters.requestMode }}
LANGUAGE: ${{ parameters.language }}
REPOSITORY_FULL_NAME: ${{ parameters.repositoryFullName }}
PACKAGE_NAME: ${{ parameters.packageName }}
REF: ${{ parameters.ref }}
KIND: ${{ parameters.kind }}
displayName: 'Validate and write ${{ parameters.kind }} API review bundle metadata'
Loading