Updated commit and build date capturing
It's now written to a build.txt file instead of using environment variables internally. Standalone installs now has this properly as well.
This commit is contained in:
5
.github/workflows/ci.yml
vendored
5
.github/workflows/ci.yml
vendored
@@ -82,6 +82,11 @@ jobs:
|
||||
- name: Fix permissions
|
||||
run: |
|
||||
chmod +x scripts/*.sh
|
||||
|
||||
- name: Write build info
|
||||
run: |
|
||||
echo "GIT_COMMIT=$(git rev-parse --short HEAD)" > build.txt
|
||||
echo "BUILD_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> build.txt
|
||||
|
||||
- name: Upload client Spoolman artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
|
||||
@@ -59,6 +59,10 @@ ARG BUILD_DATE=unknown
|
||||
ENV GIT_COMMIT=${GIT_COMMIT}
|
||||
ENV BUILD_DATE=${BUILD_DATE}
|
||||
|
||||
# Write GIT_COMMIT and BUILD_DATE to a build.txt file
|
||||
RUN echo "GIT_COMMIT=${GIT_COMMIT}" > build.txt \
|
||||
&& echo "BUILD_DATE=${BUILD_DATE}" >> build.txt
|
||||
|
||||
# Run command
|
||||
EXPOSE 8000
|
||||
ENTRYPOINT ["/home/app/spoolman/entrypoint.sh"]
|
||||
|
||||
@@ -286,10 +286,16 @@ def get_commit_hash() -> Optional[str]:
|
||||
Returns:
|
||||
Optional[str]: The commit hash.
|
||||
"""
|
||||
commit_hash = os.getenv("GIT_COMMIT", "unknown")
|
||||
if commit_hash == "unknown":
|
||||
# Read commit has from build.txt
|
||||
# commit is written as GIT_COMMIT=<hash> in build.txt
|
||||
build_file = Path("build.txt")
|
||||
if not build_file.exists():
|
||||
return None
|
||||
return commit_hash
|
||||
with build_file.open(encoding="utf-8") as f:
|
||||
for line in f:
|
||||
if line.startswith("GIT_COMMIT="):
|
||||
return line.split("=")[1].strip()
|
||||
return None
|
||||
|
||||
|
||||
def get_build_date() -> Optional[datetime]:
|
||||
@@ -298,10 +304,16 @@ def get_build_date() -> Optional[datetime]:
|
||||
Returns:
|
||||
Optional[datetime.datetime]: The build date.
|
||||
"""
|
||||
build_date = os.getenv("BUILD_DATE", "unknown")
|
||||
if build_date == "unknown":
|
||||
# Read build date has from build.txt
|
||||
# build date is written as BUILD_DATE=<hash> in build.txt
|
||||
build_file = Path("build.txt")
|
||||
if not build_file.exists():
|
||||
return None
|
||||
return datetime.fromisoformat(build_date)
|
||||
with build_file.open(encoding="utf-8") as f:
|
||||
for line in f:
|
||||
if line.startswith("BUILD_DATE="):
|
||||
return datetime.fromisoformat(line.split("=")[1].strip())
|
||||
return None
|
||||
|
||||
|
||||
def can_write_to_data_dir() -> bool:
|
||||
|
||||
Reference in New Issue
Block a user