Skip to content
Snippets Groups Projects
Unverified Commit 12ff5818 authored by Sébastien Blin's avatar Sébastien Blin
Browse files

nightly

Change-Id: Ia94ec93ecf1de0f9a7b63e519e2838e25a9718c4
parent 14a328b8
No related branches found
No related tags found
No related merge requests found
......@@ -76,9 +76,6 @@ pipeline {
' submodules at their Git-recorded commit. When left ' +
'unticked (the default), checkout the submodules at ' +
'their latest commit from their main remote branch.')
booleanParam(name: 'BUILD_ARM',
defaultValue: false,
description: 'Whether to build ARM packages.')
booleanParam(name: 'DEPLOY',
defaultValue: false,
description: 'Whether to deploy packages.')
......@@ -206,9 +203,6 @@ git tag \$(cat .tarball-version) -am "Jami \$(cat .tarball-version)"
}
TARGETS = targetsText.split(/\s/)
if (!params.BUILD_ARM) {
TARGETS = TARGETS.findAll { !(it =~ /_(armhf|arm64)$/) }
}
def stages = [:]
......
client-qt @ b8b0cb87
Subproject commit 83f68573324a453a6d26e025fd6439f175a79d1b
Subproject commit b8b0cb87f03b9eefa06ded7929cad832a80506db
daemon @ 90c7ee52
Subproject commit 02c5cecd363a1ee25a914d72e243d7903e44969b
Subproject commit 90c7ee52c132e382e58b2ff55fd008ed2045434c
......@@ -8,7 +8,8 @@ RUN apt-get update --allow-releaseinfo-change && \
devscripts \
equivs \
python-is-python3 \
wget
wget \
nasm
ADD scripts/prebuild-package-debian.sh /opt/prebuild-package-debian.sh
......
FROM ubuntu:jammy as builder
ARG RISK=edge
ARG UBUNTU=focal
# Grab dependencies.
FROM ubuntu:$UBUNTU as builder
ARG RISK
ARG UBUNTU
RUN echo "Building snapcraft:$RISK in ubuntu:$UBUNTU"
# Grab dependencies
RUN apt-get update
RUN apt-get dist-upgrade --yes
RUN apt-get install --yes \
......@@ -10,61 +16,68 @@ RUN apt-get install --yes \
# Grab the core snap (for backwards compatibility) from the stable channel and
# unpack it in the proper place.
RUN curl -L $(curl -H 'X-Ubuntu-Series: 16' -H "X-Ubuntu-Architecture: amd64" 'https://api.snapcraft.io/api/v1/snaps/details/core' | jq '.download_url' -r) --output core.snap
RUN curl -L $(curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/core' | jq '.download_url' -r) --output core.snap
RUN mkdir -p /snap/core
RUN unsquashfs -d /snap/core/current core.snap
# Grab the core18 snap (which snapcraft uses as a base) from the stable channel
# and unpack it in the proper place.
RUN curl -L $(curl -H 'X-Ubuntu-Series: 16' -H "X-Ubuntu-Architecture: amd64" 'https://api.snapcraft.io/api/v1/snaps/details/core18' | jq '.download_url' -r) --output core18.snap
RUN mkdir -p /snap/core18
RUN unsquashfs -d /snap/core18/current core18.snap
# Grab the core22 snapfrom the stable channel
# Grab the core22 snap (which snapcraft uses as a base) from the stable channel
# and unpack it in the proper place.
RUN curl -L $(curl -H 'X-Ubuntu-Series: 16' -H "X-Ubuntu-Architecture: amd64" 'https://api.snapcraft.io/api/v1/snaps/details/core22' | jq '.download_url' -r) --output core22.snap
RUN curl -L $(curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/core22?channel='$RISK | jq '.download_url' -r) --output core22.snap
RUN mkdir -p /snap/core22
RUN unsquashfs -d /snap/core22/current core22.snap
# Grab the snapcraft snap from the targeted channel and unpack it in the proper
# Grab the core20 snap (which snapcraft uses as a base) from the stable channel
# and unpack it in the proper place.
RUN curl -L $(curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/core20' | jq '.download_url' -r) --output core20.snap
RUN mkdir -p /snap/core20
RUN unsquashfs -d /snap/core20/current core20.snap
# Grab the core20 snap (which snapcraft uses as a base) from the stable channel
# and unpack it in the proper place.
RUN curl -L $(curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/lxd' | jq '.download_url' -r) --output lxd.snap
RUN mkdir -p /snap/lxd
RUN unsquashfs -d /snap/lxd/current lxd.snap
# Grab the snapcraft snap from the $RISK channel and unpack it in the proper
# place.
# RUN curl -L $(curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/snapcraft?channel=stable' | jq '.download_url' -r) --output snapcraft.snap
# Current snapcraft snap is broken upstream again:
# https://forum.snapcraft.io/t/snapcraft-docker-images-broken-again/27942
# Temporary workaround: pin to an older, non-broken version for now.
# TODO: restore to the above once issue is fixed upstream.
RUN curl -L https://api.snapcraft.io/api/v1/snaps/download/vMTKRaLjnOJQetI78HjntT37VuoyssFE_6751.snap --output snapcraft.snap
RUN curl -L $(curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/snapcraft?channel='$RISK | jq '.download_url' -r) --output snapcraft.snap
RUN mkdir -p /snap/snapcraft
RUN unsquashfs -d /snap/snapcraft/current snapcraft.snap
# Fix Python3 installation: Make sure we use the interpreter from
# the snapcraft snap:
RUN unlink /snap/snapcraft/current/usr/bin/python3
RUN ln -s /snap/snapcraft/current/usr/bin/python3.* /snap/snapcraft/current/usr/bin/python3
RUN echo /snap/snapcraft/current/lib/python3.*/site-packages >> /snap/snapcraft/current/usr/lib/python3/dist-packages/site-packages.pth
# Create a snapcraft runner (TODO: move version detection to the core of
# snapcraft).
RUN mkdir -p /snap/bin
RUN echo "#!/bin/sh" > /snap/bin/snapcraft
RUN snap_version="$(awk '/^version:/{print $2}' /snap/snapcraft/current/meta/snap.yaml)" && echo "export SNAP_VERSION=\"$snap_version\"" >> /snap/bin/snapcraft
RUN snap_version="$(awk '/^version:/{print $2}' /snap/snapcraft/current/meta/snap.yaml | tr -d \')" && echo "export SNAP_VERSION=\"$snap_version\"" >> /snap/bin/snapcraft
RUN echo 'exec "$SNAP/usr/bin/python3" "$SNAP/bin/snapcraft" "$@"' >> /snap/bin/snapcraft
RUN chmod +x /snap/bin/snapcraft
# Multi-stage build, only need the snaps from the builder. Copy them one at a
# time so they can be cached.
FROM ubuntu:jammy
FROM ubuntu:$UBUNTU
COPY --from=builder /snap/core /snap/core
COPY --from=builder /snap/core18 /snap/core18
COPY --from=builder /snap/core22 /snap/core22
COPY --from=builder /snap/core20 /snap/core20
COPY --from=builder /snap/lxd /snap/lxd
COPY --from=builder /snap/snapcraft /snap/snapcraft
COPY --from=builder /snap/bin/snapcraft /snap/bin/snapcraft
# Generate locale and install dependencies.
RUN apt-get update && apt-get dist-upgrade --yes && apt-get install --yes snapd sudo locales && locale-gen en_US.UTF-8
RUN apt-get update && apt-get dist-upgrade --yes && apt-get install --yes snapd sudo apt-transport-https locales && locale-gen en_US.UTF-8
# Set the proper environment.
ENV LANG="en_US.UTF-8"
ENV LANGUAGE="en_US:en"
ENV LC_ALL="en_US.UTF-8"
ENV PATH="/snap/bin:$PATH"
ENV PATH="/snap/bin:/snap/snapcraft/current/usr/bin:/snap/snapcraft/current/libexec/snapcraft/:$PATH"
ENV SNAP="/snap/snapcraft/current"
ENV SNAP_NAME="snapcraft"
ENV SNAP_ARCH="amd64"
ADD scripts/build-package-snap.sh /opt/build-package-snap.sh
......
......@@ -85,13 +85,13 @@ description: |
confinement: strict
grade: stable
base: core22
base: core20
plugs:
gnome-42-2204:
gnome-3-38-2004:
interface: content
target: $SNAP/gnome-platform
default-provider: gnome-42-2204:gnome-42-2204
default-provider: gnome-3-38-2004:gnome-3-38-2004
gtk-3-themes:
interface: content
target: $SNAP/data-dir/themes
......@@ -168,7 +168,7 @@ package-repositories:
components: [main]
suites: [jami]
key-id: A295D773307D25A33AE72F2F64CD5FA175348F84
url: https://dl.jami.net/nightly/ubuntu_22.04/
url: https://dl.jami.net/nightly/ubuntu_20.04/
parts:
desktop-launch:
......@@ -329,7 +329,7 @@ parts:
- libgstreamer-plugins-base1.0-0
- libgstreamer1.0-0
- libgudev-1.0-0
- libjsoncpp25
- libjsoncpp1
- libllvm12
- libminizip1
- libnm0
......
......@@ -29,7 +29,7 @@ cd /opt/jami-project/packaging/rules/snap/${SNAP_PKG_NAME}/
# set the version and tarball filename
sed -i "s/RELEASE_VERSION/${RELEASE_VERSION}/g" snapcraft.yaml
snapcraft # requires snapcraft >= 4.8
snapcraft --destructive-mode # requires snapcraft >= 4.8
# move the built snap to output
mv *.snap /opt/output/
......
......@@ -226,6 +226,9 @@ function package_snap()
ls packages/${DISTRIBUTION}*
cp packages/${DISTRIBUTION}*/*.snap ${DISTRIBUTION_REPOSITORY_FOLDER}/
elif [[ $CHANNEL =~ nightly ]]; then
echo $(hostname)
echo $(whoami)
echo $(snapcraft whoami)
snapcraft push packages/${DISTRIBUTION}*/*.snap --release edge
elif [[ $CHANNEL =~ stable ]]; then
snapcraft push packages/${DISTRIBUTION}*/*.snap --release stable
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment