From ec7119052342e4371b52d3d52d4fe6698b84f5a7 Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Wed, 2 Sep 2020 00:04:25 -0400 Subject: Add .circleci/config.yml (#1) --- .circleci/config.yml | 47 +++++++++++++++++++++++++++++++++++++++++++++++ README.md | 2 ++ 2 files changed, 49 insertions(+) create mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..482b103 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,47 @@ +version: 2.1 + +jobs: + build: + machine: + image: ubuntu-1604:202007-01 + steps: + - checkout + - run: cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_C_FLAGS="-DENABLE_TESTING -g" . + - run: make + - run: ./multihome -t + - run: sudo make install + - run: multihome -s + - run: + name: "Runtime test" + command: | + . ~/.multihome/init + . /etc/profile + . ~/.profile + + echo "multihome location: $MULTIHOME" + echo "Current HOME: $HOME" + echo "Previous HOME: $HOME_OLD" + echo "Current PATH: $PATH" + + echo "System account structure (/etc/skel):" + ls -la /etc/skel + + echo "Current HOME structure:" + ls -la ~ + + echo "test file" > topdir/.multihome/skel/TESTFILE + + echo "T bin/" > topdir/.multihome/transfer + echo "H .gitconfig" >> topdir/.multihome/transfer + echo "L .gemrc" >> topdir/.multihome/transfer + + multihome -u + + echo "Updated HOME structure:" + ls -la ~ + + test -f ~/TESTFILE + test -d ~/bin + test -f ~/.gitconfig + test -L ~/.gemrc + diff --git a/README.md b/README.md index 907fe72..3578ae6 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # multihome +[![CircleCI](https://circleci.com/gh/jhunkeler/multihome.svg?style=svg)](https://circleci.com/gh/jhunkeler/multihome) + NFS mounted home directories are common when operating in a clustered environment and so are the problems that come along with it. Multihome manages your `HOME` environment variable on a per-host basis. When you log into a system, Multihome creates a new home directory using the system's default account skeleton, changes your `HOME` to point to it, then initializes your shell session from there. This allows you, as the user, to maintain unique home directories on any system within the cluster; complete with their own individualized settings. ## Usage -- cgit