Commit 9ea502ce authored by Raimar Bühmann's avatar Raimar Bühmann Committed by Adrian DC
Browse files

feat(runner): add 'CI_COMMIT_TIMESTAMP' revision timestamp

parent 790f4e54
Loading
Loading
Loading
Loading
Loading
+1 −0
Changes for README.md: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -279,6 +279,7 @@ The following variables are also defined by `gcil`:
  and with everything except 0-9 and a-z replaced with -. No leading / trailing - (GitLab CI)
- `CI_COMMIT_SHA`: The commit revision for which project is built (GitLab CI)
- `CI_COMMIT_SHORT_SHA`: The first eight characters of CI_COMMIT_SHA (GitLab CI)
- `CI_COMMIT_TIMESTAMP`: The commit timestamp for which project is built (GitLab CI)
- `CI_PROJECT_NAME`: The name of the directory for the project (GitLab CI)
- `CI_PROJECT_NAMESPACE`: The project namespace (username or group name) of the job (GitLab CI)
- `CI_LOCAL_USER_HOST_GID`: The host user's group ID value
+6 −0
Changes for src/jobs/runner.py: 6 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -830,6 +830,11 @@ class Runner:
        else:
            environ[Bundle.ENV_COMMIT_SHORT_SHA1] = git.head_revision_short_hash(
                path_project)
        if Bundle.ENV_COMMIT_TIMESTAMP in variables:
            environ[Bundle.ENV_COMMIT_TIMESTAMP] = variables[Bundle.ENV_COMMIT_TIMESTAMP]
        else:
            environ[Bundle.ENV_COMMIT_TIMESTAMP] = git.head_revision_timestamp(
                path_project)
        if Bundle.ENV_DEFAULT_BRANCH in variables:
            environ[Bundle.ENV_DEFAULT_BRANCH] = variables[Bundle.ENV_DEFAULT_BRANCH]
        else:
@@ -868,6 +873,7 @@ class Runner:
                Bundle.ENV_COMMIT_REF_SLUG,
                Bundle.ENV_COMMIT_SHA,
                Bundle.ENV_COMMIT_SHORT_SHA1,
                Bundle.ENV_COMMIT_TIMESTAMP,
                Bundle.ENV_DEFAULT_BRANCH,
                Bundle.ENV_LOCAL,
                Bundle.ENV_PROJECT_NAME,
+1 −0
Changes for src/package/bundle.py: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ class Bundle:
    ENV_COMMIT_REF_NAME: str = 'CI_COMMIT_REF_NAME'
    ENV_COMMIT_REF_SLUG: str = 'CI_COMMIT_REF_SLUG'
    ENV_COMMIT_SHORT_SHA1: str = 'CI_COMMIT_SHORT_SHA'
    ENV_COMMIT_TIMESTAMP: str = 'CI_COMMIT_TIMESTAMP'
    ENV_DEBUG_UPDATES_DAILY: str = 'DEBUG_UPDATES_DAILY'
    ENV_DEBUG_UPDATES_DISABLE: str = 'DEBUG_UPDATES_DISABLE'
    ENV_DEBUG_UPDATES_FAKE: str = 'DEBUG_UPDATES_FAKE'
+17 −0
Changes for src/system/git.py: 17 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -117,3 +117,20 @@ class Git:
            ).strip().decode()
        except (CalledProcessError, FileNotFoundError):
            return ''

    # HEAD revision timestamp
    def head_revision_timestamp(
        self,
        workdir: Optional[str] = None,
    ) -> str:

        # Result
        try:
            return check_output(
                [self.__binary, 'show', '-s', '--format=%cI', 'HEAD'],
                cwd=workdir,
                shell=False,
                stderr=DEVNULL,
            ).strip().decode()
        except (CalledProcessError, FileNotFoundError):
            return ''
+2 −0
Changes for tests/ci/.gitlab-ci.git.yml: 2 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -17,9 +17,11 @@ variables:
    - echo "CI_COMMIT_REF_SLUG=${CI_COMMIT_REF_SLUG}"
    - echo "CI_COMMIT_SHA=${CI_COMMIT_SHA}"
    - echo "CI_COMMIT_SHORT_SHA=${CI_COMMIT_SHORT_SHA}"
    - echo "CI_COMMIT_TIMESTAMP=${CI_COMMIT_TIMESTAMP}"
    - echo "CI_DEFAULT_BRANCH=${CI_DEFAULT_BRANCH}"
    - test -z "${CI_COMMIT_REF_NAME}" && exit 1 || true
    - test -z "${CI_COMMIT_REF_SLUG}" && exit 1 || true
    - test -z "${CI_COMMIT_SHA}" && exit 1 || true
    - test -z "${CI_COMMIT_SHORT_SHA}" && exit 1 || true
    - test -z "${CI_COMMIT_TIMESTAMP}" && exit 1 || true
    - test -z "${CI_DEFAULT_BRANCH}" && exit 1 || true
Loading