Skip to content

Commit ec0b9c1

Browse files
committed
Update script
1 parent eaef7af commit ec0b9c1

File tree

1 file changed

+11
-19
lines changed

1 file changed

+11
-19
lines changed

.build.ps1

Lines changed: 11 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,10 @@ Task Publish Pack, {
3232
$state = Import-Clixml -Path ".\.trash\$Instance\state.clixml"
3333
$dockerImageVersionTag = $state.DockerImageVersionTag
3434
$dockerImageLatestTag = $state.DockerImageLatestTag
35-
$dockerImageVersionArchiveName = $state.DockerImageVersionArchiveName
36-
$dockerImageLatestArchiveName = $state.DockerImageLatestArchiveName
37-
$dockerImageVersionArchive = Resolve-Path -Path ".\.trash\$Instance\artifacts\$dockerImageVersionArchiveName"
38-
$dockerImageLatestArchive = Resolve-Path -Path ".\.trash\$Instance\artifacts\$dockerImageLatestArchiveName"
35+
$dockerImageMultiArchArchiveName = $state.DockerImageMultiArchArchiveName
36+
$dockerImageMultiArchArchive = Resolve-Path -Path ".\.trash\$Instance\artifacts\$dockerImageMultiArchArchiveName"
3937

40-
Exec { docker image load --input $dockerImageVersionArchive }
41-
Exec { docker image load --input $dockerImageLatestArchive }
38+
Exec { docker image load --input $dockerImageMultiArchArchive }
4239

4340
if ($null -eq $env:DOCKER_ACCESS_TOKEN) {
4441
Import-Module -Name Microsoft.PowerShell.SecretManagement
@@ -60,26 +57,22 @@ Task Publish Pack, {
6057
Exec { docker push $dockerImageLatestTag }
6158
}
6259

63-
# Synopsis: Pack NuGet package
60+
# Synopsis: Pack Docker image artifact
6461
Task Pack Build, Test, Ward, {
6562
$state = Import-Clixml -Path ".\.trash\$Instance\state.clixml"
6663
$dockerImageName = $state.DockerImageName
6764
$nextVersion = $state.NextVersion
68-
$linuxX64BuildArtifactsFolder = $state.LinuxX64BuildArtifactsFolder
69-
$linuxArm64BuildArtifactsFolder = $state.LinuxArm64BuildArtifactsFolder
7065
$dockerFilePath = Resolve-Path -Path '.\src\API.Web\Dockerfile'
66+
$buildArtifactsFolder = $state.BuildArtifactsFolder
7167

7268
$dockerImageVersionTag = "$($dockerImageName):$nextVersion"
7369
$dockerImageLatestTag = "$($dockerImageName):latest"
7470

75-
$dockerImageVersionArchiveName = $state.DockerImageVersionArchiveName
76-
$dockerImageLatestArchiveName = $state.DockerImageLatestArchiveName
77-
$dockerImageVersionArchive = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath(".\.trash\$Instance\artifacts\$dockerImageVersionArchiveName")
78-
$dockerImageLatestArchive = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath(".\.trash\$Instance\artifacts\$dockerImageLatestArchiveName")
71+
$dockerImageMultiArchArchiveName = $state.DockerImageMultiArchArchiveName
72+
$dockerImageMultiArchArchive = Join-Path -Path $buildArtifactsFolder -ChildPath $dockerImageMultiArchArchiveName
73+
Write-Warning -Message "Docker Image Multi-Arch Archive Path: $dockerImageMultiArchArchive"
7974

80-
Exec { docker buildx build --file $dockerFilePath --tag $dockerImageVersionTag --tag $dockerImageLatestTag $linuxX64BuildArtifactsFolder }
81-
Exec { docker image save --output $dockerImageVersionArchive $dockerImageVersionTag }
82-
Exec { docker image save --output $dockerImageLatestArchive $dockerImageLatestTag }
75+
Exec { docker buildx build --platform 'linux/amd64,linux/arm64' --output "type=oci,dest=$dockerImageMultiArchArchive" --file $dockerFilePath --tag $dockerImageVersionTag --tag $dockerImageLatestTag . }
8376

8477
$state.DockerImageVersionTag = $dockerImageVersionTag
8578
$state.DockerImageLatestTag = $dockerImageLatestTag
@@ -324,12 +317,11 @@ Task Init {
324317
ContractsArtifactsFolder = $contractsArtifactsFolder
325318
LinuxX64BuildArtifactsFolder = $linuxX64BuildArtifactsFolder
326319
LinuxArm64BuildArtifactsFolder = $linuxArm64BuildArtifactsFolder
327-
WinX64BuildArtifactsFolder = $winX64BuildArtifactsFolder
320+
WinX64BuildArtifactsFolder = $winX64BuildArtifactsFolder
328321
DockerImageName = 'tiksn/fossa-api'
329322
DockerImageVersionTag = $null
330323
DockerImageLatestTag = $null
331-
DockerImageVersionArchiveName = 'tiksn-fossa-api-version.tar'
332-
DockerImageLatestArchiveName = 'tiksn-fossa-api-latest.tar'
324+
DockerImageMultiArchArchiveName= 'fossa-api-multiarch.tar'
333325
}
334326

335327
$state | Export-Clixml -Path ".\.trash\$Instance\state.clixml"

0 commit comments

Comments
 (0)