Skip to content
Snippets Groups Projects
Commit 79e1207e authored by jenkins's avatar jenkins
Browse files

New release.

parents bc926440 ff290ea0
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 = [:]
......
...@@ -22,8 +22,7 @@ ANDROID_DISTRIBUTION_NAME = "android" ...@@ -22,8 +22,7 @@ ANDROID_DISTRIBUTION_NAME = "android"
WIN32_DISTRIBUTION_NAME = "win32" WIN32_DISTRIBUTION_NAME = "win32"
# vs vars # vs vars
win_sdk_default = '10.0.16299.0' win_sdk_default = '10.0.18362.0'
win_toolset_default = '142'
APT_BASED_DISTROS = [ APT_BASED_DISTROS = [
'debian', 'debian',
...@@ -373,7 +372,6 @@ def run_install(args): ...@@ -373,7 +372,6 @@ def run_install(args):
return subprocess.run([ return subprocess.run([
sys.executable, os.path.join( sys.executable, os.path.join(
os.getcwd(), "scripts/build-windows.py"), os.getcwd(), "scripts/build-windows.py"),
"--toolset", args.toolset,
"--sdk", args.sdk "--sdk", args.sdk
], check=True) ], check=True)
...@@ -638,8 +636,6 @@ def parse_args(): ...@@ -638,8 +636,6 @@ def parse_args():
dist = choose_distribution() dist = choose_distribution()
if dist == WIN32_DISTRIBUTION_NAME: if dist == WIN32_DISTRIBUTION_NAME:
ap.add_argument('--toolset', default=win_toolset_default, type=str,
help='Windows use only, specify Visual Studio toolset version')
ap.add_argument('--sdk', default=win_sdk_default, type=str, ap.add_argument('--sdk', default=win_sdk_default, type=str,
help='Windows use only, specify Windows SDK version') help='Windows use only, specify Windows SDK version')
......
...@@ -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/
......
...@@ -17,8 +17,7 @@ def execute_cmd(cmd, with_shell=False): ...@@ -17,8 +17,7 @@ def execute_cmd(cmd, with_shell=False):
def build_daemon(parsed_args): def build_daemon(parsed_args):
make_cmd = os.path.dirname(this_dir) + '\\daemon\\compat\\msvc\\winmake.py' make_cmd = os.path.dirname(this_dir) + '\\daemon\\compat\\msvc\\winmake.py'
os.chdir(os.path.dirname(this_dir) + '\\daemon\\compat\\msvc') os.chdir(os.path.dirname(this_dir) + '\\daemon\\compat\\msvc')
execute_cmd('python ' + make_cmd + ' -iv -t ' + execute_cmd('python ' + make_cmd + ' -iv -s ' + parsed_args.sdk + ' -b daemon')
parsed_args.toolset + ' -s ' + parsed_args.sdk + ' -b daemon')
os.chdir(os.path.dirname(this_dir)) os.chdir(os.path.dirname(this_dir))
...@@ -31,8 +30,6 @@ def build_client(parsed_args): ...@@ -31,8 +30,6 @@ def build_client(parsed_args):
def parse_args(): def parse_args():
ap = argparse.ArgumentParser(description="Qt Client build tool") ap = argparse.ArgumentParser(description="Qt Client build tool")
ap.add_argument('--toolset', default='', type=str,
help='Windows use only, specify Visual Studio toolset version')
ap.add_argument('--sdk', default='', type=str, ap.add_argument('--sdk', default='', type=str,
help='Windows use only, specify Windows SDK version') help='Windows use only, specify Windows SDK version')
......
...@@ -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
......
...@@ -198,13 +198,13 @@ install_choco_packages $choco_packages ...@@ -198,13 +198,13 @@ install_choco_packages $choco_packages
install_msys2_packages $msys_packages install_msys2_packages $msys_packages
# Install VSNASM # Install VSNASM
download_file_to_temp 'VSNASM' "https://github.com/ShiftMediaProject/VSNASM/releases/download/0.5/VSNASM.zip" 'VSNASM.zip' download_file_to_temp 'VSNASM' "https://github.com/ShiftMediaProject/VSNASM/releases/download/0.8/VSNASM.zip" 'VSNASM.zip'
unzip_file_from_temp 'VSNASM' 'VSNASM.zip' 'VSNASM_UNZIP' unzip_file_from_temp 'VSNASM' 'VSNASM.zip' 'VSNASM_UNZIP'
$batch_path = "/c set ISINSTANCE=1 &&" + $env:TEMP + "\VSNASM_UNZIP\install_script.bat" $batch_path = "/c set ISINSTANCE=1 &&" + $env:TEMP + "\VSNASM_UNZIP\install_script.bat"
run_batch $batch_path "Install VSNASM" run_batch $batch_path "Install VSNASM"
# Install VSYASM # Install VSYASM
download_file_to_temp 'VSYASM' "https://github.com/ShiftMediaProject/VSYASM/releases/download/0.4/VSYASM.zip" 'VSYASM.zip' download_file_to_temp 'VSYASM' "https://github.com/ShiftMediaProject/VSYASM/releases/download/0.7/VSYASM.zip" 'VSYASM.zip'
unzip_file_from_temp 'VSYASM' 'VSYASM.zip' 'VSYASM_UNZIP' unzip_file_from_temp 'VSYASM' 'VSYASM.zip' 'VSYASM_UNZIP'
$batch_path = "/c set ISINSTANCE=1 &&" + $env:TEMP + "\VSYASM_UNZIP\install_script.bat" $batch_path = "/c set ISINSTANCE=1 &&" + $env:TEMP + "\VSYASM_UNZIP\install_script.bat"
run_batch $batch_path "Install VSYASM" run_batch $batch_path "Install VSYASM"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment