Skip to content

build(deps): bump alpine from 3.23.4 to 3.24.1 in /Containers/imaginary #1168

build(deps): bump alpine from 3.23.4 to 3.24.1 in /Containers/imaginary

build(deps): bump alpine from 3.23.4 to 3.24.1 in /Containers/imaginary #1168

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@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v6
with:
script: |
// listReleases returns releases sorted by created_at descending,
// so the first entry (skipping drafts) is the most recent release.
// Note: we can't use getLatestRelease here because it deliberately
// skips prereleases, which is exactly what we need to detect.
const releases = await github.rest.repos.listReleases({
owner: context.repo.owner,
repo: context.repo.repo,
per_page: 100
});
const latestRelease = (releases.data || []).find(release => !release.draft);
if (!latestRelease) {
core.info('No published releases found for this repository; skipping prerelease check.');
return;
}
core.info(`Most recent release found: ${latestRelease.tag_name}`);
if (latestRelease.prerelease) {
core.setFailed(`Release for tag ${latestRelease.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 ${latestRelease.tag_name} is not a prerelease.`);
}