Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Configuration and documentation for building and running in Codespaces or Development Container #1101

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

markphip
Copy link

This adds the configuration necessary to build and run EGSnrc in a Development Container. I have
successfully tested this in the following environments:

Documentation:

  • .devcontainer/README.md: A new README file has been added to explain how to use the development container. It provides instructions for different environments and addresses potential issues, such as line-endings in files when running locally on Windows. It also describes the runtime experience and provides reference information.

Development container configuration:

  • .devcontainer/devcontainer.json: This file contains the configuration for the development container. It specifies the Docker image to use, features to include, commands to run on creation and after creation, ports to forward, and attributes for the forwarded ports.

Scripts for container setup and GUI applications build:

  • .devcontainer/setup.sh: This script runs when the development container is being created. It installs the required packages for EGSnrc, builds the application, and configures .bashrc with necessary environment variables and source commands.
  • .devcontainer/build-gui-apps.sh: This script is used to build the GUI applications for EGSnrc. It checks if the EGS_HOME environment variable is set and sources ~/.bashrc if not. It then builds the GUI applications.

* setup.sh is called when container is created. It installs required
  packages and performs the EGSnrc configuration

* build-gui-apps.sh is called after the container is created and builds
  the GUI apps. It relies upon the configuration being created and
  the .bashrc having been setup

* .gitignore is updated to ignore the files created when building the
  devcontainer configuration. Also added additional QT conf files that
  are generated during build

* README.md provides some basic documentation about using devcontainer
@markphip markphip requested a review from a team as a code owner February 25, 2024 01:43
@markphip markphip requested review from ftessier, mainegra and rtownson and removed request for a team February 25, 2024 01:43
@ftessier ftessier self-assigned this Feb 25, 2024
@ftessier ftessier added this to the Release 2024 milestone Feb 25, 2024
@mainegra
Copy link
Contributor

This is a very timely contribution!
It will definitively make it easier for users to use EGSnrc in their preferred OS on any machine regardless of the host OS!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants