tidy Docker/Makefiles and config.fish

This commit is contained in:
Andrejus
2020-03-02 22:21:03 +00:00
parent 0d87c48e9c
commit 1c7586139f
4 changed files with 31 additions and 30 deletions

View File

@@ -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"]

View File

@@ -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

View File

@@ -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

View File

@@ -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