From eb385204247ecda0f57bff5a1b782c30486d0f64 Mon Sep 17 00:00:00 2001 From: Giles Knap Date: Fri, 26 Jan 2024 15:46:38 +0000 Subject: [PATCH] upate to latest framework --- .devcontainer/devcontainer.json | 25 ++++++++++++++----------- .gitignore | 6 ++---- ibek-support | 2 +- requirements.txt | 2 +- requirements_ec.txt | 2 +- 5 files changed, 19 insertions(+), 18 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index d4ccac8..9d2fd2d 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -15,15 +15,16 @@ "EC_PROJECT": "${localWorkspaceFolderBasename}" }, "features": { + // add quality of life features for developers including git config integration "ghcr.io/devcontainers/features/common-utils:2": { - "installZsh": false, - "installOhMyZsh": false, - "installOhMyZshConfig": false, + // don't upgrade to make this similar to the runtime container "upgradePackages": false } }, // IMPORTANT for this devcontainer to work with docker EC_REMOTE_USER must be - // set to vscode. For podman it should be left blank. + // set to vscode. You will run as vscode with full sudo rights. + // For podman it should be left blank. You will run as root but host mounts + // will be owned by your user. "remoteUser": "${localEnv:EC_REMOTE_USER}", "customizations": { "vscode": { @@ -34,7 +35,7 @@ "redhat.vscode-yaml", "ryanluker.vscode-coverage-gutters", "epicsdeb.vscode-epics", - "ms-python.black-formatter" + "charliermarsh.ruff" ] } }, @@ -47,15 +48,17 @@ "runArgs": [ // Allow the container to access the host X11 display and EPICS CA "--net=host", - // Make sure SELinux does not disable with access to host filesystems like tmp + // Make sure SELinux does not disable write access to host filesystems like tmp "--security-opt=label=disable" ], - "workspaceMount": "source=${localWorkspaceFolder},target=/epics/${localWorkspaceFolderBasename},type=bind", - "workspaceFolder": "/epics/${localWorkspaceFolderBasename}", + // Mount the parent of the project folder so we can access peer projects + "workspaceMount": "source=${localWorkspaceFolder}/..,target=/workspaces,type=bind", + // mount in other useful files from the host "mounts": [ - // Mount some useful local files from the user's home directory - // By mounting the parent of the workspace we can work on multiple peer projects - "source=${localWorkspaceFolder}/../,target=/repos,type=bind", + // we also mount the project folder into a know location in the container + // this is where the ibek-support and ioc folders reside in the container build + // in this way the devcontainer and runtime look very similar + "source=${localWorkspaceFolder},target=/epics/generic-source,type=bind", // this provides eternal bash history in and out of the container "source=${localEnv:HOME}/.bash_eternal_history,target=/root/.bash_eternal_history,type=bind", // this bashrc hooks up the .bashrc_dev_container in the following mount diff --git a/.gitignore b/.gitignore index ce0d537..b21013b 100644 --- a/.gitignore +++ b/.gitignore @@ -11,7 +11,5 @@ ibek # dont save workspaces as other users will have differing folders *workspace -# ignore output folders of epics builds -**/O.* -ioc/bin -ioc/lib +# config folder is there to be replaced there is just a dummy with Readme. +ioc/config diff --git a/ibek-support b/ibek-support index a6c781e..5dd5993 160000 --- a/ibek-support +++ b/ibek-support @@ -1 +1 @@ -Subproject commit a6c781e258b6926d6b1d2d2f359da980e780c554 +Subproject commit 5dd5993b10ce2bf75b03f2396179cb3a2405a3b2 diff --git a/requirements.txt b/requirements.txt index 7ccac7b..a78472e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ -ibek==1.5.4 +ibek==1.6.2 # to install direct from github during development in the dev branch: #git+https://github.com/epics-containers/ibek.git@dev diff --git a/requirements_ec.txt b/requirements_ec.txt index 67af14e..048acd9 100644 --- a/requirements_ec.txt +++ b/requirements_ec.txt @@ -1,3 +1,3 @@ -epics-containers-cli==2.6.9 +epics-containers-cli==2.7.0 # to install direct from github during development in the dev branch: #git+https://github.com/epics-containers/epics-containers-cli.git@dev