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

nightly

Change-Id: Ia94ec93ecf1de0f9a7b63e519e2838e25a9718c4
parent d61dfc39
No related branches found
No related tags found
No related merge requests found
...@@ -76,9 +76,6 @@ pipeline { ...@@ -76,9 +76,6 @@ pipeline {
' submodules at their Git-recorded commit. When left ' + ' submodules at their Git-recorded commit. When left ' +
'unticked (the default), checkout the submodules at ' + 'unticked (the default), checkout the submodules at ' +
'their latest commit from their main remote branch.') 'their latest commit from their main remote branch.')
booleanParam(name: 'BUILD_ARM',
defaultValue: false,
description: 'Whether to build ARM packages.')
booleanParam(name: 'DEPLOY', booleanParam(name: 'DEPLOY',
defaultValue: false, defaultValue: false,
description: 'Whether to deploy packages.') description: 'Whether to deploy packages.')
...@@ -206,9 +203,6 @@ git tag \$(cat .tarball-version) -am "Jami \$(cat .tarball-version)" ...@@ -206,9 +203,6 @@ git tag \$(cat .tarball-version) -am "Jami \$(cat .tarball-version)"
} }
TARGETS = targetsText.split(/\s/) TARGETS = targetsText.split(/\s/)
if (!params.BUILD_ARM) {
TARGETS = TARGETS.findAll { !(it =~ /_(armhf|arm64)$/) }
}
def stages = [:] def stages = [:]
......
client-qt @ c1594e54
Subproject commit 83f68573324a453a6d26e025fd6439f175a79d1b Subproject commit c1594e548ae62b623d78edafdfc9c2d6a547b762
daemon @ c1b1aaf0
Subproject commit 02c5cecd363a1ee25a914d72e243d7903e44969b Subproject commit c1b1aaf0136aa03132ff1c7101583d3210844c93
...@@ -8,7 +8,8 @@ RUN apt-get update --allow-releaseinfo-change && \ ...@@ -8,7 +8,8 @@ RUN apt-get update --allow-releaseinfo-change && \
devscripts \ devscripts \
equivs \ equivs \
python-is-python3 \ python-is-python3 \
wget wget \
nasm
ADD scripts/prebuild-package-debian.sh /opt/prebuild-package-debian.sh 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 update
RUN apt-get dist-upgrade --yes RUN apt-get dist-upgrade --yes
RUN apt-get install --yes \ RUN apt-get install --yes \
...@@ -10,61 +16,68 @@ 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 # Grab the core snap (for backwards compatibility) from the stable channel and
# unpack it in the proper place. # 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 mkdir -p /snap/core
RUN unsquashfs -d /snap/core/current core.snap RUN unsquashfs -d /snap/core/current core.snap
# Grab the core18 snap (which snapcraft uses as a base) from 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/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
# and unpack it in the proper place. # 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 mkdir -p /snap/core22
RUN unsquashfs -d /snap/core22/current core22.snap 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. # 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 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
# 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 mkdir -p /snap/snapcraft RUN mkdir -p /snap/snapcraft
RUN unsquashfs -d /snap/snapcraft/current snapcraft.snap 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 # Create a snapcraft runner (TODO: move version detection to the core of
# snapcraft). # snapcraft).
RUN mkdir -p /snap/bin RUN mkdir -p /snap/bin
RUN echo "#!/bin/sh" > /snap/bin/snapcraft 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 echo 'exec "$SNAP/usr/bin/python3" "$SNAP/bin/snapcraft" "$@"' >> /snap/bin/snapcraft
RUN chmod +x /snap/bin/snapcraft RUN chmod +x /snap/bin/snapcraft
# Multi-stage build, only need the snaps from the builder. Copy them one at a # Multi-stage build, only need the snaps from the builder. Copy them one at a
# time so they can be cached. # time so they can be cached.
FROM ubuntu:jammy FROM ubuntu:$UBUNTU
COPY --from=builder /snap/core /snap/core 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/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/snapcraft /snap/snapcraft
COPY --from=builder /snap/bin/snapcraft /snap/bin/snapcraft COPY --from=builder /snap/bin/snapcraft /snap/bin/snapcraft
# Generate locale and install dependencies. # 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. # Set the proper environment.
ENV LANG="en_US.UTF-8" ENV LANG="en_US.UTF-8"
ENV LANGUAGE="en_US:en" ENV LANGUAGE="en_US:en"
ENV LC_ALL="en_US.UTF-8" 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="/snap/snapcraft/current"
ENV SNAP_NAME="snapcraft" ENV SNAP_NAME="snapcraft"
ENV SNAP_ARCH="amd64" ENV SNAP_ARCH="amd64"
ADD scripts/build-package-snap.sh /opt/build-package-snap.sh ADD scripts/build-package-snap.sh /opt/build-package-snap.sh
......
...@@ -85,13 +85,13 @@ description: | ...@@ -85,13 +85,13 @@ description: |
confinement: strict confinement: strict
grade: stable grade: stable
base: core22 base: core20
plugs: plugs:
gnome-42-2204: gnome-3-38-2004:
interface: content interface: content
target: $SNAP/gnome-platform 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: gtk-3-themes:
interface: content interface: content
target: $SNAP/data-dir/themes target: $SNAP/data-dir/themes
...@@ -168,7 +168,7 @@ package-repositories: ...@@ -168,7 +168,7 @@ package-repositories:
components: [main] components: [main]
suites: [jami] suites: [jami]
key-id: A295D773307D25A33AE72F2F64CD5FA175348F84 key-id: A295D773307D25A33AE72F2F64CD5FA175348F84
url: https://dl.jami.net/nightly/ubuntu_22.04/ url: https://dl.jami.net/nightly/ubuntu_20.04/
parts: parts:
desktop-launch: desktop-launch:
...@@ -329,7 +329,7 @@ parts: ...@@ -329,7 +329,7 @@ parts:
- libgstreamer-plugins-base1.0-0 - libgstreamer-plugins-base1.0-0
- libgstreamer1.0-0 - libgstreamer1.0-0
- libgudev-1.0-0 - libgudev-1.0-0
- libjsoncpp25 - libjsoncpp1
- libllvm12 - libllvm12
- libminizip1 - libminizip1
- libnm0 - libnm0
......
...@@ -29,7 +29,7 @@ cd /opt/jami-project/packaging/rules/snap/${SNAP_PKG_NAME}/ ...@@ -29,7 +29,7 @@ cd /opt/jami-project/packaging/rules/snap/${SNAP_PKG_NAME}/
# set the version and tarball filename # set the version and tarball filename
sed -i "s/RELEASE_VERSION/${RELEASE_VERSION}/g" snapcraft.yaml 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 # move the built snap to output
mv *.snap /opt/output/ mv *.snap /opt/output/
......
...@@ -226,6 +226,9 @@ function package_snap() ...@@ -226,6 +226,9 @@ function package_snap()
ls packages/${DISTRIBUTION}* ls packages/${DISTRIBUTION}*
cp packages/${DISTRIBUTION}*/*.snap ${DISTRIBUTION_REPOSITORY_FOLDER}/ cp packages/${DISTRIBUTION}*/*.snap ${DISTRIBUTION_REPOSITORY_FOLDER}/
elif [[ $CHANNEL =~ nightly ]]; then elif [[ $CHANNEL =~ nightly ]]; then
echo $(hostname)
echo $(whoami)
echo $(snapcraft whoami)
snapcraft push packages/${DISTRIBUTION}*/*.snap --release edge snapcraft push packages/${DISTRIBUTION}*/*.snap --release edge
elif [[ $CHANNEL =~ stable ]]; then elif [[ $CHANNEL =~ stable ]]; then
snapcraft push packages/${DISTRIBUTION}*/*.snap --release stable 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