summaryrefslogtreecommitdiff
path: root/main.go
AgeCommit message (Collapse)Author
2024-07-06Execute build function from craft.shxengineering
craft.sh is the script which needs to be located inside the repository root to define how the repository should be used. The first defined function is `build()` which is used to build the repository content.
2024-07-06Improve submodule update performance significantlyxengineering
This commit add the usage of shallow submodule updates. Thus after checking out the targeted commit of the parent repository only the required commits of the submodules are fetched.
2024-07-06Implement recursive submodule updatexengineering
This adds support for repositories having submodules. Nevertheless all the required clone operations are complete which makes this process time consuming depending on the list of submodules.
2024-07-06Prepare simple workbenchxengineering
After detecting an update of a Git ref craft should create a throw-away Git clone of the repository with the new Git commit checked out. This is the starting point for executing build and test steps. Improving performance by tree-less or shallow clones and updating submodules is not yet implemented.
2024-07-06Modify log outputxengineering
- exit message - more consistent messages - refactoring to implement this
2024-07-05Determine and validate Git hook typexengineering
Since craft should only be referenced by a symlink like that: ln -s /usr/bin/craft myrepo/.git/hooks/post-receive It is important to detect the hook type, in this case 'post-receive'. This commit also validates that the determined hook type is supported. Currently only the post-receive hook is supported.
2024-07-05Print current working directoryxengineering
When craft is used - as intended - as Git post-receive hook the current working directory should always be the .git folder. In case of bare repositories this should point to the bare repository.
2023-09-02Add stdin parsing for Git post-receive hookxengineering
The first program for this repsoitory will be a Git post-receive hook which will be used at any source repository which is registered for automated builds.