mirror of
https://github.com/nextcloud/all-in-one.git
synced 2026-02-04 04:56:52 +00:00
Bumps [actions/github-script](https://github.com/actions/github-script) from 6.4.1 to 8.0.0.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](d7906e4ad0...ed597411d8)
---
updated-dependencies:
- dependency-name: actions/github-script
dependency-version: 8.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
50 lines
1.6 KiB
YAML
50 lines
1.6 KiB
YAML
name: Block if prerelease is present
|
|
|
|
on:
|
|
pull_request:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
check-latest-release:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: "Check latest published release isn't a prerelease"
|
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v6
|
|
with:
|
|
script: |
|
|
const tags = await github.rest.repos.listTags({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
per_page: 1
|
|
});
|
|
|
|
if (!tags.data || tags.data.length === 0) {
|
|
core.info('No tags found for this repository; skipping prerelease check.');
|
|
return;
|
|
}
|
|
|
|
const latestTag = tags.data[0].name;
|
|
core.info(`Latest tag found: ${latestTag}`);
|
|
|
|
try {
|
|
const { data } = await github.rest.repos.getReleaseByTag({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
tag: latestTag
|
|
});
|
|
|
|
if (data.prerelease) {
|
|
core.setFailed(`Release for tag ${latestTag} (${data.tag_name}) is a prerelease. Blocking merges to main as we need to wait for the prerelease to become stable.`);
|
|
} else {
|
|
core.info(`Release for tag ${latestTag} (${data.tag_name}) is not a prerelease.`);
|
|
}
|
|
|
|
} catch (err) {
|
|
if (err.status === 404) {
|
|
core.info(`No release found for tag ${latestTag}; skipping prerelease check.`);
|
|
} else {
|
|
throw err;
|
|
}
|
|
}
|