Skip to content

Weekly Release Issue #10

Weekly Release Issue

Weekly Release Issue #10

name: Weekly Release Issue
on:
schedule:
# Runs every Monday at 4:00 AM UTC (7:00 AM Moscow time, UTC+3)
- cron: '0 4 * * 1'
workflow_dispatch: # Allows manual triggering for testing
permissions:
issues: write
contents: read
jobs:
create-release-issue:
runs-on: ubuntu-latest
if: github.repository == 'ydb-platform/ydb-embedded-ui'
steps:
- name: Create weekly release issue
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const title = 'Release a new version of ydb-embedded-ui';
const body = `## Release Checklist
- [ ] **Launch a new version release of ydb-embedded-ui on GitHub:**
- The release is built by the ydb-platform-bot
- Find its pull request
- Review the release notes (make changes in the same branch if necessary)
- Approve and merge the PR
- After merging, the new library version will be automatically published to npm
- [ ] **Update yandex ydb-embedded-ui**
- [ ] **Update embedded UI in YDB**
- Run [action](https://github.com/ydb-platform/ydb/actions/workflows/embedded_ui_refresh.yaml) to update embedded UI in YDB
- Merge created PR
`;
// Check if an open issue with this title already exists
const existingIssues = await github.rest.issues.listForRepo({
owner: context.repo.owner,
repo: context.repo.repo,
state: 'open',
labels: 'area/duty',
per_page: 100
});
const duplicateIssue = existingIssues.data.find(issue => issue.title === title);
if (duplicateIssue) {
console.log(`Issue already exists: #${duplicateIssue.number}`);
console.log(`Skipping creation to avoid duplicates`);
return;
}
// Create the issue
const issue = await github.rest.issues.create({
owner: context.repo.owner,
repo: context.repo.repo,
title: title,
body: body,
labels: ['area/duty', 'size/m']
});
console.log(`Created issue #${issue.data.number}`);
console.log(`Issue URL: ${issue.data.html_url}`);
console.log(`Please manually add the issue to project #24 if needed`);