Add LICENSE/NOTICE.md to sqlcmd install folder (#289)

This commit is contained in:
Stuart Padley 2023-03-10 10:47:03 +00:00 коммит произвёл GitHub
Родитель 9753917130
Коммит b8fed69bfe
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
12 изменённых файлов: 77 добавлений и 41 удалений

Просмотреть файл

@ -8,8 +8,7 @@ steps:
command: 'get'
arguments: '-d'
workingDirectory: '$(Build.SourcesDirectory)/cmd/sqlcmd'
- task: Go@0
displayName: 'Go: install gotest.tools/gotestsum'
inputs:

Просмотреть файл

@ -4,7 +4,6 @@ parameters:
default:
- name: Arch
type: string
default:
- name: ArtifactName
type: string
- name: VersionTag

Просмотреть файл

@ -20,56 +20,56 @@ stages:
matrix:
linux:
imageName: 'ubuntu-latest'
artifact: LinuxAmd64
artifact: Linux-amd64
os:
arch:
binaryName: 'sqlcmd'
binaryExt: ''
mac:
imageName: 'macOS-latest'
artifact: DarwinAmd64
artifact: Darwin-x64
os:
arch:
binaryName: 'sqlcmd'
binaryExt: ''
macArm:
imageName: 'macOS-latest'
artifact: DarwinArm64
artifact: Darwin-arm64
os:
arch: arm64
binaryName: 'sqlcmd'
binaryExt: ''
windows:
imageName: 'windows-latest'
artifact: WindowsAmd64
artifact: Windows-x64
os:
arch:
binaryName: 'sqlcmd'
binaryExt: '.exe'
linuxArm:
imageName: 'ubuntu-latest'
artifact: LinuxArm64
artifact: Linux-arm64
os:
arch: arm64
binaryName: 'sqlcmd'
binaryExt: ''
windowsArm:
imageName: 'windows-latest'
artifact: WindowsArm
artifact: Windows-arm
os:
arch: arm
binaryName: 'sqlcmd'
binaryExt: '.exe'
windowsArm64:
imageName: 'windows-latest'
artifact: WindowsArm64
artifact: Windows-arm64
os:
arch: arm64
binaryName: 'sqlcmd'
binaryExt: '.exe'
linuxs390x:
imageName: 'ubuntu-latest'
artifact: LinuxS390x
artifact: Linux-s390x
os:
arch: s390x
binaryName: 'sqlcmd'
@ -154,9 +154,9 @@ stages:
MaxConcurrency: '50'
MaxRetryAttempts: '5'
- task: ArchiveFiles@2
displayName: Zip Windows amd64 binary
displayName: Zip Windows x64 binary
inputs:
rootFolderOrFile: '$(Pipeline.Workspace)\SqlcmdWindowsAmd64'
rootFolderOrFile: '$(Pipeline.Workspace)\SqlcmdWindows-x64'
includeRootFolder: false
archiveType: 'zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/sqlcmd-$(getVersion.VERSION_TAG)-windows-x64.zip'
@ -164,7 +164,7 @@ stages:
- task: ArchiveFiles@2
displayName: Zip Windows arm binary
inputs:
rootFolderOrFile: '$(Pipeline.Workspace)\SqlcmdWindowsArm'
rootFolderOrFile: '$(Pipeline.Workspace)\SqlcmdWindows-arm'
includeRootFolder: false
archiveType: 'zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/sqlcmd-$(getVersion.VERSION_TAG)-windows-arm.zip'
@ -172,7 +172,7 @@ stages:
- task: ArchiveFiles@2
displayName: Zip Windows arm64 binary
inputs:
rootFolderOrFile: '$(Pipeline.Workspace)\SqlcmdWindowsArm64'
rootFolderOrFile: '$(Pipeline.Workspace)\SqlcmdWindows-arm64'
includeRootFolder: false
archiveType: 'zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/sqlcmd-$(getVersion.VERSION_TAG)-windows-arm64.zip'
@ -180,25 +180,25 @@ stages:
- task: ArchiveFiles@2
displayName: Tar Linux amd64 binary
inputs:
rootFolderOrFile: '$(Pipeline.Workspace)\SqlcmdLinuxAmd64'
rootFolderOrFile: '$(Pipeline.Workspace)\SqlcmdLinux-amd64'
includeRootFolder: false
archiveType: 'tar'
tarCompression: 'bz2'
archiveFile: '$(Build.ArtifactStagingDirectory)/sqlcmd-$(getVersion.VERSION_TAG)-linux-x64.tar.bz2'
archiveFile: '$(Build.ArtifactStagingDirectory)/sqlcmd-$(getVersion.VERSION_TAG)-linux-amd64.tar.bz2'
- task: ArchiveFiles@2
displayName: Tar Darwin binary
inputs:
rootFolderOrFile: '$(Pipeline.Workspace)\SqlcmdDarwinAmd64'
rootFolderOrFile: '$(Pipeline.Workspace)\SqlcmdDarwin-x64'
includeRootFolder: false
archiveType: 'tar'
tarCompression: 'bz2'
archiveFile: '$(Build.ArtifactStagingDirectory)/sqlcmd-$(getVersion.VERSION_TAG)-darwin-x64.tar.bz2'
- task: ArchiveFiles@2
displayName: Tar Darwin Arm binary
displayName: Tar Darwin arm binary
inputs:
rootFolderOrFile: '$(Pipeline.Workspace)\SqlcmdDarwinArm64'
rootFolderOrFile: '$(Pipeline.Workspace)\SqlcmdDarwin-arm64'
includeRootFolder: false
archiveType: 'tar'
tarCompression: 'bz2'
@ -207,7 +207,7 @@ stages:
- task: ArchiveFiles@2
displayName: Tar Linux arm64 binary
inputs:
rootFolderOrFile: '$(Pipeline.Workspace)\SqlcmdLinuxArm64'
rootFolderOrFile: '$(Pipeline.Workspace)\SqlcmdLinux-arm64'
includeRootFolder: false
archiveType: 'tar'
tarCompression: 'bz2'
@ -216,7 +216,7 @@ stages:
- task: ArchiveFiles@2
displayName: Tar Linux s390x binary
inputs:
rootFolderOrFile: '$(Pipeline.Workspace)\SqlcmdLinuxS390x'
rootFolderOrFile: '$(Pipeline.Workspace)\SqlcmdLinux-s390x'
includeRootFolder: false
archiveType: 'tar'
tarCompression: 'bz2'

Просмотреть файл

@ -2,6 +2,8 @@ parameters:
- name: OS
type: string
default:
- name: Architecture
type: string
- name: Type
type: string
@ -41,6 +43,7 @@ steps:
msbuildArgs: '/p:Configuration=Release'
env:
CLI_VERSION: $(VERSION_TAG)
ARCHITECTURE: ${{ parameters.Architecture }}
- task: EsrpCodeSigning@2
condition: eq(variables.OS, 'windows')
inputs:
@ -100,7 +103,7 @@ steps:
inputs:
targetType: 'inline'
script: |
mv "$(Build.SourcesDirectory)/release/windows/msi/bin/Release/sqlcmd.msi" "$(Build.SourcesDirectory)/release/windows/msi/bin/Release/sqlcmd_${CLI_VERSION}-${CLI_VERSION_REVISION}.msi"
mv "$(Build.SourcesDirectory)/release/windows/msi/bin/Release/sqlcmd.msi" "$(Build.SourcesDirectory)/release/windows/msi/bin/Release/sqlcmd-${{ parameters.ARCHITECTURE }}_${CLI_VERSION}-${CLI_VERSION_REVISION}.msi"
env:
CLI_VERSION: $(VERSION_TAG)
CLI_VERSION_REVISION: 1
@ -132,7 +135,7 @@ steps:
MaxConcurrency: '50'
MaxRetryAttempts: '20'
- task: PublishPipelineArtifact@0
displayName: 'Publish Artifact: ${{ parameters.Type }}'
displayName: 'Publish Artifact: ${{ parameters.Type }} ${{ parameters.Architecture }}'
inputs:
targetPath: $(Build.ArtifactStagingDirectory)
artifactName: ${{ parameters.Type }}
artifactName: ${{ parameters.Type }} ${{ parameters.Architecture }}

Просмотреть файл

@ -2,6 +2,8 @@ parameters:
- name: OS
type: string
default:
- name: Architecture
type: string
- name: Type
type: string
@ -25,12 +27,17 @@ steps:
CLI_VERSION: $(VERSION_TAG)
BUILD_STAGINGDIRECTORY: $(Build.ArtifactStagingDirectory)
- task: PowerShell@2
condition: eq(variables.OS, 'windows')
displayName: 'Test ${{ parameters.OS }}/${{ parameters.Type }} package'
# Windows ARM not available in ADO pipelines yet, so only test on Amd64
# https://learn.microsoft.com/azure/devops/pipelines/agents/hosted
# https://github.com/microsoft/azure-pipelines-agent/issues/3935
condition: and(eq(variables.OS, 'windows'), eq(variables.Architecture, 'x64'))
displayName: 'Test ${{ parameters.OS }}/${{ parameters.Architecture }}/${{ parameters.Type }} package'
inputs:
targetType: 'filePath'
filePath: '$(Build.SourcesDirectory)\release\windows\msi\scripts\pipeline-test.ps1'
failOnStderr: true
env:
CLI_VERSION: $(VERSION_TAG)
ARCHITECTURE: ${{ parameters.Architecture }}

Просмотреть файл

@ -19,17 +19,31 @@ stages:
imageName: 'ubuntu-latest'
os: linux
type: rpm
architecture: x86_x64
debian:
imageName: 'ubuntu-latest'
os: linux
type: deb
architecture: amd64
docker:
imageName: 'ubuntu-latest'
os: linux
type: docker
windows:
architecture: amd64
windows-x64:
imageName: 'windows-2019'
os: windows
architecture: x64
type: msi
windows-arm:
imageName: 'windows-2019'
os: windows
architecture: arm
type: msi
windows-arm64:
imageName: 'windows-2019'
os: windows
architecture: arm64
type: msi
pool:
vmImage: $(imageName)
@ -37,8 +51,10 @@ stages:
- template: package-common-create.yml
parameters:
OS: $(os)
Architecture: $(architecture)
Type: $(type)
- template: package-common-test.yml
parameters:
OS: $(os)
Architecture: $(architecture)
Type: $(type)

Просмотреть файл

@ -46,7 +46,7 @@ DIST_DIR=${BUILD_STAGINGDIRECTORY:=${REPO_ROOT_DIR}/output/debian}
PIPELINE_WORKSPACE=${REPO_ROOT_DIR}
if [[ "${BUILD_OUTPUT}" != "" ]]; then
cp ${BUILD_OUTPUT}/SqlcmdLinuxAmd64/sqlcmd ${REPO_ROOT_DIR}/sqlcmd
cp ${BUILD_OUTPUT}/SqlcmdLinux-amd64/sqlcmd ${REPO_ROOT_DIR}/sqlcmd
fi
CLI_VERSION=${CLI_VERSION:=0.0.1}

Просмотреть файл

@ -22,7 +22,7 @@ DIST_DIR=${BUILD_STAGINGDIRECTORY:=${REPO_ROOT_DIR}/output/docker}
IMAGE_NAME=microsoft/sqlcmd${BUILD_BUILDNUMBER:=''}
if [[ "${BUILD_OUTPUT}" != "" ]]; then
cp ${BUILD_OUTPUT}/SqlcmdLinuxAmd64/sqlcmd ${REPO_ROOT_DIR}/sqlcmd
cp ${BUILD_OUTPUT}/SqlcmdLinux-amd64/sqlcmd ${REPO_ROOT_DIR}/sqlcmd
fi
chmod u+x ${REPO_ROOT_DIR}/sqlcmd

Просмотреть файл

@ -22,7 +22,7 @@ set -exv
: "${REPO_ROOT_DIR:=`cd $(dirname $0); cd ../../../; pwd`}"
if [[ "${BUILD_OUTPUT}" != "" ]]; then
cp ${BUILD_OUTPUT}/SqlcmdLinuxAmd64/sqlcmd ${REPO_ROOT_DIR}/sqlcmd
cp ${BUILD_OUTPUT}/SqlcmdLinux-amd64/sqlcmd ${REPO_ROOT_DIR}/sqlcmd
fi
DIST_DIR=${BUILD_STAGINGDIRECTORY:=${REPO_ROOT_DIR}/output/rpm}

Просмотреть файл

@ -44,15 +44,11 @@
<Directory Id="SqlcmdDirectory" Name="$(var.AppName)">
<Component Id="sqlcmd.exe" Guid="2988854C-D02C-4D48-866C-8EAEBA6BC54B">
<CreateFolder />
<RemoveFolder Id="RemoveSqlCmdDirectory" On="uninstall" />
<RegistryKey Root="HKCU" Key="Software\Microsoft\SqlCmd">
<RegistryValue Name="MainExe" Value="1" KeyPath="yes" Type="integer" />
</RegistryKey>
<RemoveFolder Id="RemoveFolder" On="uninstall" />
<File
Id="sqlcmd.exe"
Name="sqlcmd.exe"
Source="$(env.PIPELINE_WORKSPACE)\SqlcmdWindowsAmd64\sqlcmd.exe"
DiskId="1"
Source="$(env.PIPELINE_WORKSPACE)\SqlcmdWindows-$(env.ARCHITECTURE)\sqlcmd.exe"
Checksum="yes"/>
<Environment
Id="PATH"
@ -63,6 +59,20 @@
Action="set"
System="yes" />
</Component>
<Component Id="notice" Guid="9BB06B71-91BF-4431-B88D-C7E4BCA1F435">
<File
Id="NOTICE.md"
Name="NOTICE.md"
Source="$(env.PIPELINE_WORKSPACE)\SqlcmdWindows-$(env.ARCHITECTURE)\NOTICE.md"
Checksum="no"/>
</Component>
<Component Id="license" Guid="F9E6D3F8-8B09-49C6-8309-74F88DD765B0">
<File
Id="LICENSE"
Name="LICENSE"
Source="$(env.PIPELINE_WORKSPACE)\s\LICENSE"
Checksum="no"/>
</Component>
</Directory>
</Directory>
</Directory>
@ -71,7 +81,8 @@
Level="1"
AllowAdvertise="no">
<ComponentRef Id="sqlcmd.exe" />
<ComponentRef Id="notice" />
<ComponentRef Id="license" />
</Feature>
</Product>
</Wix>

Просмотреть файл

@ -16,10 +16,11 @@
if (-not (Test-Path env:CLI_VERSION)) { $env:CLI_VERSION = '0.0.1' }
if (-not (Test-Path env:CLI_VERSION_REVISION)) { $env:CLI_VERSION_REVISION = '1' }
if (-not (Test-Path env:ARCHITECTURE)) { $env:ARCHITECTURE = 'amd64' }
tree /A /F $env:SYSTEM_ARTIFACTSDIRECTORY
$msiPath = Join-Path $env:SYSTEM_ARTIFACTSDIRECTORY ("sqlcmd_" + $env:CLI_VERSION + "-" + $env:CLI_VERSION_REVISION + ".msi")
$msiPath = Join-Path $env:SYSTEM_ARTIFACTSDIRECTORY ("sqlcmd-" + $env:ARCHITECTURE + "_" + $env:CLI_VERSION + "-" + $env:CLI_VERSION_REVISION + ".msi")
$msiPath

Просмотреть файл

@ -29,9 +29,9 @@ set REPO_ROOT=%~dp0..\..\..\..
set PIPELINE_WORKSPACE=%ARTIFACTS_DIR%\workspace
mkdir %PIPELINE_WORKSPACE%\SqlcmdWindowsAmd64
mkdir %PIPELINE_WORKSPACE%\SqlcmdWindows-%ARCHITECTURE%
copy /y %REPO_ROOT%\sqlcmd.exe %PIPELINE_WORKSPACE%\SqlcmdWindowsAmd64\sqlcmd.exe
copy /y %REPO_ROOT%\sqlcmd.exe %PIPELINE_WORKSPACE%\SqlcmdWindows-%ARCHITECTURE%\sqlcmd.exe
::ensure wix is available
if exist %WIX_DIR% (