47 lines
1.4 KiB
YAML
47 lines
1.4 KiB
YAML
# Copyright VMware, Inc.
|
|
# SPDX-License-Identifier: APACHE-2.0
|
|
|
|
name: '[Support] Delete Solved cards'
|
|
on:
|
|
workflow_dispatch:
|
|
schedule:
|
|
# Every 2 hours
|
|
- cron: '15 0/2 * * *'
|
|
# Remove all permissions by default
|
|
permissions: {}
|
|
jobs:
|
|
delete-cards:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
repository-projects: write
|
|
contents: read
|
|
steps:
|
|
- name: Repo checkout
|
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
|
|
with:
|
|
fetch-depth: 1
|
|
- name: Load .env file
|
|
uses: xom9ikk/dotenv@de1ff27d319507880e6621e4d47424c677d95f68
|
|
with:
|
|
path: .github/workflows/
|
|
- uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea
|
|
with:
|
|
script: |
|
|
const {SOLVED_COLUMN_ID} = process.env
|
|
const {data: cards} = await github.rest.projects.listCards({
|
|
column_id: `${SOLVED_COLUMN_ID}`,
|
|
archived_state: 'all',
|
|
per_page: 100
|
|
});
|
|
// Remove cards without updates in last week.
|
|
const comparedDate = new Date();
|
|
comparedDate.setDate(comparedDate.getDate() - 7);
|
|
cards.forEach(card => {
|
|
const lastUpdate = new Date(card.updated_at);
|
|
if (card.archived || lastUpdate < comparedDate ) {
|
|
github.rest.projects.deleteCard({
|
|
card_id: card.id
|
|
});
|
|
}
|
|
});
|