diff --git a/Dockerfile b/Dockerfile index 74fbbd3..ba09104 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,27 +4,28 @@ from ubuntu:bionic # (usually) Cached steps # ---------------------------------------------------------------------------- # -# Set FAST_MODE to prevent git and upgrade +# See bootstrap.sh ENV FAST_MODE="true" ENV WORKSPACE="$HOME/workspace" -# Install sudo for compatibility, git since it is skipped, make -# Triple quiet mode (-qq implies -y, pipe to /dev/null) +# Set Noninteractive RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections + +# Install sudo for compatibility, git since built-in is skipped, make RUN apt-get -y update \ && apt-get -y install sudo git make # Create user with sudo priviledge ENV USER="test-user" -RUN useradd --create-home -m $USER \ - && adduser $USER sudo -RUN echo "$USER ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers +RUN useradd --create-home -m "$USER" \ + && adduser "$USER" sudo +RUN echo "$USER ALL=(ALL) NOPASSWD: ALL" \ + >> /etc/sudoers # ---------------------------------------------------------------------------- # # Filesystem copy steps # ---------------------------------------------------------------------------- # -# Copy dotfiles in ADD --chown=test-user . "$WORKSPACE/dotfiles" WORKDIR "$WORKSPACE/dotfiles" @@ -32,7 +33,6 @@ WORKDIR "$WORKSPACE/dotfiles" # Install steps # ---------------------------------------------------------------------------- # -# Run installer USER test-user RUN make install @@ -40,5 +40,4 @@ RUN make install # Test steps # ---------------------------------------------------------------------------- # -# Run tests -CMD ["make", "test"] +CMD ["cd", "tests", "&&", "make"] diff --git a/Makefile b/Makefile index 152bb41..9ff64da 100644 --- a/Makefile +++ b/Makefile @@ -5,9 +5,7 @@ .PHONY: install clean # Install dotfiles locally -install: SHELL:=/bin/bash install: - chmod +x ./bootstrap.sh ./bootstrap.sh # Clean up after install @@ -17,12 +15,16 @@ clean: # ---------------------------------------------------------------------------- # # Docker commands # ---------------------------------------------------------------------------- # -.PHONY: build run +.PHONY: build run use -# Build and tag latest docker image +# Build and tag docker image build: - docker build . -t dotfiles:latest + docker build . -t dotfiles -# Run latest docker container +# Run tests in docker container run: - docker run -it dotfiles:latest /bin/bash + docker run dotfiles + +# Launch bash in docker container +use: + docker run -it dotfiles /bin/bash diff --git a/fish/config.fish b/fish/config.fish index 7bae98d..ff9bcc1 100644 --- a/fish/config.fish +++ b/fish/config.fish @@ -1,9 +1,14 @@ -# Pyenv -setenv PYENV_ROOT "$HOME/.pyenv" -setenv PATH "$PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH" +# .local +set -x PATH $HOME/.local/bin $PATH -# Poetry -set -gx PATH $HOME/.poetry/bin $PATH +# pyenv +set PYENV_ROOT $HOME/.pyenv +set -x PATH $PYENV_ROOT/bin $PATH +set -x PATH $PYENV_ROOT/shims $PATH + +# poetry +set PYENV_ROOT $HOME/.pyenv +set -x PATH $PYENV_ROOT/bin $PATH # Wipe greeting set fish_greeting diff --git a/tests/Makefile b/tests/Makefile index 0ab6e6a..48cd8c2 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -1,11 +1,6 @@ # dotfiles tests Makefile -# ---------------------------------------------------------------------------- # -# Test commands -# ---------------------------------------------------------------------------- # -.PHONY: test - -# Import .bashrc and run test suite -test: SHELL:=/bin/bash -test: +all: SHELL:=/bin/bash +all: + source ~/.bashrc poetry install poetry run pytest