mirror of
https://github.com/theupdateframework/python-tuf
synced 2026-05-24 10:08:28 +00:00
This commit adds to the CI an automatic check for the TUF specification version and compares it with the python-tuf metadata API version. If the version does not match and there is not a issue already open, a new issue is opened. Closes #1598 Signed-off-by: Kairo de Araujo <kdearaujo@vmware.com>
55 lines
2.1 KiB
YAML
55 lines
2.1 KiB
YAML
name: Specification version check
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '0 13 * * *'
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
check-spec-version:
|
|
name: Open an issue when spec version bumps
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-python@v2
|
|
- name: Get supported version
|
|
id: get-version
|
|
run: |
|
|
python3 -m pip install -e .
|
|
script="from tuf.api.metadata import SPECIFICATION_VERSION; \
|
|
print(f\"v{'.'.join(SPECIFICATION_VERSION)}\")"
|
|
ver=$(python3 -c "$script")
|
|
echo "::set-output name=version::$ver"
|
|
- name: Open issue (if needed)
|
|
uses: actions/github-script@v5
|
|
with:
|
|
script: |
|
|
const release = await github.rest.repos.getLatestRelease({
|
|
owner: "theupdateframework",
|
|
repo: "specification"
|
|
});
|
|
const spec_version = release.data.tag_name
|
|
const supported_version = "${{ steps.get-version.outputs.version }}"
|
|
if (spec_version != supported_version) {
|
|
console.log("Specification version does not match...")
|
|
const repo = context.repo.owner + "/" + context.repo.repo
|
|
const issues = await github.rest.search.issuesAndPullRequests({
|
|
q: "specification+has+new+version+in:title+state:open+type:issue:" + repo,
|
|
})
|
|
if (issues.data.total_count > 0) {
|
|
console.log("Issue is already open, not creating.")
|
|
} else {
|
|
console.log("Creating a new issue...")
|
|
await github.rest.issues.create({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
title: "specification has new version",
|
|
body: "It seems specification " +
|
|
"(https://github.com/theupdateframework/specification/blob/master/tuf-spec.md) " +
|
|
"has new version. \n" +
|
|
"Please review the version."
|
|
})
|
|
}
|
|
} else {
|
|
console.log("Spec version and supported version match")
|
|
}
|