mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-06-26 10:54:26 +02:00
Change to out-of source build, Update build instructions (#3271)
* update build instructions Usage of "modern" CMake syntax and using specific out of source build. Further add example on how to build in parallel, build a specific target and how to change the compiler. This closes #3236.
This commit is contained in:
parent
34c0e67469
commit
8dd29e0a8a
23 changed files with 75 additions and 379 deletions
14
.gitignore
vendored
14
.gitignore
vendored
|
@ -1,24 +1,12 @@
|
||||||
cmake.h
|
cmake.h
|
||||||
commit.h
|
commit.h
|
||||||
Makefile
|
|
||||||
src/task
|
|
||||||
src/taskd
|
|
||||||
src/libtask.a
|
|
||||||
src/commands/libcommands.a
|
|
||||||
src/tc/libtc.a
|
|
||||||
src/columns/libcolumns.a
|
|
||||||
*~
|
*~
|
||||||
.*.swp
|
.*.swp
|
||||||
Session.vim
|
Session.vim
|
||||||
package-config/osx/binary/task
|
package-config/osx/binary/task
|
||||||
/build/
|
/build*/
|
||||||
CMakeFiles
|
|
||||||
CMakeCache.txt
|
|
||||||
cmake_install.cmake
|
|
||||||
install_manifest.txt
|
install_manifest.txt
|
||||||
_CPack_Packages
|
_CPack_Packages
|
||||||
CPackConfig.cmake
|
|
||||||
CPackSourceConfig.cmake
|
|
||||||
patches
|
patches
|
||||||
*.exe
|
*.exe
|
||||||
tutorials
|
tutorials
|
||||||
|
|
|
@ -175,11 +175,6 @@ add_custom_target(problems DEPENDS show-problems)
|
||||||
|
|
||||||
set (CPACK_SOURCE_GENERATOR "TGZ")
|
set (CPACK_SOURCE_GENERATOR "TGZ")
|
||||||
set (CPACK_SOURCE_PACKAGE_FILE_NAME ${PACKAGE_NAME}-${PACKAGE_VERSION})
|
set (CPACK_SOURCE_PACKAGE_FILE_NAME ${PACKAGE_NAME}-${PACKAGE_VERSION})
|
||||||
set (CPACK_SOURCE_IGNORE_FILES "CMakeCache" "CMakeFiles" "CPackConfig" "CPackSourceConfig"
|
set (CPACK_SOURCE_IGNORE_FILES "build" "test" "misc/*" "performance" "swp$" "src/lex$" "task-.*.tar.gz"
|
||||||
"_CPack_Packages" "cmake_install" "install_manifest" "Makefile$"
|
"commit.h" "cmake.h$" "\\\\.gitmodules" "src/libshared/\\\\.git" ".github/" ".*\\\\.gitignore$" "docker-compose.yml" "\\\\.git/")
|
||||||
"test" "package-config" "misc/*" "src/task$" "src/calc$" "performance"
|
|
||||||
"src/libtask.a" "src/columns/libcolumns.a" "src/commands/libcommands.a"
|
|
||||||
"src/tc/libtc.a" "swp$" "src/lex$" "task-.*.tar.gz" "commit.h" "cmake.h$"
|
|
||||||
"\\\\.gitmodules" "src/libshared/\\\\.git" ".github/" ".*\\\\.gitignore$"
|
|
||||||
"src/liblibshared.a" "docker-compose.yml" "\\\\.git/")
|
|
||||||
include (CPack)
|
include (CPack)
|
||||||
|
|
|
@ -16,26 +16,46 @@ See the [TaskChampion CONTRIBUTING guide](../../../taskchampion/CONTRIBUTING.md)
|
||||||
* Rust 1.64.0 or higher (hint: use https://rustup.rs/ instead of using your system's package manager)
|
* Rust 1.64.0 or higher (hint: use https://rustup.rs/ instead of using your system's package manager)
|
||||||
|
|
||||||
## Obtain and Build Code:
|
## Obtain and Build Code:
|
||||||
```
|
The following documentation works with CMake 3.14 and later.
|
||||||
$ git clone --recursive https://github.com/GothenburgBitFactory/taskwarrior taskwarrior.git
|
Here are the minimal steps to get started, using an out of source build directory and calling the underlying build tool over the CMake interface.
|
||||||
$ cd taskwarrior.git
|
See the general CMake man pages or the [cmake-documentation](https://cmake.org/cmake/help/latest/manual/cmake.1.html) for more,
|
||||||
$ git checkout develop # Latest dev branch
|
|
||||||
$ git submodule init # This is now done by cmake as a test
|
|
||||||
$ git submodule update # Update the libhsared.git submodule
|
|
||||||
$ cmake -DCMAKE_BUILD_TYPE=debug . # debug or release. Default: neither
|
|
||||||
$ make VERBOSE=1 -j4 # Shows details, builds using 4 jobs
|
|
||||||
# Alternately 'export MAKEFLAGS=-j 4'
|
|
||||||
```
|
|
||||||
|
|
||||||
This will build several executables, but the one you want is probably `src/task`.
|
## Basic Building
|
||||||
|
```sh
|
||||||
|
git clone https://github.com/GothenburgBitFactory/taskwarrior
|
||||||
|
cd taskwarrior
|
||||||
|
cmake -S . -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo
|
||||||
|
cmake --build build
|
||||||
|
```
|
||||||
|
Other possible build types can be `Release` and `Debug`.
|
||||||
|
This will build several executables, but the one you want is probably `src/task`, located in the `build` directory.
|
||||||
When you make changes, just run the last line again.
|
When you make changes, just run the last line again.
|
||||||
|
|
||||||
## Run the Test Suite:
|
### Building a specific target
|
||||||
|
For **only** building the `task` executable, use
|
||||||
|
```sh
|
||||||
|
cmake --build build --target task_executable
|
||||||
|
```
|
||||||
|
|
||||||
|
### Building in parallel
|
||||||
|
If a parallel build is wanted use
|
||||||
|
```sh
|
||||||
|
cmake --build build -j <number-of-jobs>
|
||||||
|
```
|
||||||
|
|
||||||
|
### Building with clang as compiler
|
||||||
|
```sh
|
||||||
|
cmake -S . -B build-clang\
|
||||||
|
-DCMAKE_C_COMPILER=clang\
|
||||||
|
-DCMAKE_CXX_COMPILER=clang++
|
||||||
|
cmake --build build-clang
|
||||||
|
```
|
||||||
|
|
||||||
|
## Run the Test Suite:
|
||||||
First switch to the test directory:
|
First switch to the test directory:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ cd test
|
$ cd build/test
|
||||||
```
|
```
|
||||||
Then you can run all tests, showing details, with
|
Then you can run all tests, showing details, with
|
||||||
```
|
```
|
||||||
|
|
|
@ -30,13 +30,13 @@ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
||||||
RUN git clean -dfx && \
|
RUN git clean -dfx && \
|
||||||
git submodule init && \
|
git submodule init && \
|
||||||
git submodule update && \
|
git submodule update && \
|
||||||
cmake -DCMAKE_BUILD_TYPE=release . && \
|
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release . && \
|
||||||
make -j8
|
cmake --build build -j 8
|
||||||
|
|
||||||
FROM base AS runner
|
FROM base AS runner
|
||||||
|
|
||||||
# Install Taskwarrior
|
# Install Taskwarrior
|
||||||
COPY --from=builder /root/code/src/task /usr/local/bin
|
COPY --from=builder /root/code/build/src/task /usr/local/bin
|
||||||
|
|
||||||
# Initialize Taskwarrior
|
# Initialize Taskwarrior
|
||||||
RUN ( echo "yes" | task ) || true
|
RUN ( echo "yes" | task ) || true
|
||||||
|
|
|
@ -31,18 +31,18 @@ while (my $line = <$fh>)
|
||||||
if ($. % 20 == 19)
|
if ($. % 20 == 19)
|
||||||
{
|
{
|
||||||
my $anno_id = $id - 1;
|
my $anno_id = $id - 1;
|
||||||
qx{../src/task rc:perf.rc rc.gc=off $anno_id annotate $line};
|
qx{../build/src/task rc:perf.rc rc.gc=off $anno_id annotate $line};
|
||||||
print "[$.] task rc:perf.rc rc.gc=off $anno_id annotate $line\n" if $?;
|
print "[$.] task rc:perf.rc rc.gc=off $anno_id annotate $line\n" if $?;
|
||||||
}
|
}
|
||||||
elsif ($. % 4 == 1)
|
elsif ($. % 4 == 1)
|
||||||
{
|
{
|
||||||
qx{../src/task rc:perf.rc rc.gc=off add $line};
|
qx{../build/src/task rc:perf.rc rc.gc=off add $line};
|
||||||
print "[$.] task rc:perf.rc rc.gc=off add $line\n" if $?;
|
print "[$.] task rc:perf.rc rc.gc=off add $line\n" if $?;
|
||||||
++$id;
|
++$id;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
qx{../src/task rc:perf.rc rc.gc=off log $line};
|
qx{../build/src/task rc:perf.rc rc.gc=off log $line};
|
||||||
print "[$.] task rc:perf.rc rc.gc=off log $line\n" if $?;
|
print "[$.] task rc:perf.rc rc.gc=off log $line\n" if $?;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,7 @@ fi
|
||||||
# Allow override.
|
# Allow override.
|
||||||
if [[ -z $TASK ]]
|
if [[ -z $TASK ]]
|
||||||
then
|
then
|
||||||
TASK=../src/task
|
TASK=../build/src/task
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Run benchmarks.
|
# Run benchmarks.
|
||||||
|
|
|
@ -20,13 +20,13 @@ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
||||||
RUN git clean -dfx
|
RUN git clean -dfx
|
||||||
RUN git submodule init
|
RUN git submodule init
|
||||||
RUN git submodule update
|
RUN git submodule update
|
||||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
RUN cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug .
|
||||||
RUN make -j8
|
RUN cmake --build build -j 8
|
||||||
RUN make install
|
RUN cmake --install build
|
||||||
RUN task --version
|
RUN task --version
|
||||||
|
|
||||||
# Setup tests
|
# Setup tests
|
||||||
WORKDIR /root/code/test/
|
WORKDIR /root/code/build/test/
|
||||||
RUN make -j8
|
RUN make -j8
|
||||||
|
|
||||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
||||||
|
|
|
@ -1,36 +0,0 @@
|
||||||
FROM centos:7
|
|
||||||
|
|
||||||
RUN yum update -y
|
|
||||||
RUN yum install python3 git gcc gcc-c++ make libuuid-devel -y
|
|
||||||
RUN yum install epel-release centos-release-scl -y
|
|
||||||
RUN yum install which cmake3 devtoolset-7-gcc* libfaketime curl -y
|
|
||||||
RUN source scl_source enable devtoolset-7; gcc --version; cmake3 --version
|
|
||||||
RUN ln -s /usr/bin/cmake3 /usr/bin/cmake
|
|
||||||
|
|
||||||
# Setup language environment
|
|
||||||
ENV LC_ALL en_US.UTF-8
|
|
||||||
ENV LANG en_US.UTF-8
|
|
||||||
ENV LANGUAGE en_US.UTF-8
|
|
||||||
|
|
||||||
# Add source directory
|
|
||||||
ADD . /root/code/
|
|
||||||
WORKDIR /root/code/
|
|
||||||
|
|
||||||
# Setup Rust
|
|
||||||
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
|
||||||
sh rustup.sh -y --profile minimal --default-toolchain stable --component rust-docs
|
|
||||||
|
|
||||||
# Setup taskwarrior
|
|
||||||
RUN git clean -dfx
|
|
||||||
RUN git submodule init
|
|
||||||
RUN git submodule update
|
|
||||||
RUN source scl_source enable devtoolset-7; cmake -DCMAKE_BUILD_TYPE=debug .
|
|
||||||
RUN source scl_source enable devtoolset-7; make -j8
|
|
||||||
RUN source scl_source enable devtoolset-7; make install
|
|
||||||
RUN task --version
|
|
||||||
|
|
||||||
# Setup tests
|
|
||||||
WORKDIR /root/code/test/
|
|
||||||
RUN source scl_source enable devtoolset-7; make -j8
|
|
||||||
|
|
||||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
|
|
@ -1,39 +0,0 @@
|
||||||
FROM centos:8
|
|
||||||
|
|
||||||
# Fix missing repo metadata
|
|
||||||
RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-Linux-*
|
|
||||||
RUN sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-Linux-*
|
|
||||||
|
|
||||||
RUN dnf update -y
|
|
||||||
RUN dnf install python3 git gcc gcc-c++ make libuuid-devel glibc-langpack-en -y
|
|
||||||
RUN dnf install epel-release -y
|
|
||||||
RUN dnf install which cmake libfaketime curl -y
|
|
||||||
RUN gcc --version; cmake --version
|
|
||||||
|
|
||||||
# Setup language environment
|
|
||||||
ENV LC_ALL en_US.UTF-8
|
|
||||||
ENV LANG en_US.UTF-8
|
|
||||||
ENV LANGUAGE en_US.UTF-8
|
|
||||||
|
|
||||||
# Add source directory
|
|
||||||
ADD . /root/code/
|
|
||||||
WORKDIR /root/code/
|
|
||||||
|
|
||||||
# Setup Rust
|
|
||||||
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
|
||||||
sh rustup.sh -y --profile minimal --default-toolchain stable --component rust-docs
|
|
||||||
|
|
||||||
# Setup taskwarrior
|
|
||||||
RUN git clean -dfx
|
|
||||||
RUN git submodule init
|
|
||||||
RUN git submodule update
|
|
||||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
|
||||||
RUN make -j8
|
|
||||||
RUN make install
|
|
||||||
RUN task --version
|
|
||||||
|
|
||||||
# Setup tests
|
|
||||||
WORKDIR /root/code/test/
|
|
||||||
RUN make -j8
|
|
||||||
|
|
||||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
|
|
@ -21,13 +21,13 @@ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
||||||
RUN git clean -dfx
|
RUN git clean -dfx
|
||||||
RUN git submodule init
|
RUN git submodule init
|
||||||
RUN git submodule update
|
RUN git submodule update
|
||||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
RUN cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug .
|
||||||
RUN make -j8
|
RUN cmake --build build -j 8
|
||||||
RUN make install
|
RUN cmake --install build
|
||||||
RUN task --version
|
RUN task --version
|
||||||
|
|
||||||
# Setup tests
|
# Setup tests
|
||||||
WORKDIR /root/code/test/
|
WORKDIR /root/code/build/test
|
||||||
RUN make -j8
|
RUN make -j8
|
||||||
|
|
||||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
||||||
|
|
|
@ -21,13 +21,13 @@ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
||||||
RUN git clean -dfx
|
RUN git clean -dfx
|
||||||
RUN git submodule init
|
RUN git submodule init
|
||||||
RUN git submodule update
|
RUN git submodule update
|
||||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
RUN cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug .
|
||||||
RUN make -j8
|
RUN cmake --build build -j 8
|
||||||
RUN make install
|
RUN cmake --install build
|
||||||
RUN task --version
|
RUN task --version
|
||||||
|
|
||||||
# Setup tests
|
# Setup tests
|
||||||
WORKDIR /root/code/test/
|
WORKDIR /root/code/build/test
|
||||||
RUN make -j8
|
RUN make -j8
|
||||||
|
|
||||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
||||||
|
|
|
@ -1,32 +0,0 @@
|
||||||
FROM fedora:32
|
|
||||||
|
|
||||||
RUN dnf update -y
|
|
||||||
RUN dnf install python3 git gcc gcc-c++ cmake make libuuid-devel libfaketime glibc-langpack-en curl -y
|
|
||||||
|
|
||||||
# Setup language environment
|
|
||||||
ENV LC_ALL en_US.UTF-8
|
|
||||||
ENV LANG en_US.UTF-8
|
|
||||||
ENV LANGUAGE en_US.UTF-8
|
|
||||||
|
|
||||||
# Add source directory
|
|
||||||
ADD . /root/code/
|
|
||||||
WORKDIR /root/code/
|
|
||||||
|
|
||||||
# Setup Rust
|
|
||||||
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
|
||||||
sh rustup.sh -y --profile minimal --default-toolchain stable --component rust-docs
|
|
||||||
|
|
||||||
# Setup taskwarrior
|
|
||||||
RUN git clean -dfx
|
|
||||||
RUN git submodule init
|
|
||||||
RUN git submodule update
|
|
||||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
|
||||||
RUN make -j8
|
|
||||||
RUN make install
|
|
||||||
RUN task --version
|
|
||||||
|
|
||||||
# Setup tests
|
|
||||||
WORKDIR /root/code/test/
|
|
||||||
RUN make -j8
|
|
||||||
|
|
||||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
|
|
@ -1,32 +0,0 @@
|
||||||
FROM fedora:33
|
|
||||||
|
|
||||||
RUN dnf update -y
|
|
||||||
RUN dnf install python3 git gcc gcc-c++ cmake make libuuid-devel libfaketime glibc-langpack-en curl -y
|
|
||||||
|
|
||||||
# Setup language environment
|
|
||||||
ENV LC_ALL en_US.UTF-8
|
|
||||||
ENV LANG en_US.UTF-8
|
|
||||||
ENV LANGUAGE en_US.UTF-8
|
|
||||||
|
|
||||||
# Add source directory
|
|
||||||
ADD . /root/code/
|
|
||||||
WORKDIR /root/code/
|
|
||||||
|
|
||||||
# Setup Rust
|
|
||||||
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
|
||||||
sh rustup.sh -y --profile minimal --default-toolchain stable --component rust-docs
|
|
||||||
|
|
||||||
# Setup taskwarrior
|
|
||||||
RUN git clean -dfx
|
|
||||||
RUN git submodule init
|
|
||||||
RUN git submodule update
|
|
||||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
|
||||||
RUN make -j8
|
|
||||||
RUN make install
|
|
||||||
RUN task --version
|
|
||||||
|
|
||||||
# Setup tests
|
|
||||||
WORKDIR /root/code/test/
|
|
||||||
RUN make -j8
|
|
||||||
|
|
||||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
|
|
@ -1,32 +0,0 @@
|
||||||
FROM fedora:34
|
|
||||||
|
|
||||||
RUN dnf update -y
|
|
||||||
RUN dnf install python3 git gcc gcc-c++ cmake make libuuid-devel libfaketime glibc-langpack-en curl -y
|
|
||||||
|
|
||||||
# Setup language environment
|
|
||||||
ENV LC_ALL en_US.UTF-8
|
|
||||||
ENV LANG en_US.UTF-8
|
|
||||||
ENV LANGUAGE en_US.UTF-8
|
|
||||||
|
|
||||||
# Add source directory
|
|
||||||
ADD . /root/code/
|
|
||||||
WORKDIR /root/code/
|
|
||||||
|
|
||||||
# Setup Rust
|
|
||||||
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
|
||||||
sh rustup.sh -y --profile minimal --default-toolchain stable --component rust-docs
|
|
||||||
|
|
||||||
# Setup taskwarrior
|
|
||||||
RUN git clean -dfx
|
|
||||||
RUN git submodule init
|
|
||||||
RUN git submodule update
|
|
||||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
|
||||||
RUN make -j8
|
|
||||||
RUN make install
|
|
||||||
RUN task --version
|
|
||||||
|
|
||||||
# Setup tests
|
|
||||||
WORKDIR /root/code/test/
|
|
||||||
RUN make -j8
|
|
||||||
|
|
||||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
|
|
@ -1,32 +0,0 @@
|
||||||
FROM fedora:35
|
|
||||||
|
|
||||||
RUN dnf update -y
|
|
||||||
RUN dnf install python3 git gcc gcc-c++ cmake make libuuid-devel libfaketime glibc-langpack-en curl -y
|
|
||||||
|
|
||||||
# Setup language environment
|
|
||||||
ENV LC_ALL en_US.UTF-8
|
|
||||||
ENV LANG en_US.UTF-8
|
|
||||||
ENV LANGUAGE en_US.UTF-8
|
|
||||||
|
|
||||||
# Add source directory
|
|
||||||
ADD . /root/code/
|
|
||||||
WORKDIR /root/code/
|
|
||||||
|
|
||||||
# Setup Rust
|
|
||||||
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
|
||||||
sh rustup.sh -y --profile minimal --default-toolchain stable --component rust-docs
|
|
||||||
|
|
||||||
# Setup taskwarrior
|
|
||||||
RUN git clean -dfx
|
|
||||||
RUN git submodule init
|
|
||||||
RUN git submodule update
|
|
||||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
|
||||||
RUN make -j8
|
|
||||||
RUN make install
|
|
||||||
RUN task --version
|
|
||||||
|
|
||||||
# Setup tests
|
|
||||||
WORKDIR /root/code/test/
|
|
||||||
RUN make -j8
|
|
||||||
|
|
||||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
|
|
@ -20,13 +20,13 @@ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
||||||
RUN git clean -dfx
|
RUN git clean -dfx
|
||||||
RUN git submodule init
|
RUN git submodule init
|
||||||
RUN git submodule update
|
RUN git submodule update
|
||||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
RUN cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug .
|
||||||
RUN make -j8
|
RUN cmake --build build -j 8
|
||||||
RUN make install
|
RUN cmake --install build
|
||||||
RUN task --version
|
RUN task --version
|
||||||
|
|
||||||
# Setup tests
|
# Setup tests
|
||||||
WORKDIR /root/code/test/
|
WORKDIR /root/code/build/test
|
||||||
RUN make -j8
|
RUN make -j8
|
||||||
|
|
||||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
||||||
|
|
|
@ -20,13 +20,13 @@ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
||||||
RUN git clean -dfx
|
RUN git clean -dfx
|
||||||
RUN git submodule init
|
RUN git submodule init
|
||||||
RUN git submodule update
|
RUN git submodule update
|
||||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
RUN cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug .
|
||||||
RUN make -j8
|
RUN cmake --build build -j 8
|
||||||
RUN make install
|
RUN cmake --install build
|
||||||
RUN task --version
|
RUN task --version
|
||||||
|
|
||||||
# Setup tests
|
# Setup tests
|
||||||
WORKDIR /root/code/test/
|
WORKDIR /root/code/build/test
|
||||||
RUN make -j8
|
RUN make -j8
|
||||||
|
|
||||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
||||||
|
|
|
@ -1,38 +0,0 @@
|
||||||
# name the portage image
|
|
||||||
FROM gentoo/portage:latest as portage
|
|
||||||
|
|
||||||
# image is based on stage3-x86
|
|
||||||
FROM gentoo/stage3-x86:latest
|
|
||||||
|
|
||||||
# copy the entire portage volume in
|
|
||||||
COPY --from=portage /usr/portage /usr/portage
|
|
||||||
|
|
||||||
RUN emerge -qv sys-libs/readline:0 sys-apps/util-linux dev-util/cmake sys-devel/make dev-vcs/git sys-libs/libfaketime net-misc/curl
|
|
||||||
|
|
||||||
# Setup language environment
|
|
||||||
ENV LC_ALL en_US.UTF-8
|
|
||||||
ENV LANG en_US.UTF-8
|
|
||||||
ENV LANGUAGE en_US.UTF-8
|
|
||||||
|
|
||||||
# Add source directory
|
|
||||||
ADD . /root/code/
|
|
||||||
WORKDIR /root/code/
|
|
||||||
|
|
||||||
# Setup Rust
|
|
||||||
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
|
||||||
sh rustup.sh -y --profile minimal --default-toolchain stable --component rust-docs
|
|
||||||
|
|
||||||
# Setup taskwarrior
|
|
||||||
RUN git clean -dfx
|
|
||||||
RUN git submodule init
|
|
||||||
RUN git submodule update
|
|
||||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
|
||||||
RUN make -j8
|
|
||||||
RUN make install
|
|
||||||
RUN task --version
|
|
||||||
|
|
||||||
# Setup tests
|
|
||||||
WORKDIR /root/code/test/
|
|
||||||
RUN make -j8
|
|
||||||
|
|
||||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
|
|
@ -19,13 +19,13 @@ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
||||||
RUN git clean -dfx
|
RUN git clean -dfx
|
||||||
RUN git submodule init
|
RUN git submodule init
|
||||||
RUN git submodule update
|
RUN git submodule update
|
||||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
RUN cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug .
|
||||||
RUN make -j8
|
RUN cmake --build build -j 8
|
||||||
RUN make install
|
RUN cmake --install build
|
||||||
RUN task --version
|
RUN task --version
|
||||||
|
|
||||||
# Setup tests
|
# Setup tests
|
||||||
WORKDIR /root/code/test/
|
WORKDIR /root/code/build/test
|
||||||
RUN make -j8
|
RUN make -j8
|
||||||
|
|
||||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
||||||
|
|
|
@ -1,33 +0,0 @@
|
||||||
FROM ubuntu:16.04
|
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install -y build-essential cmake git uuid-dev faketime locales python3 curl
|
|
||||||
|
|
||||||
# Setup language environment
|
|
||||||
RUN locale-gen en_US.UTF-8
|
|
||||||
ENV LC_ALL en_US.UTF-8
|
|
||||||
ENV LANG en_US.UTF-8
|
|
||||||
ENV LANGUAGE en_US.UTF-8
|
|
||||||
|
|
||||||
# Add source directory
|
|
||||||
ADD . /root/code/
|
|
||||||
WORKDIR /root/code/
|
|
||||||
|
|
||||||
# Setup Rust
|
|
||||||
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
|
||||||
sh rustup.sh -y --profile minimal --default-toolchain stable --component rust-docs
|
|
||||||
|
|
||||||
# Setup taskwarrior
|
|
||||||
RUN git clean -dfx
|
|
||||||
RUN git submodule init
|
|
||||||
RUN git submodule update
|
|
||||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
|
||||||
RUN make -j2
|
|
||||||
RUN make install
|
|
||||||
RUN task --version
|
|
||||||
|
|
||||||
# Setup tests
|
|
||||||
WORKDIR /root/code/test/
|
|
||||||
RUN make
|
|
||||||
|
|
||||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
|
|
@ -1,33 +0,0 @@
|
||||||
FROM ubuntu:18.04
|
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install -y build-essential cmake git uuid-dev faketime locales python3 curl
|
|
||||||
|
|
||||||
# Setup language environment
|
|
||||||
RUN locale-gen en_US.UTF-8
|
|
||||||
ENV LC_ALL en_US.UTF-8
|
|
||||||
ENV LANG en_US.UTF-8
|
|
||||||
ENV LANGUAGE en_US.UTF-8
|
|
||||||
|
|
||||||
# Add source directory
|
|
||||||
ADD . /root/code/
|
|
||||||
WORKDIR /root/code/
|
|
||||||
|
|
||||||
# Setup Rust
|
|
||||||
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
|
||||||
sh rustup.sh -y --profile minimal --default-toolchain stable --component rust-docs
|
|
||||||
|
|
||||||
# Setup taskwarrior
|
|
||||||
RUN git clean -dfx
|
|
||||||
RUN git submodule init
|
|
||||||
RUN git submodule update
|
|
||||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
|
||||||
RUN make -j8
|
|
||||||
RUN make install
|
|
||||||
RUN task --version
|
|
||||||
|
|
||||||
# Setup tests
|
|
||||||
WORKDIR /root/code/test/
|
|
||||||
RUN make -j8
|
|
||||||
|
|
||||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
|
|
@ -21,13 +21,13 @@ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
||||||
RUN git clean -dfx
|
RUN git clean -dfx
|
||||||
RUN git submodule init
|
RUN git submodule init
|
||||||
RUN git submodule update
|
RUN git submodule update
|
||||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
RUN cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug .
|
||||||
RUN make -j8
|
RUN cmake --build build -j 8
|
||||||
RUN make install
|
RUN cmake --install build
|
||||||
RUN task --version
|
RUN task --version
|
||||||
|
|
||||||
# Setup tests
|
# Setup tests
|
||||||
WORKDIR /root/code/test/
|
WORKDIR /root/code/build/test
|
||||||
RUN make -j8
|
RUN make -j8
|
||||||
|
|
||||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
||||||
|
|
|
@ -21,13 +21,13 @@ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
||||||
RUN git clean -dfx
|
RUN git clean -dfx
|
||||||
RUN git submodule init
|
RUN git submodule init
|
||||||
RUN git submodule update
|
RUN git submodule update
|
||||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
RUN cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug .
|
||||||
RUN make -j8
|
RUN cmake --build build -j 8
|
||||||
RUN make install
|
RUN cmake --install build
|
||||||
RUN task --version
|
RUN task --version
|
||||||
|
|
||||||
# Setup tests
|
# Setup tests
|
||||||
WORKDIR /root/code/test/
|
WORKDIR /root/code/build/test
|
||||||
RUN make -j8
|
RUN make -j8
|
||||||
|
|
||||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue