python-tuf/.github/workflows/specification-version.yml
dependabot[bot] de8f97f283
build(deps): bump actions/github-script from 6.1.1 to 6.2.0
Bumps [actions/github-script](https://github.com/actions/github-script) from 6.1.1 to 6.2.0.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](d50f485531...c713e510db)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-29 10:24:16 +00:00

65 lines
2.5 KiB
YAML

name: Specification version check
on:
schedule:
- cron: '0 13 * * *'
workflow_dispatch:
permissions:
contents: read
issues: write
jobs:
check-spec-version:
name: Open an issue when spec version bumps
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- uses: actions/setup-python@b55428b1882923874294fa556849718a1d7f2ca5
- 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@c713e510dbd7d213d92d41b7a7805a986f4c5c66
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 (" + spec_version + ") version does not matches with python-tuf supported (" +
supported_version + ") version."
)
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:" + repo,
})
if (issues.data.total_count > 0) {
console.log("Issue is already open, not creating.")
} else {
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."
})
console.log("New issue created.")
}
} else {
console.log(
"Specification (" + spec_version + ") version matches with python-tuf supported (" +
supported_version + ") version."
)
}