diff --git a/.circleci/config.yml b/.circleci/config.yml index 192ccf68a..dac85b183 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,7 +2,7 @@ version: 2 jobs: build: docker: - - image: cibuilds/snapcraft:stable + - image: superm1/snapcraft-edge:latest steps: - checkout - run: diff --git a/contrib/ci/Dockerfile-snap.in b/contrib/ci/Dockerfile-snap.in index 2daef5334..a440cf6b2 100644 --- a/contrib/ci/Dockerfile-snap.in +++ b/contrib/ci/Dockerfile-snap.in @@ -1,6 +1,25 @@ -FROM snapcore/snapcraft -RUN mkdir /build -WORKDIR /build -COPY . . -RUN apt update -CMD ["./contrib/ci/snap.sh"] +FROM ubuntu:xenial + +RUN apt-get update && \ + apt-get dist-upgrade --yes && \ + apt-get install --yes \ + curl sudo jq squashfs-tools && \ + curl -L $(curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/core' | jq '.download_url' -r) --output core.snap && \ + mkdir -p /snap/core && unsquashfs -d /snap/core/current core.snap && rm core.snap && \ + curl -L $(curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/snapcraft?channel=edge' | jq '.download_url' -r) --output snapcraft.snap && \ + mkdir -p /snap/snapcraft && unsquashfs -d /snap/snapcraft/current snapcraft.snap && rm snapcraft.snap && \ + apt remove --yes --purge curl jq squashfs-tools && \ + apt-get autoclean --yes && \ + apt-get clean --yes + +COPY contrib/ci/snapcraft-wrapper /snap/bin/snapcraft +ENV PATH=/snap/bin:$PATH + +LABEL maintainer="Mario Limonciello " +RUN apt-get update && apt-get install -y \ + curl \ + git \ + jq \ + openssh-client \ + wget +WORKDIR /root/project diff --git a/contrib/ci/snapcraft-wrapper b/contrib/ci/snapcraft-wrapper new file mode 100755 index 000000000..0072ed079 --- /dev/null +++ b/contrib/ci/snapcraft-wrapper @@ -0,0 +1,12 @@ +#!/bin/sh +SNAP="/snap/snapcraft/current" +SNAP_NAME="$(awk '/^name:/{print $2}' $SNAP/meta/snap.yaml)" +SNAP_VERSION="$(awk '/^version:/{print $2}' $SNAP/meta/snap.yaml)" +SNAP_ARCH="amd64" + +export SNAP +export SNAP_NAME +export SNAP_VERSION +export SNAP_ARCH + +exec "$SNAP/usr/bin/python3" "$SNAP/bin/snapcraft" "$@"