diff --git a/.circleci/Dockerfile.fedora-28 b/.circleci/Dockerfile.fedora-28 new file mode 100644 index 000000000..b98b3989c --- /dev/null +++ b/.circleci/Dockerfile.fedora-28 @@ -0,0 +1,25 @@ +FROM fedora:28 + +ENV WHEELHOUSE_PATH /tmp/wheelhouse +ENV VIRTUALENV_PATH /tmp/venv +# This will get updated by the CircleCI checkout step. +ENV BUILD_SRC_ROOT /tmp/project + +# XXX net-tools is actually a Tahoe-LAFS runtime dependency! +RUN yum install --assumeyes \ + git \ + sudo \ + make automake gcc gcc-c++ \ + python \ + python-devel \ + libffi-devel \ + openssl-devel \ + libyaml-devel \ + /usr/bin/virtualenv \ + net-tools + +# Get the project source. Copying in the whole project source here isn't very +# cache friendly but there's no Docker layer cache on CircleCI anyway! +COPY . ${BUILD_SRC_ROOT} + +RUN "${BUILD_SRC_ROOT}"/.circleci/prepare-image.sh "${WHEELHOUSE_PATH}" "${VIRTUALENV_PATH}" "${BUILD_SRC_ROOT}" diff --git a/.circleci/Dockerfile.fedora-29 b/.circleci/Dockerfile.fedora-29 new file mode 100644 index 000000000..c9d361b0c --- /dev/null +++ b/.circleci/Dockerfile.fedora-29 @@ -0,0 +1,25 @@ +FROM fedora:29 + +ENV WHEELHOUSE_PATH /tmp/wheelhouse +ENV VIRTUALENV_PATH /tmp/venv +# This will get updated by the CircleCI checkout step. +ENV BUILD_SRC_ROOT /tmp/project + +# XXX net-tools is actually a Tahoe-LAFS runtime dependency! +RUN yum install --assumeyes \ + git \ + sudo \ + make automake gcc gcc-c++ \ + python \ + python-devel \ + libffi-devel \ + openssl-devel \ + libyaml-devel \ + /usr/bin/virtualenv \ + net-tools + +# Get the project source. Copying in the whole project source here isn't very +# cache friendly but there's no Docker layer cache on CircleCI anyway! +COPY . ${BUILD_SRC_ROOT} + +RUN "${BUILD_SRC_ROOT}"/.circleci/prepare-image.sh "${WHEELHOUSE_PATH}" "${VIRTUALENV_PATH}" "${BUILD_SRC_ROOT}" diff --git a/.circleci/config.yml b/.circleci/config.yml index 16aca9a7d..89f82bd43 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -222,13 +222,15 @@ jobs: fedora-28: <<: *RHEL_DERIV docker: - - image: "fedora:28" + - image: "tahoelafsci/fedora:28" + user: "nobody" fedora-29: <<: *RHEL_DERIV docker: - - image: "fedora:29" + - image: "tahoelafsci/fedora:29" + user: "nobody" slackware-14.2: @@ -395,6 +397,18 @@ jobs: # You have to create the ubuntu repository (presumably via the # Dockerhub web interface) before anything can be pushed to it. docker push tahoelafsci/centos:7 + - run: + name: "Build Fedora images" + command: | + docker build -t tahoelafsci/fedora:28 -f ~/project/.circleci/Dockerfile.fedora-28 ~/project/ + docker build -t tahoelafsci/fedora:29 -f ~/project/.circleci/Dockerfile.fedora-29 ~/project/ + - run: + name: "Push Fedora images" + command: | + # You have to create the ubuntu repository (presumably via the + # Dockerhub web interface) before anything can be pushed to it. + docker push tahoelafsci/fedora:28 + docker push tahoelafsci/fedora:29 - run: name: "Build Tor-enabled image" command: |