Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
name: Bug report
about: Create a report to help us improve
title: "[BUG]"
labels: bug
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Environment (please complete the following information):**
- Node Version: [e.g. 22.1.0]
- NPM Version [e.g. 10.8.2]

**Additional context**
Add any other context about the problem here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: "[FEAT]"
labels: enhancement
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
14 changes: 14 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
**Prerequisites**
- [ ] I have added tests to cover my change
- [ ] If applicable, I've documented changes in the README
- [ ] I've read the [Contributing Guidelines](../CONTRIBUTING.md)

**What is the purpose of this pull request?**
- [ ] New rule
- [ ] Bug fix
- [ ] Documentation update
- [ ] Changing an existing rule
- [ ] Add something to the core of Gherklin
- [ ] Other (please explain)

**Please give an overview of your changes**
6 changes: 6 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
Binary file added .github/gherkie.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
97 changes: 97 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

permissions:
contents: read

jobs:
define-matrix:
runs-on: ubuntu-latest

outputs:
nodeVersions: ${{ steps.nodeVersions.outputs.nodeVersions }}
osVersions: ${{ steps.osVersions.outputs.osVersions }}

steps:
- name: Define Node Versions
id: nodeVersions
run: |
echo 'nodeVersions=["22.x", "24.x"]' >> "$GITHUB_OUTPUT"
- name: Define OS Versions
id: osVersions
run: |
echo 'osVersions=["ubuntu-latest", "windows-latest"]' >> "$GITHUB_OUTPUT"

lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use Node.js 22.x
uses: actions/setup-node@v4
with:
node-version: 22.x
cache: 'npm'
- name: Install Dependencies
run: npm ci
- name: Run TypeScript Linting
run: npm run eslint

unit-tests:
needs: define-matrix
strategy:
matrix:
node-version: ${{ fromJSON(needs.define-matrix.outputs.nodeVersions) }}
os: ${{ fromJSON(needs.define-matrix.outputs.osVersions) }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- name: Install Dependencies
run: npm ci
- name: Run Unit Tests
run: npm test

acceptance-tests:
needs: define-matrix
strategy:
matrix:
node-version: ${{ fromJSON(needs.define-matrix.outputs.nodeVersions) }}
os: ${{ fromJSON(needs.define-matrix.outputs.osVersions) }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- name: Install Dependencies
run: npm ci
- name: Run Acceptance Tests
run: npm run acceptance

gherklin:
needs: define-matrix
strategy:
matrix:
node-version: ${{ fromJSON(needs.define-matrix.outputs.nodeVersions) }}
os: ${{ fromJSON(needs.define-matrix.outputs.osVersions) }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- name: Install Dependencies
run: npm ci
- name: Run Gherklin
run: npm run gherklin
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ package-lock.json
cucumber-report.html
tests/acceptance/tmp
.idea
.github
# .github
examples/*
.DS_Store
Loading