https://github.com/andreas-kupries/crunch
Mirror of crunch @ core.tcl.tk/akupries -- Scripts to step through a fossil repository for processing, like benchmarks.
https://github.com/andreas-kupries/crunch
Last synced: 3 months ago
JSON representation
Mirror of crunch @ core.tcl.tk/akupries -- Scripts to step through a fossil repository for processing, like benchmarks.
- Host: GitHub
- URL: https://github.com/andreas-kupries/crunch
- Owner: andreas-kupries
- Created: 2013-05-04T06:41:41.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2014-05-30T20:09:22.000Z (about 11 years ago)
- Last Synced: 2025-02-07T07:16:46.179Z (4 months ago)
- Language: Perl
- Homepage: http://core.tcl.tk/akupries/crunch/index
- Size: 133 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README
Awesome Lists containing this project
README
Usage
=====Starting from the example script "main".
We are in some directory X
We have the fossil repository for tcl at /path/to/tcl.fossilRunning
/path/to/crunch/main /path/to/tcl.fossilbuilds the revisions of Tcl, from the tip back into the past, in
reverse order of committing. Note that this does not follow parental
linkage, or branches. It follows time and jumps between branches/forks
as they come.The scripts involved from 'main' are:
process
Set up things in X, then checkout revisions and run the
command below.A possible replacement could simply take a list of revisions
(cmdline, file?) to build. I.e. if we are comparing specific
revisions and not gathering stats for all and sundry.build_tcl
Configure and make the current revision, expected in a fixed
location under X. Then run the command below. Note that the
script will run the command regardless of build success or
failure. Indeed, it is the responsbility of the called command
to determine whether the build succeeded or not.This build script assumes unix/configure, win/configure,
generally $tcl_platform(platform)/configureWrite derivations for TEA extensions, and other build systems.
build_ok
Called with the path of the sentinel file, relative to X whose
presence indicates success.
Write other scripts if the test for success is done
differently.Runs the command below with the result of the test.
save_check
Called with build result (ok, fail), saves this information
in a plain text file.For other actions, like running the testsuite, or benchmarks,
write a replacement script to the same API.Examples:
save_fail
Like save_check, but also saves the
configure/make log output for failed builds.save_and_test
Saves like save_fail, and runs the test suite
for OK builds. Saves the test output.==============================================
Taking the command line apart, as scripts are run:
./process state ../../repo/tcl.fossil ./build_tcl ./build_ok build/tclsh ./save_check
Saves its state information to state
Operates (read-only) on fossil repo ../../repo/tcl.fossilChecks out all non-processed revisions, from the current tip
descending into the past. Follows time, not parental linkage.Runs the following command on each revision.
./build_tcl %repo% %uuid% ./build_ok build/tclsh ./save_check
Build state is in the current working directory.
Sub directory 'src' is where the revision is checked out into.==============================================
./build_tcl %repo% %uuid% ./build_ok build/tclsh ./save_checkLooks for the sources in src
Assumes that the sources are for revision %uuid%.
Builds the sources, placing build state intobuild - build directory
install - install destination, --prefix
log - build log (configure, make)All relative to current working directory.
After each build, successful or not it calls./build_ok %repo% %uuid% build/tclsh ./save_check
to check if the build was succesful, or not.
==============================================
./build_ok %repo% %uuid% build/tclsh ./save_checkLooks for the sentinel file
build/tclsh
Relative to current working directory.
If present, build is OK, otherwise FAIL.
Calls./save_check %repo% %uuid% %result%
with this result.
==============================================
./save_check %repo% %uuid% %result%Extends the file
okfai.results.txtwith a line listing %result% and %uuid%.