Revision: 77209
          http://sourceforge.net/p/brlcad/code/77209
Author:   starseeker
Date:     2020-09-24 12:18:25 +0000 (Thu, 24 Sep 2020)
Log Message:
-----------
Not quite sure where this should go, but want to capture info about how to go 
about debugging runtime behavior on github runners by making small test 
repositories with the binary build and using github actions.

Modified Paths:
--------------
    brlcad/trunk/doc/CMakeLists.txt

Added Paths:
-----------
    brlcad/trunk/doc/GITHUB

Modified: brlcad/trunk/doc/CMakeLists.txt
===================================================================
--- brlcad/trunk/doc/CMakeLists.txt     2020-09-24 12:04:24 UTC (rev 77208)
+++ brlcad/trunk/doc/CMakeLists.txt     2020-09-24 12:18:25 UTC (rev 77209)
@@ -4,6 +4,7 @@
 
 set(documentation_DATA
   BRL-CAD.bib
+  GITHUB
   IDEAS
   PROJECTS
   README.Linux

Added: brlcad/trunk/doc/GITHUB
===================================================================
--- brlcad/trunk/doc/GITHUB                             (rev 0)
+++ brlcad/trunk/doc/GITHUB     2020-09-24 12:18:25 UTC (rev 77209)
@@ -0,0 +1,50 @@
+Notes about development with the Github hosting platform.
+
+Using Github Actions to iteratively debug problems.
+
+Github's runners (build platforms for it's Actions CI system) offer a way to
+test platforms we don't otherwise have access to.  Sometimes, if we need to
+iteratively test inputs being supplied to tools on those platforms to diagnose
+a problem, the full configure/build/test cycle can be a very slow way to
+proceed.
+
+A way forward in this case is to create a temporary local repository with a
+checking of the binary version of BRL-CAD used for the specific platform in
+question, along with test inputs and an action defined to run the specific test
+in question. (REMEMBER - github repos are public, so only define and use inputs
+suitable for public consumption!)
+
+For the below example, we created a repository with the Windows binary install
+and a README file explaining what the test is doing:
+
+-rw-rw-r--   1 user user    72 Sep 23 17:52 README
+drwxrwxr-x   3 user user 12288 Sep 24 07:41 bin
+drwxrwxr-x   4 user user  4096 Sep 23 17:49 libexec
+drwxrwxr-x  13 user user  4096 Sep 23 17:50 lib
+drwxrwxr-x   5 user user  4096 Sep 23 17:49 include
+drwxrwxr-x  16 user user  4096 Sep 23 17:50 share
+drwxrwxr-x   8 user user  4096 Sep 24 07:42 .git
+drwxrwxr-x   3 user user  4096 Sep 23 17:53 .github
+
+Then, in the .github/workflows directory we create a .yml file to trigger the
+test whenever we push a change.  For this example we were wanting to test the
+benchmark script, so we create a .github/workflows/benchmark.yml file with the
+following contents:
+
+name: benchhmark
+on: [push]
+jobs:
+  bench:
+    runs-on: windows-latest
+    steps:
+      - uses: actions/checkout@v2
+      # 
https://docs.github.com/en/actions/reference/workflow-commands-for-github-actions#adding-a-system-path
+      - run: echo '::add-path::{C:\Program Files\Git\bin}'
+      - run: sh.exe ./bin/benchmark run
+
+This allowed developers to iteratively adjust the bin/benchmark shell script
+and test the results in the compilation Windows environment, *without* having
+to perform the full compilation cycle on Windows each time.  Once a working
+benchmark script was identified it was added back to the primary repository and
+the test repo deleted.
+


Property changes on: brlcad/trunk/doc/GITHUB
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to