Skip to content

ci: Add Binary Signing Task #3649

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 154 commits into from
May 29, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
154 commits
Select commit Hold shift + click to select a range
850380a
Add Explicit Binary Signing Task
sheylatrudo May 10, 2025
1e5ce38
fixup! Add Explicit Binary Signing Task
sheylatrudo May 10, 2025
0bfb59d
fixup! Add Explicit Binary Signing Task
sheylatrudo May 12, 2025
8e938dc
fixup! Add Explicit Binary Signing Task
sheylatrudo May 12, 2025
bb71954
fixup! Add Explicit Binary Signing Task
sheylatrudo May 13, 2025
1563184
fixup! Add Explicit Binary Signing Task
sheylatrudo May 13, 2025
8c7f0cc
fixup! Add Explicit Binary Signing Task
sheylatrudo May 13, 2025
ce4ed32
fixup! Add Explicit Binary Signing Task
sheylatrudo May 13, 2025
53305c1
fixup! Add Explicit Binary Signing Task
sheylatrudo May 13, 2025
42180dd
fixup! Add Explicit Binary Signing Task
sheylatrudo May 13, 2025
69251e4
fixup! Add Explicit Binary Signing Task
sheylatrudo May 13, 2025
48b7c0f
Use Signed Binaries for Docker Build
sheylatrudo May 14, 2025
259ab4a
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 14, 2025
364b478
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 14, 2025
c868cbb
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 14, 2025
4aaedc3
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 14, 2025
96b082d
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 14, 2025
a35f487
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 14, 2025
40ddd03
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 14, 2025
dbec508
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 14, 2025
cd24315
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 14, 2025
0f643eb
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 14, 2025
f701af0
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 15, 2025
d86128c
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 15, 2025
ccc1e91
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 15, 2025
91bc0cd
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 15, 2025
7022b52
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 15, 2025
060e2f9
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 15, 2025
0e57002
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 15, 2025
08c2a9c
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 15, 2025
79e7db3
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 15, 2025
b335d5f
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 15, 2025
62f6662
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 15, 2025
d6e8d42
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 15, 2025
32cab91
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 15, 2025
85fe83d
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 15, 2025
5f2bb30
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 15, 2025
ee182d2
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 15, 2025
828b3ab
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 15, 2025
3efb67a
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 15, 2025
0dca5ea
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 15, 2025
c622435
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 15, 2025
ec48952
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 16, 2025
18eb019
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 16, 2025
c3eea89
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 16, 2025
6c6dbcd
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 16, 2025
fa4cf77
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 16, 2025
46c56e3
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 16, 2025
30ef1ac
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 16, 2025
0efbbc7
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 16, 2025
f3dadea
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 16, 2025
f025bcc
fixup! Use Signed Binaries for Docker Build
sheylatrudo May 16, 2025
c1023e7
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 20, 2025
5d0bcea
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 20, 2025
0d4ba39
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 20, 2025
96e73d5
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 20, 2025
3e08ca5
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 20, 2025
d3b1414
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 20, 2025
78d031c
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 20, 2025
ec47d29
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 20, 2025
4c7a209
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 20, 2025
7c52888
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 20, 2025
280f5f3
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 20, 2025
d1e7a22
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 20, 2025
e0192da
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 20, 2025
b609f18
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 20, 2025
5cfcea6
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 20, 2025
d9c2a84
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
f8207ef
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
6555849
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
7509284
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
60a42c7
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
64dd467
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
f7aae3e
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
8c9d05f
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
4c65fe3
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
d9836f1
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
7fc5d46
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
7c03005
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
7948f33
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
748675b
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
45f09a1
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
a3af409
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
024c0ef
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
5805044
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
9e17960
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
10bf21c
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
9c1234c
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
f1e6349
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
7266bc2
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
de65eca
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
52a3bc9
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
b91d460
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
b3845f3
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
7b81d4a
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
eb8be05
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
c1b58c3
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
3cb2602
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
5054e6a
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
ae5bb5e
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
3b3c405
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
0b8f108
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
0908465
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
09aa4b3
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
6b5e9cf
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
70df05c
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
8d941a3
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
adef5d1
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
c8faca5
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
3fa3041
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
8f858ec
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
6d4c045
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 21, 2025
52e5ce1
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 22, 2025
5b21b79
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 22, 2025
a7a4f31
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 22, 2025
1ec9eea
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 22, 2025
f6d05b5
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 22, 2025
b376377
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 22, 2025
d653e4d
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 23, 2025
cc6f18e
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 23, 2025
0f6219f
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 23, 2025
2d811df
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 23, 2025
9668101
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 23, 2025
843ff20
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 23, 2025
d7a78fb
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 25, 2025
66cc4f6
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 25, 2025
ee719ce
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 25, 2025
3688939
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 25, 2025
65cb538
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 25, 2025
8e690a6
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 25, 2025
6854cec
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 25, 2025
d20d048
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 25, 2025
35d5bf9
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 25, 2025
d8d9356
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 25, 2025
a8c393d
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 25, 2025
4bf3d88
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 25, 2025
6493496
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 25, 2025
1d28d3e
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 25, 2025
393c86b
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 25, 2025
af4447b
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 26, 2025
e300638
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 26, 2025
0e6fffd
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 26, 2025
cbab609
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 26, 2025
23e1faf
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 26, 2025
1d12e28
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 26, 2025
61c10fe
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 26, 2025
93f2ec8
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 26, 2025
dad6c6e
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 26, 2025
fb4caa0
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 26, 2025
f2b5e84
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 27, 2025
6908279
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 27, 2025
10267d0
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 28, 2025
1bb2b16
fixup! fixup! Use Signed Binaries for Docker Build
sheylatrudo May 28, 2025
e550bbd
chore: comment out NPM jobs/steps
jpayne3506 May 28, 2025
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
34 changes: 34 additions & 0 deletions .pipelines/build/binaries.jobs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,37 @@ jobs:
target: $(name)
os: $(OS)
arch: $(ARCH)


- ${{ elseif and(eq(job_data.templateContext.action, 'sign'), job_data.templateContext.isOfficial) }}:
- job: sign_${{ job_data.job }}
displayName: "Sign Binary - ${{ job_data.displayName }} -"
strategy: ${{ job_data.strategy }}
pool:
${{ if eq(job_data.job, 'windows_amd64') }}:
type: windows
${{ else }}:
type: linux
variables:
ob_outputDirectory: $(Build.SourcesDirectory)
ob_artifactSuffix: _$(artifact)
ob_git_checkout: false
steps:
- task: DownloadPipelineArtifact@2
inputs:
targetPath: $(Build.SourcesDirectory)
artifact: '${{ job_data.templateContext.repositoryArtifact }}'

- task: ExtractFiles@1
inputs:
archiveFilePatterns: '**/*.?(tgz|tgz.gz|zip)'
destinationFolder: $(Build.SourcesDirectory)
cleanDestinationFolder: false
overwriteExistingFiles: true

- task: onebranch.pipeline.signing@1
inputs:
command: 'sign'
signing_profile: 'external_distribution'
files_to_sign: '**/*'
search_root: $(Build.SourcesDirectory)
16 changes: 16 additions & 0 deletions .pipelines/build/dockerfiles/azure-ipam.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
ARG ARCH


# skopeo inspect docker://mcr.microsoft.com/oss/kubernetes/windows-host-process-containers-base-image:v1.0.0 --format "{{.Name}}@{{.Digest}}"
FROM --platform=windows/${ARCH} mcr.microsoft.com/oss/kubernetes/windows-host-process-containers-base-image@sha256:b4c9637e032f667c52d1eccfa31ad8c63f1b035e8639f3f48a510536bf34032b as windows
ARG ARTIFACT_DIR .

COPY ${ARTIFACT_DIR}/bin/dropgz.exe /dropgz.exe
ENTRYPOINT [ "/dropgz.exe" ]


FROM scratch AS linux
ARG ARTIFACT_DIR .

COPY ${ARTIFACT_DIR}/bin/dropgz /dropgz
ENTRYPOINT [ "/dropgz" ]
16 changes: 16 additions & 0 deletions .pipelines/build/dockerfiles/cni.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
ARG ARCH


# skopeo inspect docker://mcr.microsoft.com/oss/kubernetes/windows-host-process-containers-base-image:v1.0.0 --format "{{.Name}}@{{.Digest}}"
FROM --platform=windows/${ARCH} mcr.microsoft.com/oss/kubernetes/windows-host-process-containers-base-image@sha256:b4c9637e032f667c52d1eccfa31ad8c63f1b035e8639f3f48a510536bf34032b as windows
ARG ARTIFACT_DIR .

COPY ${ARTIFACT_DIR}/bin/dropgz.exe /dropgz.exe
ENTRYPOINT [ "/dropgz.exe" ]


FROM scratch AS linux
ARG ARTIFACT_DIR .

COPY ${ARTIFACT_DIR}/bin/dropgz /dropgz
ENTRYPOINT [ "/dropgz" ]
28 changes: 28 additions & 0 deletions .pipelines/build/dockerfiles/cns.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
ARG ARCH


# mcr.microsoft.com/oss/kubernetes/windows-host-process-containers-base-image:v1.0.0
FROM --platform=windows/${ARCH} mcr.microsoft.com/oss/kubernetes/windows-host-process-containers-base-image@sha256:b4c9637e032f667c52d1eccfa31ad8c63f1b035e8639f3f48a510536bf34032b AS windows
ARG ARTIFACT_DIR .

COPY ${ARTIFACT_DIR}/files/kubeconfigtemplate.yaml kubeconfigtemplate.yaml
COPY ${ARTIFACT_DIR}/scripts/setkubeconfigpath.ps1 setkubeconfigpath.ps1
COPY ${ARTIFACT_DIR}/bin/azure-cns.exe /azure-cns.exe
ENTRYPOINT ["azure-cns.exe"]
EXPOSE 10090


# mcr.microsoft.com/cbl-mariner/base/core:2.0
# skopeo inspect docker://mcr.microsoft.com/cbl-mariner/base/core:2.0 --format "{{.Name}}@{{.Digest}}"
FROM --platform=linux/${ARCH} mcr.microsoft.com/cbl-mariner/base/core@sha256:961bfedbbbdc0da51bc664f51d959da292eced1ad46c3bf674aba43b9be8c703 AS build-helper
RUN tdnf install -y iptables

# mcr.microsoft.com/cbl-mariner/distroless/minimal:2.0
FROM --platform=linux/${ARCH} mcr.microsoft.com/cbl-mariner/distroless/minimal@sha256:7778a86d86947d5f64c1280a7ee0cf36c6c6d76b5749dd782fbcc14f113961bf AS linux
ARG ARTIFACT_DIR .

COPY --from=build-helper /usr/sbin/*tables* /usr/sbin/
COPY --from=build-helper /usr/lib /usr/lib
COPY ${ARTIFACT_DIR}/bin/azure-cns /usr/local/bin/azure-cns
ENTRYPOINT [ "/usr/local/bin/azure-cns" ]
EXPOSE 10090
10 changes: 10 additions & 0 deletions .pipelines/build/dockerfiles/ipv6-hp-bpf.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
ARG ARCH


FROM --platform=linux/${ARCH} mcr.microsoft.com/azurelinux/distroless/minimal:3.0 AS linux
ARG ARTIFACT_DIR
COPY ${ARTIFACT_DIR}/lib/* /lib
COPY ${ARTIFACT_DIR}/bin/ipv6-hp-bpf /ipv6-hp-bpf
COPY ${ARTIFACT_DIR}/bin/nft /usr/sbin/nft
COPY ${ARTIFACT_DIR}/bin/ip /sbin/ip
CMD ["/ipv6-hp-bpf"]
29 changes: 29 additions & 0 deletions .pipelines/build/dockerfiles/npm.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
ARG ARCH


# intermediate for win-ltsc2022
FROM --platform=windows/${ARCH} mcr.microsoft.com/windows/servercore@sha256:45952938708fbde6ec0b5b94de68bcdec3f8c838be018536b1e9e5bd95e6b943 as windows
ARG ARTIFACT_DIR

COPY ${ARTIFACT_DIR}/files/kubeconfigtemplate.yaml kubeconfigtemplate.yaml
COPY ${ARTIFACT_DIR}/scripts/setkubeconfigpath.ps1 setkubeconfigpath.ps1
COPY ${ARTIFACT_DIR}/scripts/setkubeconfigpath-capz.ps1 setkubeconfigpath-capz.ps1
COPY ${ARTIFACT_DIR}/bin/azure-npm.exe npm.exe

CMD ["npm.exe", "start" "--kubeconfig=.\\kubeconfig"]


FROM --platform=linux/${ARCH} mcr.microsoft.com/mirror/docker/library/ubuntu:24.04 as linux
ARG ARTIFACT_DIR

RUN apt-get update && apt-get install -y iptables ipset ca-certificates && apt-get autoremove -y && apt-get clean
#RUN apt-get update && \
# apt-get install -y \
# linux-libc-dev \
# libc6-dev \
# libtasn1-6 \
# gnutls30 iptables ipset ca-certificates
#RUN apt-get autoremove -y && apt-get clean

COPY ${ARTIFACT_DIR}/bin/azure-npm /usr/bin/azure-npm
ENTRYPOINT ["/usr/bin/azure-npm", "start"]
2 changes: 1 addition & 1 deletion .pipelines/build/generate-manifest.steps.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ steps:
MANIFEST_DATA=$(echo "$IMAGE_PLATFORM_DATA" | \
jq -r '.[] |
.args = [ (.platform | split("/")[0]), (.platform | split("/")[1]) ] |
.args = [ ("--os " + .args[0] ), ("--arch " + .args[1] ) ] |
.args = [ ("--os " + .args[0] ), ("--arch " + .args[1] ) ] |
if .osVersion then .args += ["--os-version " + .osVersion] else . end |
{ image: .imageReference, annotate: .args }' | \
jq -rcs)
Expand Down
13 changes: 4 additions & 9 deletions .pipelines/build/image.steps.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,6 @@ parameters:
type: string
default: ""

- name: dockerfile_path
type: string
default: ""

- name: archive_file
type: string
default: '$(name)-$(os)-$(platform)-$(Tag)'
Expand Down Expand Up @@ -50,8 +46,8 @@ parameters:
steps:
- task: DownloadPipelineArtifact@2
inputs:
targetPath: $(Build.SourcesDirectory)/dst/${{ parameters.source }}
artifact: '${{ parameters.source }}'
targetPath: $(Build.SourcesDirectory)/dst/artifacts
artifact: ${{ parameters.source }}

- task: onebranch.pipeline.containercontrol@1
displayName: "Login to ACR"
Expand All @@ -70,14 +66,13 @@ steps:
repositoryName: $(os)-$(arch)/${{ parameters.name }}
os: '${{ parameters.os }}'
buildkit: 1
dockerFileRelPath: ${{ parameters.dockerfile_path }}/Dockerfile
dockerFileContextPath: ${{ parameters.source }}
dockerFileRelPath: artifacts/Dockerfile
enable_network: true
enable_pull: true
build_tag: ${{ parameters.build_tag }}
enable_acr_push: true

saveImageToPath: images/$(os)-$(arch)/${{ parameters.archive_file }}.tar.gz
enabled_cache: false
#compress: true
#saveMetadataToPath: images/$(os)-$(arch)/metadata/${{ parameters.archive_file }}-metadata.json
#enable_isolated_acr_push: true
Expand Down
149 changes: 149 additions & 0 deletions .pipelines/build/images.jobs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
parameters:
- name: images
type: jobList


jobs:
- ${{ each job_data in parameters.images }}:
- job: pkg_${{ job_data.job }}
displayName: "Prepare Image Package - ${{ job_data.displayName }} -"
${{ if job_data.strategy }}:
strategy: ${{ job_data.strategy }}
${{ if job_data.dependsOn }}:
dependsOn: ${{ job_data.dependsOn }}
pool:
type: linux
${{ if eq(job_data.job, 'linux_arm64') }}:
hostArchitecture: arm64

variables:
ob_artifactSuffix: _$(name)
ob_git_checkout: false
# keep these variables concerned with instrumentation.
GEN_DIR: $(Build.SourcesDirectory)/temp
REPO_ROOT: $(Build.SourcesDirectory)/${{ job_data.templateContext.repositoryArtifact }}
OUT_DIR: $(Build.ArtifactStagingDirectory)
DROPGZ_VERSION: v0.0.12
DEBUG: $[ coalesce(variables['System.Debug'], 'False') ]
ob_outputDirectory: $(Build.ArtifactStagingDirectory)
${{ if eq(job_data.job, 'linux_amd64') }}:
DEBIAN_FRONTEND: noninteractive
LinuxContainerImage: 'onebranch.azurecr.io/linux/ubuntu-2404:latest'
#mcr.microsoft.com/mirror/docker/library/ubuntu:24.04'
#LinuxContainerImage: 'mcr.microsoft.com/onebranch/azurelinux/build:3.0'
OS: linux
ARCH: amd64
${{ elseif eq(job_data.job, 'windows_amd64') }}:
LinuxContainerImage: 'mcr.microsoft.com/onebranch/azurelinux/build:3.0'
ob_enable_qemu: true
OS: windows
ARCH: amd64
${{ elseif eq(job_data.job, 'linux_arm64') }}:
LinuxContainerImage: 'mcr.microsoft.com/onebranch/azurelinux/build:3.0'
OS: linux
ARCH: arm64
GOARCH: arm64
steps:
- task: DownloadPipelineArtifact@2
inputs:
targetPath: $(REPO_ROOT)
artifact: '${{ job_data.templateContext.repositoryArtifact }}'

- task: GoTool@0
inputs:
version: '$(GOVERSION)'

- task: ShellScript@2
inputs:
scriptPath: $(REPO_ROOT)/${{ job_data.templateContext.buildScript }}

- script: |
ls -la "$SOURCE"
cp "$SOURCE" "$DEST"
ls -la "$DEST"
env:
SOURCE: $(REPO_ROOT)/${{ job_data.templateContext.obDockerfile }}
DEST: $(OUT_DIR)/Dockerfile

- task: onebranch.pipeline.signing@1
inputs:
command: 'sign'
signing_profile: 'external_distribution'
files_to_sign: '**/*'
search_root: $(OUT_DIR)


- task: ShellScript@2
displayName: "Package with DropGZ"
condition: and(
succeeded(),
eq(variables.packageWithDropGZ, 'True'))
inputs:
scriptPath: $(REPO_ROOT)/.pipelines/build/scripts/dropgz.sh

- ${{ if not(contains(job_data.job, 'linux')) }}:
- task: onebranch.pipeline.signing@1
condition: and(
succeeded(),
eq(variables.packageWithDropGZ, 'True'))
inputs:
command: 'sign'
signing_profile: 'external_distribution'
files_to_sign: '**/dropgz*'
search_root: $(OUT_DIR)

# OneBranch artifacts are stored on a Windows machine which obliterates
# Linux file permissions.
# This task is added (along with ob_extract_root_artifact in jobs that
# download the artifact) to protect those file permissions from changing
# during image build time.
#
# See: https://eng.ms/docs/products/onebranch/build/containerbasedworkflow/dockerimagesandacr/preservefilepermissionsfordockerbuild
- script: |
tar cvf "$OUT_DIR"/root_artifact.tar --exclude=root_artifact.tar "$OUT_DIR"
displayName: "Zip to Preserve Linux File Permissions"


- job: images_${{ job_data.job }}
displayName: "Build Images - ${{ job_data.displayName }} -"
dependsOn:
- pkg_${{ job_data.job }}
strategy: ${{ job_data.strategy }}
pool:
os: linux
type: docker
# ${{ if eq(job_data.job, 'linux_arm64') }}:
# hostArchitecture: arm64
# ${{ else }}:
# LinuxHostVersion: 'AzLinux3.0AMD64'
variables:
ob_outputDirectory: $(Build.ArtifactStagingDirectory)
ob_artifactSuffix: _$(name)
ob_git_checkout: false
ob_extract_root_artifact: true
${{ if eq(job_data.job, 'linux_amd64') }}:
LinuxContainerImage: 'mcr.microsoft.com/onebranch/azurelinux/build:3.0'
ARCH: amd64
OS: linux
${{ elseif eq(job_data.job, 'windows_amd64') }}:
LinuxContainerImage: 'mcr.microsoft.com/onebranch/azurelinux/build:3.0'
ob_enable_qemu: true
ARCH: amd64
OS: windows
${{ elseif eq(job_data.job, 'linux_arm64') }}:
LinuxContainerImage: 'mcr.microsoft.com/onebranch/azurelinux/build:3.0'
ob_enable_qemu: true
ARCH: arm64
OS: linux
GOARCH: arm64

steps:
- template: image.steps.yaml
parameters:
arch: $(ARCH)
os: $(OS)
name: $(name)
build_tag: $(imageTag)
extra_args: $(extraArgs) --build-arg ARTIFACT_DIR="/__w/1/a"
archive_file: $(archiveName)-$(OS)-$(ARCH)-$(archiveVersion)
source: drop_build_pkg_${{ job_data.job }}_$(name)
Loading
Loading