Skip to content
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

Adding DEB Maintainers Scripts and Build CI Images #3060

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
115 commits
Select commit Hold shift + click to select a range
4c2764c
Add ubuntu2004 assemble docker image runner
peterzhuamazon Dec 12, 2022
86ad6dd
Add ubuntu2004 assemble docker image runner
peterzhuamazon Dec 12, 2022
758cb70
Add ubuntu2004 assemble docker image runner
peterzhuamazon Dec 12, 2022
67907f4
Add ubuntu2004 assemble docker image runner
peterzhuamazon Dec 12, 2022
62f1190
Add ubuntu2004 assemble docker image runner
peterzhuamazon Dec 12, 2022
96a770a
Add ubuntu2004 assemble docker image runner
peterzhuamazon Dec 12, 2022
8887387
Add ubuntu2004 assemble docker image runner
peterzhuamazon Dec 12, 2022
e227c2f
Add ubuntu2004 assemble docker image runner
peterzhuamazon Dec 12, 2022
e446d9d
Add ubuntu2004 assemble docker image runner
peterzhuamazon Dec 12, 2022
f53e39b
Test deb
peterzhuamazon Dec 13, 2022
256c54f
Test deb
peterzhuamazon Dec 13, 2022
6549365
Test deb
peterzhuamazon Dec 13, 2022
bff4153
test no python37
peterzhuamazon Dec 14, 2022
3a094cc
Add new python37
peterzhuamazon Dec 15, 2022
2ca4b11
Add new python37
peterzhuamazon Dec 15, 2022
9fb9099
Add 22.04
peterzhuamazon Dec 15, 2022
eb37bf1
Add 22.04
peterzhuamazon Dec 15, 2022
3ca83fc
Add 22.04
peterzhuamazon Dec 15, 2022
95a1bfb
test again
peterzhuamazon Dec 15, 2022
89a3b3e
test again
peterzhuamazon Dec 15, 2022
4de989c
test again
peterzhuamazon Dec 15, 2022
94c6e2e
test again
peterzhuamazon Dec 15, 2022
7ae63d4
test again
peterzhuamazon Dec 15, 2022
1443e8c
test debian
peterzhuamazon Jan 4, 2023
90d5258
test again
peterzhuamazon Jan 4, 2023
48ef9e1
test again
peterzhuamazon Jan 5, 2023
57d8f54
test again
peterzhuamazon Jan 5, 2023
5e547cf
Add more changes
peterzhuamazon Jan 5, 2023
77e0a0c
Add back test.sh
peterzhuamazon Jan 5, 2023
c82827d
Add back test.sh
peterzhuamazon Jan 5, 2023
9837fe2
Add back test.sh
peterzhuamazon Jan 5, 2023
b272e3c
More tweaks
peterzhuamazon Jan 5, 2023
9c7bc49
Add more
peterzhuamazon Jan 5, 2023
6ba20bc
Add more
peterzhuamazon Jan 6, 2023
000f2a7
more changes debian
peterzhuamazon Jan 8, 2023
55a58b5
Add preinst
peterzhuamazon Jan 8, 2023
a831004
Add more scripts
peterzhuamazon Jan 8, 2023
84a1db3
test license
peterzhuamazon Jan 8, 2023
2594ac1
test again
peterzhuamazon Jan 8, 2023
5c429a0
test again
peterzhuamazon Jan 8, 2023
349f423
test again
peterzhuamazon Jan 8, 2023
aabe79d
Add more
peterzhuamazon Jan 8, 2023
fe775de
Use base
peterzhuamazon Jan 8, 2023
7cce6db
Add more
peterzhuamazon Jan 8, 2023
e92c308
OSD maintainers scripts
peterzhuamazon Jan 8, 2023
099ed0e
Remove swp
peterzhuamazon Jan 8, 2023
4754469
Remove visual
peterzhuamazon Jan 8, 2023
aece917
Disable lintian by default as it takes way too much time
peterzhuamazon Jan 8, 2023
7e3cbae
Add lintian back
peterzhuamazon Jan 8, 2023
84f0ff9
Test docker
peterzhuamazon Jan 8, 2023
e619bc0
Add more test
peterzhuamazon Jan 9, 2023
42b787c
Add back rules
peterzhuamazon Jan 9, 2023
14dc039
Add ubuntu2004 assemble docker image runner
peterzhuamazon Dec 12, 2022
00c99bf
Add ubuntu2004 assemble docker image runner
peterzhuamazon Dec 12, 2022
bcbcb17
Add ubuntu2004 assemble docker image runner
peterzhuamazon Dec 12, 2022
35b1b1c
Add ubuntu2004 assemble docker image runner
peterzhuamazon Dec 12, 2022
7742d81
Add ubuntu2004 assemble docker image runner
peterzhuamazon Dec 12, 2022
35ac341
Add ubuntu2004 assemble docker image runner
peterzhuamazon Dec 12, 2022
275ed0d
Add ubuntu2004 assemble docker image runner
peterzhuamazon Dec 12, 2022
0a880b9
Add ubuntu2004 assemble docker image runner
peterzhuamazon Dec 12, 2022
36da766
Add ubuntu2004 assemble docker image runner
peterzhuamazon Dec 12, 2022
cc36e09
Test deb
peterzhuamazon Dec 13, 2022
41723f5
Test deb
peterzhuamazon Dec 13, 2022
7f3203e
Test deb
peterzhuamazon Dec 13, 2022
35d7db9
test no python37
peterzhuamazon Dec 14, 2022
2910f98
Add new python37
peterzhuamazon Dec 15, 2022
8216f41
Add new python37
peterzhuamazon Dec 15, 2022
915f3cc
Add 22.04
peterzhuamazon Dec 15, 2022
3dee28b
Add 22.04
peterzhuamazon Dec 15, 2022
590789d
Add 22.04
peterzhuamazon Dec 15, 2022
3507a3f
test again
peterzhuamazon Dec 15, 2022
6f704bd
test again
peterzhuamazon Dec 15, 2022
38c0bb8
test again
peterzhuamazon Dec 15, 2022
6ae2aea
test again
peterzhuamazon Dec 15, 2022
217d840
test again
peterzhuamazon Dec 15, 2022
b2cbdec
test debian
peterzhuamazon Jan 4, 2023
7755581
test again
peterzhuamazon Jan 4, 2023
c492a11
test again
peterzhuamazon Jan 5, 2023
abf3d20
test again
peterzhuamazon Jan 5, 2023
69c44f8
Add more changes
peterzhuamazon Jan 5, 2023
8331a1d
Add back test.sh
peterzhuamazon Jan 5, 2023
71e0113
Add back test.sh
peterzhuamazon Jan 5, 2023
2ffd71d
Add back test.sh
peterzhuamazon Jan 5, 2023
4cb758a
More tweaks
peterzhuamazon Jan 5, 2023
ca87305
Add more
peterzhuamazon Jan 5, 2023
5cfc075
Add more
peterzhuamazon Jan 6, 2023
5eccf2f
more changes debian
peterzhuamazon Jan 8, 2023
725cb44
Add preinst
peterzhuamazon Jan 8, 2023
218c4ff
Add more scripts
peterzhuamazon Jan 8, 2023
3b6bd5b
test license
peterzhuamazon Jan 8, 2023
d4cf210
test again
peterzhuamazon Jan 8, 2023
8f4ea0f
test again
peterzhuamazon Jan 8, 2023
81b2093
test again
peterzhuamazon Jan 8, 2023
1b77fb7
Add more
peterzhuamazon Jan 8, 2023
19c8164
Use base
peterzhuamazon Jan 8, 2023
8482f6e
Add more
peterzhuamazon Jan 8, 2023
5472b08
OSD maintainers scripts
peterzhuamazon Jan 8, 2023
bc20a94
Remove swp
peterzhuamazon Jan 8, 2023
93b90fa
Remove visual
peterzhuamazon Jan 8, 2023
aa343ab
Disable lintian by default as it takes way too much time
peterzhuamazon Jan 8, 2023
90df6d1
Add lintian back
peterzhuamazon Jan 8, 2023
8aa595a
Test docker
peterzhuamazon Jan 8, 2023
6136b9a
Add more test
peterzhuamazon Jan 9, 2023
2ea97f2
Add back rules
peterzhuamazon Jan 9, 2023
105cc43
test again
peterzhuamazon Jan 9, 2023
0f56be8
test again
peterzhuamazon Jan 9, 2023
d501429
Remove PA settings as the new PR #3066 will handle it
peterzhuamazon Jan 9, 2023
a0d8eee
Restore UNRELEASED changelog
peterzhuamazon Jan 10, 2023
e870e40
Add PA fix
peterzhuamazon Jan 11, 2023
346bf51
Add deb opensearch
peterzhuamazon Jan 11, 2023
df5e2fe
Add osd deb
peterzhuamazon Jan 11, 2023
709e06f
Add more tests
peterzhuamazon Jan 11, 2023
528af2f
Merge remote-tracking branch 'upstream/main' into opensearch-deb-jenk…
peterzhuamazon Jan 12, 2023
f0639d7
Merge remote-tracking branch 'upstream/main' into opensearch-deb-jenk…
peterzhuamazon Jan 12, 2023
26bb99e
Remove swp backups
peterzhuamazon Jan 12, 2023
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
@@ -0,0 +1,60 @@
# SPDX-License-Identifier: Apache-2.0
#
# The OpenSearch Contributors require contributions made to
# this file be licensed under the Apache-2.0 license or a
# compatible open source license.

# This is a docker image specifically for assembling the DEB version of OpenSearch/OpenSearch-Dashboards
# This is not capable of building k-NN plugin as it lacks the necessary old version of glibc on CentOS7

FROM ubuntu:20.04

ARG DEBIAN_FRONTEND=noninteractive

# Install python37 dependencies
RUN apt-get update -y && apt-get install -y software-properties-common && add-apt-repository ppa:deadsnakes/ppa -y

# Install python37 binaries
RUN apt-get update -y && apt-get install python3 && \
apt-get install -y python3.7-full python3.7-dev && \
update-alternatives --install /usr/bin/python python /usr/bin/python3.7 1 && \
update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 1

# Install necessary packages
RUN apt-get update -y && apt-get upgrade -y && apt-get install -y docker.io curl build-essential git jq && \
apt-get install -y debmake debhelper-compat && \
apt-get install -y libxrender1 libxtst6 libasound2 libxi6 libgconf-2-4 && \
apt-get install -y libatk1.0-0 libatk-bridge2.0-0 libcups2 libdrm2 libatspi2.0-dev libxcomposite-dev libxdamage1 libxfixes3 libxfixes-dev libxrandr2 libgbm-dev libxkbcommon-x11-0 libpangocairo-1.0-0 libcairo2 libcairo2-dev libnss3 libnspr4 libnspr4-dev freeglut3 && \
apt-get clean -y

# Install pip packages
RUN curl -SL https://bootstrap.pypa.io/get-pip.py | python && \
pip3 install pipenv && pipenv --version && \
pip3 install awscli==1.22.12 && aws --version

# Install aptly and required changes to debmake
# Remove lintian for now due to it takes nearly 20 minutes for OpenSearch as well as nearly an hour for OpenSearch-Dashboards during debmake
RUN curl -o- https://www.aptly.info/pubkey.txt | apt-key add - && \
echo "deb http://repo.aptly.info/ squeeze main" | tee -a /etc/apt/sources.list.d/aptly.list && \
apt-get update -y && apt-get install -y aptly && apt-get clean -y && \
dpkg -r lintian

# Tools setup
COPY --chown=0:0 config/jdk-setup.sh config/yq-setup.sh /tmp/
RUN /tmp/jdk-setup.sh && /tmp/yq-setup.sh

# Create user group
RUN groupadd -g 1000 opensearch && \
useradd -u 1000 -g 1000 -d /usr/share/opensearch opensearch && \
mkdir -p /usr/share/opensearch && \
chown -R 1000:1000 /usr/share/opensearch

# Install gh cli
RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg && \
chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg && \
echo "deb [arch=`dpkg --print-architecture` signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | tee /etc/apt/sources.list.d/github-cli.list && \
apt-get update && apt-get install -y gh && apt-get clean

# Change User
USER 1000
WORKDIR /usr/share/opensearch
163 changes: 163 additions & 0 deletions jenkins/opensearch-dashboards/distribution-build.jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ pipeline {
AGENT_X64 = 'Jenkins-Agent-AL2-X64-C54xlarge-Docker-Host'
AGENT_ARM64 = 'Jenkins-Agent-AL2-Arm64-C6g4xlarge-Docker-Host'
IMAGE_RPM = 'opensearchstaging/ci-runner:ci-runner-rockylinux8-opensearch-build-v2' // required for rpm to create digest sha256 correctly with rpm 4.12+
IMAGE_DEB = 'opensearchstaging/ci-runner:ci-runner-ubuntu2004-opensearch-build-v1' // required for deb to create pkg using debmake/debuild/debhelper
}
parameters {
string(
Expand Down Expand Up @@ -328,6 +329,86 @@ pipeline {
}
}
}
stage('build-and-test-linux-x64-deb') {
when {
beforeAgent true
expression{
params.BUILD_PLATFORM.contains('linux')
}
}
agent { label AGENT_X64 }
stages {
stage('build-archive-linux-x64-deb') {
agent {
docker {
label AGENT_X64
image dockerAgent.image
args dockerAgent.args
alwaysPull true
}
}
steps {
script {
buildArchive(
componentName: "${COMPONENT_NAME}",
inputManifest: "manifests/${INPUT_MANIFEST}",
platform: 'linux',
architecture: 'x64',
distribution: 'deb',
stashName: "build-archive-linux-x64-deb-${JOB_NAME}-${BUILD_NUMBER}"
)
}
}
post {
always {
postCleanup()
}
}
}
stage('assemble-archive-and-test-linux-x64-deb') {
agent {
docker {
label AGENT_X64
image IMAGE_DEB
alwaysPull true
}
}
steps {
script {
def buildManifestObj = archiveAssembleUpload(
componentName: "${COMPONENT_NAME}",
inputManifest: "manifests/${INPUT_MANIFEST}",
platform: 'linux',
architecture: 'x64',
distribution: 'deb',
stashName: "build-archive-linux-x64-deb-${JOB_NAME}-${BUILD_NUMBER}"
)
String buildManifestUrl = buildManifestObj.getUrl(JOB_NAME, BUILD_NUMBER)
String artifactUrl = buildManifestObj.getArtifactUrl(JOB_NAME, BUILD_NUMBER)
env.ARTIFACT_URL_LINUX_X64_DEB = artifactUrl

echo "buildManifestUrl (linux, x64, deb): ${buildManifestUrl}"
echo "artifactUrl (linux, x64, deb): ${artifactUrl}"

String bundleManifestUrl = buildManifestObj.getBundleManifestUrl(JOB_NAME, BUILD_NUMBER)

}
}
post {
always {
script {
lib.jenkins.Messages.new(this).add(
"${STAGE_NAME}",
lib.jenkins.Messages.new(this).get(["${STAGE_NAME}"])
)

postCleanup()
}
}
}
}
}
}
stage('build-and-test-linux-arm64-tar') {
when {
beforeAgent true
Expand Down Expand Up @@ -570,6 +651,86 @@ pipeline {
}
}
}
stage('build-and-test-linux-arm64-deb') {
when {
beforeAgent true
expression{
params.BUILD_PLATFORM.contains('linux')
}
}
agent { label AGENT_ARM64 }
stages {
stage('build-archive-linux-arm64-deb') {
agent {
docker {
label AGENT_ARM64
image dockerAgent.image
args dockerAgent.args
alwaysPull true
}
}
steps {
script {
buildArchive(
componentName: "${COMPONENT_NAME}",
inputManifest: "manifests/${INPUT_MANIFEST}",
platform: 'linux',
architecture: 'arm64',
distribution: 'deb',
stashName: "build-archive-linux-arm64-deb-${JOB_NAME}-${BUILD_NUMBER}"
)
}
}
post {
always {
postCleanup()
}
}
}
stage('assemble-archive-and-test-linux-arm64-deb') {
agent {
docker {
label AGENT_ARM64
image IMAGE_DEB
alwaysPull true
}
}
steps {
script {
def buildManifestObj = archiveAssembleUpload(
componentName: "${COMPONENT_NAME}",
inputManifest: "manifests/${INPUT_MANIFEST}",
platform: 'linux',
architecture: 'arm64',
distribution: 'deb',
stashName: "build-archive-linux-arm64-deb-${JOB_NAME}-${BUILD_NUMBER}"
)
String buildManifestUrl = buildManifestObj.getUrl(JOB_NAME, BUILD_NUMBER)
String artifactUrl = buildManifestObj.getArtifactUrl(JOB_NAME, BUILD_NUMBER)
env.ARTIFACT_URL_LINUX_ARM64_DEB = artifactUrl

echo "buildManifestUrl (linux, arm64, deb): ${buildManifestUrl}"
echo "artifactUrl (linux, arm64, deb): ${artifactUrl}"

String bundleManifestUrl = buildManifestObj.getBundleManifestUrl(JOB_NAME, BUILD_NUMBER)

}
}
post {
always {
script {
lib.jenkins.Messages.new(this).add(
"${STAGE_NAME}",
lib.jenkins.Messages.new(this).get(["${STAGE_NAME}"])
)

postCleanup()
}
}
}
}
}
}
stage('build-and-test-windows-x64-zip') {
when {
beforeAgent true
Expand Down Expand Up @@ -693,8 +854,10 @@ pipeline {
stages = [
'build-and-test-linux-x64-tar',
'assemble-archive-and-test-linux-x64-rpm',
'assemble-archive-and-test-linux-x64-deb',
'assemble-archive-and-test-linux-arm64-tar',
'assemble-archive-and-test-linux-arm64-rpm',
'assemble-archive-and-test-linux-arm64-deb',
]
}
if (params.BUILD_PLATFORM.contains('windows')){
Expand Down
Loading