chore: Update create-theme workflow to write styles and readme to separate files

This commit is contained in:
Mauro Balades 2024-08-15 21:51:25 +02:00
parent f7711c3b57
commit 9f5c6ebd05
2 changed files with 36 additions and 8 deletions

View file

@ -31,15 +31,19 @@ jobs:
echo "THEME_NAME=${{ fromJson(steps.issue-parser.outputs.jsonString)['name'] }}" >> $GITHUB_ENV
echo "THEME_DESCRIPTION=${{ fromJson(steps.issue-parser.outputs.jsonString)['description'] }}" >> $GITHUB_ENV
echo "THEME_HOMEPAGE=${{ fromJson(steps.issue-parser.outputs.jsonString)['homepage'] }}" >> $GITHUB_ENV
echo "THEME_AUTHOR=${{ github.event.issue.user.login }}" >> $GITHUB_ENV
echo "Ouputing styles and readme"
cat <<THEME_CREATE_EOT >> theme-styles.css
${{ fromJson(steps.issue-parser.outputs.jsonString)['styles'] }}
THEME_CREATE_EOT
- name: Write styles to file
uses: "DamianReeves/write-file-action@master"
with:
contents: ${{ fromJson(steps.issue-parser.outputs.jsonString)['styles'] }}
path: theme-styles.css
cat <<THEME_CREATE_EOT >> theme-readme.md
${{ fromJson(steps.issue-parser.outputs.jsonString)['readme'] }}
THEME_CREATE_EOT
- name: Write readme to file
uses: "DamianReeves/write-file-action@master"
with:
contents: ${{ fromJson(steps.issue-parser.outputs.jsonString)['readme'] }}
path: theme-readme.md
- name: Setup Git
run: |

View file

@ -3,6 +3,7 @@ import os
import argparse
import json
import uuid
import sys
STYLES_FILE = "chrome.css"
README_FILE = "readme.md"
@ -30,6 +31,26 @@ def get_readme():
content = content[:-len("```")]
return content
def validate_name(name):
if len(name) == 0:
print("Name is required.", file=sys.stderr)
exit(1)
if len(name) > 20:
print("Name must be less than 50 characters.", file=sys.stderr)
exit(1)
for char in name:
if not char.isalnum() and char != ' ':
print("Name must only contain letters, numbers, and spaces.", file=sys.stderr)
exit(1)
def validate_description(description):
if len(description) == 0:
print("Description is required.", file=sys.stderr)
exit(1)
if len(description) > 120:
print("Description must be less than 100 characters.", file=sys.stderr)
exit(1)
def main():
parser = argparse.ArgumentParser(description='Submit a theme to the theme repo.')
parser.add_argument('--name', type=str, help='The theme to submit.')
@ -43,6 +64,9 @@ def main():
homepage = args.homepage
author = args.author
validate_name(name)
validate_description(description)
theme_id = create_theme_id()
print("""