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