Skip to content

Commit 46484d2

Browse files
committed
Update script
1 parent eaef7af commit 46484d2

File tree

1 file changed

+10
-19
lines changed

1 file changed

+10
-19
lines changed

.build.ps1

Lines changed: 10 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,21 @@ 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
7973

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 }
74+
Exec { docker buildx build --platform 'linux/amd64,linux/arm64' --output "type=oci,dest=$dockerImageMultiArchArchive" --file $dockerFilePath --tag $dockerImageVersionTag --tag $dockerImageLatestTag . }
8375

8476
$state.DockerImageVersionTag = $dockerImageVersionTag
8577
$state.DockerImageLatestTag = $dockerImageLatestTag
@@ -324,12 +316,11 @@ Task Init {
324316
ContractsArtifactsFolder = $contractsArtifactsFolder
325317
LinuxX64BuildArtifactsFolder = $linuxX64BuildArtifactsFolder
326318
LinuxArm64BuildArtifactsFolder = $linuxArm64BuildArtifactsFolder
327-
WinX64BuildArtifactsFolder = $winX64BuildArtifactsFolder
319+
WinX64BuildArtifactsFolder = $winX64BuildArtifactsFolder
328320
DockerImageName = 'tiksn/fossa-api'
329321
DockerImageVersionTag = $null
330322
DockerImageLatestTag = $null
331-
DockerImageVersionArchiveName = 'tiksn-fossa-api-version.tar'
332-
DockerImageLatestArchiveName = 'tiksn-fossa-api-latest.tar'
323+
DockerImageMultiArchArchiveName= 'fossa-api-multiarch.tar'
333324
}
334325

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

0 commit comments

Comments
 (0)