mirror of https://github.com/grafana/grafana
Chore: Remove feature toggles github action (#85714)
* remove the feature toggle cleanup github action * removing codeowners entries that are unnecessarypull/86422/head
parent
acd3e83c1c
commit
70eefea434
@ -1,28 +0,0 @@ |
||||
name: Feature Toggle Cleanup |
||||
|
||||
on: |
||||
workflow_dispatch: |
||||
schedule: |
||||
# * is a special character in YAML so you have to quote this string |
||||
- cron: '30 10 * * *' |
||||
jobs: |
||||
feature-toggle-cleanup: |
||||
runs-on: ubuntu-latest |
||||
# This check is here to prevent this workflow from running on forks. |
||||
if: github.repository == 'grafana/grafana' |
||||
steps: |
||||
- name: Check out the code |
||||
uses: actions/checkout@v4 |
||||
- uses: actions/setup-node@v4 |
||||
with: |
||||
node-version: "20.x" |
||||
- run: npm install csv-parse |
||||
- name: Parse CVS file to see which Feature Toggles should be notified about |
||||
id: parse-csv-file |
||||
uses: actions/github-script@v7 |
||||
env: |
||||
FEATURE_TOGGLES_CSV_FILE_PATH: "pkg/services/featuremgmt/toggles_gen.csv" |
||||
with: |
||||
script: | |
||||
const { default: cleanupFeatureFlags } = await import('${{ github.workspace }}/.github/workflows/scripts/feature-toggle-cleanup/feature-toggle-cleanup.mjs') |
||||
await cleanupFeatureFlags({github, context, core}) |
@ -1,38 +0,0 @@ |
||||
import { parse } from 'csv-parse/sync'; |
||||
import fs from 'fs'; |
||||
|
||||
/*** |
||||
* Feauture Flag Structure example |
||||
* Name: 'disableEnvelopeEncryption', |
||||
Stage: 'GA', |
||||
Owner: '@grafana/grafana-as-code', |
||||
Created: '2022-05-24', |
||||
requiresDevMode: 'false', |
||||
RequiresLicense: 'false', |
||||
RequiresRestart: 'false', |
||||
FrontendOnly: 'false' |
||||
*
|
||||
*/ |
||||
|
||||
|
||||
export default function cleanupFeatureFlags() { |
||||
const today = new Date(); |
||||
const sixMonthAgo = today.setMonth(today.getMonth() - 6); |
||||
const inputFileContents = fs.readFileSync(process.env.FEATURE_TOGGLES_CSV_FILE_PATH); |
||||
const parsedFeatureFlags = parse(inputFileContents, { |
||||
columns: true, |
||||
skip_empty_lines: true, |
||||
cast: true, |
||||
cast_date: true, |
||||
}); |
||||
|
||||
// Here we can have the custom logic of how to handle what type of feature flag - e.g. GA can be treated differently than experimental and so on.
|
||||
for (const flag of parsedFeatureFlags) { |
||||
if (flag.Created < sixMonthAgo) { |
||||
console.log(`The flag ${flag.Name} was created more than 6 months ago. It should be checked.`); |
||||
console.log(flag); |
||||
} |
||||
} |
||||
|
||||
|
||||
} |
Loading…
Reference in new issue