build: Check CI envvars before rev-parse
The CI pipeline does not do a full clone, so we cannot use `git rev-parse` to get the short SHA checksum for the current commit. Of course, since nothing's ever easy, we cannot use vcs_tag() with a custom command, so we need to generate our out `demo_conf.h` header straight from a script.
This commit is contained in:
21
build-aux/meson/gen-demo-header.py
Executable file
21
build-aux/meson/gen-demo-header.py
Executable file
@@ -0,0 +1,21 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
profile = sys.argv[1]
|
||||
|
||||
sys.stdout.write("/* This file is auto-generated. Do not edit. */\n")
|
||||
sys.stdout.write("#pragma once\n")
|
||||
sys.stdout.write("\n")
|
||||
sys.stdout.write(f"#define PROFILE \"{profile}\"\n")
|
||||
|
||||
short_sha = os.environ.get('CI_COMMIT_SHORT_SHA')
|
||||
if short_sha is not None:
|
||||
sys.stdout.write(f"#define VCS_TAG \"{short_sha}\"\n")
|
||||
else:
|
||||
cmd = ["git", "rev-parse", "--short", "HEAD"]
|
||||
with subprocess.Popen(cmd, stdout=subprocess.PIPE) as p:
|
||||
short_sha = p.stdout.read().decode('utf-8').rstrip("\n")
|
||||
sys.stdout.write(f"#define VCS_TAG \"{short_sha}\"\n")
|
||||
Reference in New Issue
Block a user