Skip to content

Commit

Permalink
ci: add a workflow to validate syntax
Browse files Browse the repository at this point in the history
  • Loading branch information
fharper committed Nov 15, 2023
1 parent 605007c commit 853a100
Show file tree
Hide file tree
Showing 9 changed files with 277 additions and 2 deletions.
26 changes: 26 additions & 0 deletions .github/workflows/check-syntax.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
name: Syntax Validation
on: [push, workflow_dispatch]

jobs:
syntax-check:
name: vale
runs-on: ubuntu-latest
steps:
- name: Checkout this repository
uses: actions/[email protected]

- name: Get latest version of Vale
id: lastversion
uses: dvershinin/[email protected]
with:
repository: errata-ai/vale

- name: Install Vale
run: |
wget https://github.com/errata-ai/vale/releases/download/v${{ steps.lastversion.outputs.last_version }}/vale_${{ steps.lastversion.outputs.last_version }}_Linux_64-bit.tar.gz -O vale.tar.gz
tar -xvzf vale.tar.gz vale
rm vale.tar.gz
- name: Validate the syntax
run: ./vale --config=.vale.ini *.md
13 changes: 13 additions & 0 deletions .vale.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
StylesPath = styles
Vocab = base

[formats]
mdx = md

[*.md]
BasedOnStyles = Custom
Packages = alex
IgnoredScopes = code
BlockIgnores = (?s) *(import.*?\n), \
(?s) *(### gitops\n)
TokenIgnores = (?s) *(export.*?\n)
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ To make a new application available for installation, you'll need to:
- **website**: application website or GitHub repository.
- **imageUrl**: full web URL for the application's logo. It will be displayed in the GitOps catalog. _For now, it needs to be located on a third-party server, but we'll update this field to grab them from the GitHub repository soon, so it doesn't depend on external URL._
- **description**: an insightful description about your application. It will be displayed in the GitOps Catalog (200 characters maximum).
- **categories**: one category amongts the following ones:
- **categories**: one category amongst the following ones:
- App management
- Architecture
- CI/CD
Expand All @@ -33,7 +33,7 @@ To make a new application available for installation, you'll need to:
- Storage
- Testing
- Create a new directory with your new application's name in your fork.
- Add, and organize your Argo CD gitops file(s) into it, if any.
- Add, and organize your Argo CD GitOps file(s) into it, if any.
- Create a pull request with the changes from your branch to our main branch.

### Acceptance Criteria
Expand Down
Binary file added styles/.DS_Store
Binary file not shown.
79 changes: 79 additions & 0 deletions styles/Custom/ignore.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# A
argo
argocd
atlantis
aws

# B

# C
chartmuseum
civo
cli
config
cronjob

# D
displayName

# E
ecr
eks

# F

# G
gcp
github
gitlab
gitops

# H
https

# I
iam
imageUrl

# J

# K
kubeconfig
kubefirst
kubernetes

# L

# M

# N

# O
oidc

# P

# Q

# R
repo

# S

# T
terraform

# U
ui
url

# V
vpc

# W

# X

# Y

# Z
6 changes: 6 additions & 0 deletions styles/Custom/spelling.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
extends: spelling
message: "Did you really mean '%s'?"
level: error
ignore:
- styles/Custom/ignore.txt
56 changes: 56 additions & 0 deletions styles/Custom/substitutions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
extends: substitution
message: Consider using '%s' instead of '%s'
ignorecase: false
level: error
swap:
# Starting or with a space before, and ending with a dot or space (so not working used in a path, caused of MDX)
'(?<=^| )argo [C|c][D|d](?=$| |\.)': Argo CD
# Starting or with a space before, and ending with a dot or space (so not working used in a path, caused of MDX)
'(?<=^| )Argo [C|c][D|d](?=$| |\.)': Argo CD
# Starting or with a space before, and ending with a dot or space (so not working used in a path, caused of MDX)
'(?<=^| )[A|a]rgo[C|c][D|d](?=$| |\.)': Argo CD
'argo [W|w]orkflows?': Argo Workflows
'Argo [W|w]orkflows?': Argo Workflows
atlantis: Atlantis
chartmuseum: ChartMuseum
cli: CLI
# Starting or with a space before, and ending with a dot or space (so not working used in a path, caused of MDX)
'(?<=^| )civo(?=$| |\.)': Civo
# Starting or with a space before, and ending with a dot or space (so not working used in a path, caused of MDX)
'(?<=^| )CIVO(?=$| |\.)': Civo
# Starting or with a space before, and ending with a dot or space (so not working used in a path, caused of MDX)
'(?<=^| )configs?(?=$| |\.)': configurations
cronjob: CronJob
ecr: ECR
eks: EKS
'digital[o|O]cean': DigitalOcean
'[d|D]igitalocean': DigitalOcean
docker: Docker
gcp: Google Cloud
gcp cloud: Google Cloud
# Starting or with a space before, and ending with a dot or space (so not working used in a path, caused of MDX)
'[G|g]ithub': GitHub
# Starting or with a space before, and ending with a dot or space (so not working used in a path, caused of MDX)
'git[H|h]ub': GitHub
# Starting or with a space before, and ending with a dot or space (so not working used in a path, caused of MDX)
'(?<=^| )[G|g]itlab(?=$| |\.)': GitLab
# Starting or with a space before, and ending with a dot or space (so not working used in a path, caused of MDX)
'(?<=^| )git[L|l]ab(?=$| |\.)': GitLab
# Starting or with a space before, and ending with a dot or space (so not working used in a path, caused of MDX)
'(?<=^| )gitops(?=$| |\.)': GitOps for the term or put gitops as inline code for the repository
google: Google
helm: Helm
https: HTTPS
iam: IAM
kubernetes: Kubernetes
mongo: MongoDB
oidc: OIDC
repo: repository
SSH: SSH
# Starting or with a space before, and ending with a dot or space (so not working used in a path, caused of MDX)
'(?<=^| )terraform(?=$| |\.)': Terraform
ui: UI
url: URL
vpc: VPC
vultr: Vultr
Binary file added styles/Vocab/.DS_Store
Binary file not shown.
95 changes: 95 additions & 0 deletions styles/Vocab/base/accept.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# A
admunition
anonymize
auditable
automation

# B

# C
CLI'
ClusterIssuer
containerd
CPU
CWFT

# D
Datadog
deprovision
Dietz
Dockerfile
Docusaurus

# E

# F

# G

# H
hotfix

# I
interoperate

# J

# K
kbot
KMS
kubectl
Kubeshop

# L

# M
markdownlint
mkcert
multinode

# N
namespace
nerdctl
npm
ngrok
Nginx

# O
onboarding

# P
preconfigure

# Q

# R
Reloader
routable

# S
statestore
subnet

# T
teardown
todo
toolset
Traefik
truststore
Typesense

# U
uncomment

# V
vale
Vultr

# W
walkthrough

# X

# Y

# Z

0 comments on commit 853a100

Please sign in to comment.