Select Git revision
gitlab-ci.ts
-
BENOIT MICHAUD authoredBENOIT MICHAUD authored
gitlab-ci.ts 16.02 KiB
import toml from "@ltd/j-toml"
import assert from "assert"
import { $, fetch, fs } from "zx"
interface Package {
name: string
version: string
}
interface PyProject {
tool: {
poetry: {
dependencies: { [name: string]: string | PyProjectDependencyObject }
extras: { [name: string]: string[] }
name: string
version: string
}
}
}
interface PyProjectDependencyObject {
branch?: string
git?: string
optional?: boolean
version?: string
}
export interface VersionObject {
major: number
minor: number
patch: number
}
const {
CI_COMMIT_BRANCH,
CI_COMMIT_TAG,
CI_COMMIT_TITLE,
CI_DEFAULT_BRANCH,
CI_JOB_TOKEN,
CI_PIPELINE_SOURCE,
CI_PROJECT_NAME,
CI_PROJECT_NAMESPACE,
CI_SERVER_HOST,
CI_SERVER_URL,
SSH_KNOWN_HOSTS,
SSH_PRIVATE_KEY,
} = process.env
const dependenciesName = [
"openfisca-france-reforms",
// "openfisca-france-with-indirect-taxation",
]
const packagePath = "package.json"
const poetryLockPath = "poetry.lock"
const pyProjectTomlPath = "pyproject.toml"
function checkVersionObject(
{
major: majorReference,
minor: minorReference,
patch: patchReference,
}: VersionObject,
versionObject: VersionObject | undefined,
): boolean {
if (versionObject === undefined) {
return true
}
const { major, minor, patch } = versionObject
if (major < majorReference) {
return true
}