Skip to content

Commit 53e801a

Browse files
committed
Merge branch 'release/1.0.0-alpha.0'
2 parents 375b4c4 + 3544a1f commit 53e801a

File tree

17 files changed

+854
-0
lines changed

17 files changed

+854
-0
lines changed

.github/FUNDING.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# These are supported funding model platforms
2+
3+
github: nekofar
4+
custom: https://ud.me/nekofar.crypto

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Bug report
2+
description: Create a report to help us improve
3+
4+
labels:
5+
- bug
6+
assignees:
7+
- nekofar
8+
9+
body:
10+
- type: textarea
11+
attributes:
12+
label: Describe the bug
13+
description: A clear and concise description of what the bug is.
14+
placeholder: Describe the bug here.
15+
16+
- type: textarea
17+
attributes:
18+
label: Steps to reproduce the behavior
19+
description: List the steps to reproduce the behavior, including any necessary environment details.
20+
placeholder: List the steps to reproduce here.
21+
22+
- type: textarea
23+
attributes:
24+
label: Expected behavior
25+
description: A clear and concise description of what you expected to happen.
26+
placeholder: Describe the expected behavior here.
27+
28+
- type: textarea
29+
attributes:
30+
label: Screenshots
31+
description: If applicable, add screenshots to help explain the problem.
32+
placeholder: Add any relevant screenshots here.
33+
34+
- type: textarea
35+
attributes:
36+
label: Additional context
37+
description: Add any other context about the problem here.
38+
placeholder: Add any additional context here.

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
blank_issues_enabled: false
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Feature request
2+
description: Suggest an idea for this project
3+
4+
labels:
5+
- enhancement
6+
assignees:
7+
- nekofar
8+
9+
body:
10+
- type: textarea
11+
attributes:
12+
label: Is your feature request related to a problem? Please describe.
13+
description: A clear and concise description of what the problem is. Ex. I'm always frustrated when ...
14+
placeholder: Describe the problem here.
15+
16+
- type: textarea
17+
attributes:
18+
label: Describe the solution you'd like
19+
description: A clear and concise description of what you want to happen.
20+
placeholder: Describe the solution you'd like here.
21+
22+
- type: textarea
23+
attributes:
24+
label: Describe alternatives you've considered
25+
description: A clear and concise description of any alternative solutions or features you've considered.
26+
placeholder: Describe alternatives here.
27+
28+
- type: textarea
29+
attributes:
30+
label: Additional context
31+
description: Add any other context or screenshots about the feature request here.
32+
placeholder: Add any additional context or screenshots here.

.github/dependabot.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
version: 2
2+
updates:
3+
# Maintain dependencies for GitHub Actions
4+
- package-ecosystem: 'github-actions'
5+
# Files stored in repository root
6+
directory: '/'
7+
# Check for updates every weekday
8+
schedule:
9+
interval: 'daily'
10+
# Add assignees
11+
assignees:
12+
- 'nekofar'
13+
# Include a list of updated dependencies
14+
commit-message:
15+
prefix: 'ci'
16+
include: 'scope'
17+
# Specify labels for pull requests
18+
labels:
19+
- 'dependencies'
20+
# Allow up to 20 open pull requests for dependencies
21+
open-pull-requests-limit: 20
22+
# Add reviewers
23+
reviewers:
24+
- 'nekofar'
25+
# Raise pull requests against the `develop` branch
26+
target-branch: 'develop'
27+
28+
# Maintain dependencies for PNPM
29+
- package-ecosystem: 'npm'
30+
# Files stored in repository root
31+
directory: '/'
32+
# Check for updates every weekday
33+
schedule:
34+
interval: 'daily'
35+
# Add assignees
36+
assignees:
37+
- 'nekofar'
38+
# Include a list of updated dependencies
39+
commit-message:
40+
prefix: 'chore'
41+
include: 'scope'
42+
# Specify labels for pull requests
43+
labels:
44+
- 'dependencies'
45+
# Allow up to 10 open pull requests for dependencies
46+
open-pull-requests-limit: 20
47+
# Add reviewers
48+
reviewers:
49+
- 'nekofar'
50+
# Raise pull requests against the `develop` branch
51+
target-branch: 'develop'

.github/stale.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Number of days of inactivity before an issue becomes stale
2+
daysUntilStale: 60
3+
# Number of days of inactivity before a stale issue is closed
4+
daysUntilClose: 7
5+
# Issues with these labels will never be considered stale
6+
exemptLabels:
7+
- pinned
8+
- security
9+
# Label to use when marking an issue as stale
10+
staleLabel: wontfix
11+
# Comment to post when marking an issue as stale. Set to `false` to disable
12+
markComment: >
13+
This issue has been automatically marked as stale because it has not had
14+
recent activity. It will be closed if no further activity occurs. Thank you
15+
for your contributions.
16+
# Comment to post when closing a stale issue. Set to `false` to disable
17+
closeComment: false

.github/workflows/build.yml

Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
name: Build Pipeline # A Build Pipeline which will use for build, test and deploy.
2+
3+
on:
4+
push: # When we push the changes.
5+
branches: # Only for these branches.
6+
- master
7+
- bugfix/*
8+
- hotfix/*
9+
- release/*
10+
paths-ignore: # Ignoring the markdown file changes.
11+
- '**/*.md'
12+
pull_request: # Also on pull request events.
13+
workflow_dispatch: # Allows you to run this workflow manually from the Actions tab.
14+
15+
jobs:
16+
check:
17+
name: State Verifier
18+
runs-on: ubuntu-latest
19+
outputs:
20+
skip_ci: ${{ steps.check_initial_commit.outputs.skip_ci }}
21+
steps:
22+
# The first step is to check out the repository code
23+
- name: Checking out repository code
24+
uses: actions/checkout@v4.1.1 # Action for checking out a repo.
25+
with:
26+
fetch-depth: 0 # Fetches all history for all branches and tags
27+
28+
# The second step checks whether the commit is the initial commit
29+
- name: Check Initial Commit
30+
id: check_initial_commit
31+
run: |
32+
# Use a git command to count the number of revisions
33+
# If the count is 1, then this is the initial commit
34+
if [ "$(git rev-list --count HEAD)" -eq 1 ]; then
35+
echo "This is the initial commit."
36+
# Set the environment variable "skip_ci" to true, signifying CI should not run for the initial commit
37+
echo "skip_ci=true" >> $GITHUB_OUTPUT
38+
else
39+
# If the count is not 1, this is not the initial commit
40+
# Set the environment variable "skip_ci" to false, signifying CI should run
41+
echo "skip_ci=false" >> $GITHUB_OUTPUT
42+
fi
43+
44+
build: # Job named 'build'
45+
name: Build & Test
46+
if: needs.check.outputs.skip_ci != 'true'
47+
runs-on: ubuntu-latest # The type of machine to run the job on.
48+
49+
needs: [check]
50+
51+
strategy: # Allows you to create a matrix for job configuration.
52+
matrix:
53+
node-version: [18.x, 19.x, 20.x] # Running tests across different environments.
54+
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
55+
56+
steps: # The sequence of tasks that make up a job.
57+
- name: Checking out repository code
58+
uses: actions/checkout@v4.1.1 # Action for checking out a repo.
59+
60+
- name: Setup Node.js ${{ matrix.node-version }} Environment
61+
uses: actions/setup-node@v4.0.0 # Action for setting up Node environment.
62+
with:
63+
node-version: ${{ matrix.node-version }}
64+
65+
- name: Install pnpm package manager
66+
uses: pnpm/action-setup@v2.4.0 # Action for setting up pnpm.
67+
id: pnpm-install
68+
with:
69+
version: ^8
70+
run_install: false
71+
72+
- name: Capture pnpm store directory
73+
id: pnpm-cache
74+
run: |
75+
echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT
76+
77+
- name: Cache pnpm Store
78+
uses: actions/cache@v3.3.2 # Action provides caching dependencies and build outputs to improve workflow execution time.
79+
with:
80+
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} # The path of the directory to cache.
81+
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} # An explicit key for restoring and saving the cache.
82+
restore-keys: |
83+
${{ runner.os }}-pnpm-store-
84+
85+
# Installs all dependencies specified in the project's package.json file.
86+
- name: Install dependencies using pnpm
87+
run: pnpm install
88+
89+
# This compiles the application in optimized production mode and output it to the build folder.
90+
- name: Build the application and export it
91+
run: pnpm run build
92+
93+
# Runs unit tests for the application using Jest.
94+
- name: Execute tests using Jest
95+
run: pnpm run test
96+
97+
release:
98+
name: Create Release
99+
# Specify the type of the runner the job will run on
100+
runs-on: ubuntu-latest
101+
102+
needs: [build]
103+
104+
if: ${{ github.ref_name == 'master' }}
105+
106+
# Set permissions to write contents
107+
permissions:
108+
contents: write
109+
110+
steps:
111+
# Checkout the repository code
112+
- name: Checkout code
113+
uses: actions/checkout@v4.1.1
114+
with:
115+
fetch-depth: 0 # Fetches all history for all branches and tags
116+
117+
# Generate a changelog for the new release using Git
118+
- name: Generate a changelog
119+
uses: orhun/git-cliff-action@v2.1.1
120+
id: git-cliff
121+
with:
122+
config: cliff.toml # The configuration file for git-cliff
123+
args: -vv --latest --strip all # Show verbose output, grab the latest changes, and strip unnecessary details
124+
env:
125+
OUTPUT: CHANGES.md # The output file for the changelog
126+
127+
# Prepare release notes by processing the generated changelog
128+
- name: Set the release info
129+
id: release
130+
shell: bash
131+
run: |
132+
version=$(jq -r '.version' package.json)
133+
echo "version=${version}" >> $GITHUB_OUTPUT
134+
135+
# Read contents of changelog into variable 'changelog_content'
136+
changelog=$(cat ${{ steps.git-cliff.outputs.changelog }})
137+
# Remove first two lines from 'changelog'
138+
changelog="$(printf "$changelog" | tail -n +3)"
139+
# Save the value of 'changelog' back into the GitHub environment output
140+
{
141+
echo "notes<<EOF"
142+
echo "$changelog"
143+
echo "EOF"
144+
} >> $GITHUB_OUTPUT
145+
146+
# Create a new GitHub release using the gathered information
147+
- name: Create the release
148+
uses: nekofar/create-github-release@v1.0.12
149+
with:
150+
tag: v${{ steps.release.outputs.version }} # The name of the tag to be released
151+
title: v${{ steps.release.outputs.version }} # The title for the release
152+
notes: ${{ steps.release.outputs.notes }} # The release notes generated in the previous step
153+
draft: true # The release will be created as a draft
154+
prerelease: ${{ contains(steps.release.outputs.version, '-rc') || contains(steps.release.outputs.version, '-beta') || contains(steps.release.outputs.version, '-alpha') }} # Conditions to mark the release as a pre-release
155+
156+
concurrency: # Allows controlling the concurrency level of the job in the build pipeline.
157+
group: ${{ github.workflow }}-${{ github.ref }}
158+
cancel-in-progress: true # If enabled, previous runs of this workflow for the same group-key will be cancelled while this build or run is in progress.

.gitignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Dependency directories
2+
node_modules/
3+
4+
# Dist directory
5+
dist/
6+
7+
# IDE directories
8+
.idea/
9+
.vscode/

.npmrc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
enable-pre-post-scripts=true
2+
auto-install-peers=true
3+
save-prefix=''

CHANGELOG.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
## [1.0.0-alpha.0] - 2023-11-01
6+
7+
### Features
8+
9+
- Add Nounish app generation functionality
10+
11+
### Documentation
12+
13+
- Create a LICENSE file for the project (#1)
14+
- Add funding options in GitHub repo
15+
- Add structured templates for issues and feature requests
16+
17+
### Miscellaneous Tasks
18+
19+
- Add `build` and `publish` scripts to `package.json` file
20+
- Add Dependabot configuration for GitHub Actions and PNPM
21+
- Add GitHub stale bot configuration
22+
- Update `test` script to avoid execution error
23+
- Add GitHub Actions workflow for `build`, `test`, and `release` pipelines
24+
25+
<!-- generated by git-cliff -->

0 commit comments

Comments
 (0)