summaryrefslogtreecommitdiffstats
path: root/acid/acid-source (follow)
AgeCommit message (Collapse)AuthorFilesLines
2023-11-17acid: source: Only record commit hashesMalfurious1-6/+7
Previously, the object hash computed by `git for-each-ref` was the value we cached in the 'previous_hash' file. If the matching ref was an annotated tag, then this was the tag's hash, not the commit hash it pointed to. Now, always dereference tags to their commit object, and store this value instead. This consistency will improve the web UX in my opinion. Signed-off-by: Malfurious <m@lfurio.us>
2023-11-17acid: source: Initialize cached hash to NULLMalfurious1-1/+1
For some consistency, initialize repos' previous_hash to the NULL hash (all zeros). This should prevent empty values on the user interface. Signed-off-by: Malfurious <m@lfurio.us>
2023-11-17acid: source: Prevent creation of local branches/refsMalfurious1-4/+15
Previously (and as is the default behavior in git), when cloning fresh cache repositories for user services, we would acquire current remote-tracking branches, tags, and a local branch tracking origin/HEAD. In practice, this local branch becomes vestigial. As we fetch updates, we always checkout by commit hash and leave the repository in a detached HEAD. The local branch reference is therefore never updated. This is fine for the functionality of ACID. However, if querying the repo for information about the current version, it is possible for tools like `git describe` to describe HEAD in terms of this stale branch ref. Now, when we clone a repository arrange for there to be no 'local' branch references. Only remote-tracking branches and tags. Remote-tracking branches are properly updated and removed by our fetch command. Additionally, prevent the remote 'origin/HEAD' symbolic ref, since it would be mildly confusing for it to pop up to the user as well. In effect, we limit our ref namespace only to branches and tags that actually exist on the remote host. Signed-off-by: Malfurious <m@lfurio.us>
2023-11-02acid: source: Return null hash on errorMalfurious1-6/+11
This seems like a more consistent behavior. Also, I would like to embed the git hash into the build log record somehow. Returning all zeroes in an error case allows the main script to simply pass along the result instead of worrying about an edge case. Signed-off-by: Malfurious <m@lfurio.us>
2023-11-02Merge data volumesMalfurious1-1/+1
I need something more complicated than just 1 new directory for logs, so let's go to the trouble now of merging the persistent volumes together and use subdirectories/files. The default location is now '/data'. To aid similar changes in the future, the locations of these persistent files are no longer hard-coded in the source, but defined by global shell variables. Additionally, a bug is fixed which impacted our ability to accurately clean old logs and calculate the next job number. Signed-off-by: Malfurious <m@lfurio.us>
2023-10-26acid: Don't use 'cychedelic' in file namesMalfurious1-0/+71
As I add new components to the cychedelic system, it would be best to use more specific naming. 'cychedelic' is the name of the project, whereas 'acid' is the name of this program. Signed-off-by: Malfurious <m@lfurio.us>