mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2025-04-28 23:09:55 +00:00
Have a go at converting CentOS
This commit is contained in:
parent
273e4ca226
commit
302292366a
25
.circleci/Dockerfile.centos-7
Normal file
25
.circleci/Dockerfile.centos-7
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
FROM centos:7
|
||||||
|
|
||||||
|
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}"
|
@ -200,52 +200,19 @@ jobs:
|
|||||||
|
|
||||||
centos-7: &RHEL_DERIV
|
centos-7: &RHEL_DERIV
|
||||||
docker:
|
docker:
|
||||||
- image: "centos:7"
|
- image: "tahoelafsci/centos:7"
|
||||||
|
user: "nobody"
|
||||||
|
|
||||||
environment: *UTF_8_ENVIRONMENT
|
environment: *UTF_8_ENVIRONMENT
|
||||||
|
|
||||||
|
# pip cannot install packages if the working directory is not readable.
|
||||||
|
# We want to run a lot of steps as nobody instead of as root.
|
||||||
|
working_directory: "/tmp/project"
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- run:
|
|
||||||
name: "Install Git"
|
|
||||||
command: |
|
|
||||||
yum install --assumeyes git
|
|
||||||
|
|
||||||
- "checkout"
|
- "checkout"
|
||||||
|
|
||||||
- run:
|
|
||||||
name: "Bootstrap test environment"
|
|
||||||
working_directory: "/tmp"
|
|
||||||
command: |
|
|
||||||
# Avoid the /nonexistent home directory in nobody's /etc/passwd
|
|
||||||
# entry.
|
|
||||||
usermod --home /tmp/nobody nobody
|
|
||||||
|
|
||||||
# Grant read access to nobody, the user which will eventually try
|
|
||||||
# to test this checkout.
|
|
||||||
mv /root/project /tmp/project
|
|
||||||
|
|
||||||
# Python build/install toolchain wants to write to the source
|
|
||||||
# checkout, too.
|
|
||||||
chown --recursive nobody:nobody /tmp/project
|
|
||||||
|
|
||||||
yum install --assumeyes \
|
|
||||||
sudo \
|
|
||||||
make automake gcc gcc-c++ \
|
|
||||||
python \
|
|
||||||
python-devel \
|
|
||||||
libffi-devel \
|
|
||||||
openssl-devel \
|
|
||||||
libyaml-devel
|
|
||||||
yum install --assumeyes /usr/bin/virtualenv
|
|
||||||
|
|
||||||
# XXX net-tools is actually a Tahoe-LAFS runtime dependency!
|
|
||||||
yum install --assumeyes \
|
|
||||||
net-tools
|
|
||||||
|
|
||||||
- run: *SETUP_VIRTUALENV
|
- run: *SETUP_VIRTUALENV
|
||||||
|
|
||||||
- run: *RUN_TESTS
|
- run: *RUN_TESTS
|
||||||
|
|
||||||
- store_test_results: *STORE_TEST_RESULTS
|
- store_test_results: *STORE_TEST_RESULTS
|
||||||
- store_artifacts: *STORE_TEST_LOG
|
- store_artifacts: *STORE_TEST_LOG
|
||||||
- store_artifacts: *STORE_OTHER_ARTIFACTS
|
- store_artifacts: *STORE_OTHER_ARTIFACTS
|
||||||
@ -418,6 +385,16 @@ jobs:
|
|||||||
# Dockerhub web interface) before anything can be pushed to it.
|
# Dockerhub web interface) before anything can be pushed to it.
|
||||||
docker push tahoelafsci/ubuntu:16.04
|
docker push tahoelafsci/ubuntu:16.04
|
||||||
docker push tahoelafsci/ubuntu:18.04
|
docker push tahoelafsci/ubuntu:18.04
|
||||||
|
- run:
|
||||||
|
name: "Build CentOS images"
|
||||||
|
command: |
|
||||||
|
docker build -t tahoelafsci/centos:7 -f ~/project/.circleci/Dockerfile.centos-7 ~/project/
|
||||||
|
- run:
|
||||||
|
name: "Push CentOS 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/centos:7
|
||||||
- run:
|
- run:
|
||||||
name: "Build Tor-enabled image"
|
name: "Build Tor-enabled image"
|
||||||
command: |
|
command: |
|
||||||
|
Loading…
x
Reference in New Issue
Block a user