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