Skip to content

Commit f4502df

Browse files
committed
Merge branch 'develop' of https://github.com/stdlib-js/stdlib into pr/Snehil-Shah/2407
2 parents 8d36829 + 9d447dc commit f4502df

File tree

18,308 files changed

+1144307
-128338
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

18,308 files changed

+1144307
-128338
lines changed

.clang-format

Lines changed: 1844 additions & 0 deletions
Large diffs are not rendered by default.

.editorconfig

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@ indent_style = tab
8686
[*.{f,f.txt}]
8787
indent_style = space
8888
indent_size = 2
89-
insert_final_newline = false
9089

9190
# Set properties for shell files:
9291
[*.{sh,sh.txt}]
@@ -121,7 +120,7 @@ indent_style = tab
121120
[*.{md,md.txt}]
122121
indent_style = space
123122
indent_size = 4
124-
trim_trailing_whitespace = false
123+
trim_trailing_whitespace = true # Note: this disables using two spaces to force a hard line break, which is permitted in Markdown. As we don't typically follow that practice (TMK), we should be safe to automatically trim.
125124
126125
# Set properties for `usage.txt` files:
127126
[usage.txt]

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,5 +117,5 @@ body:
117117
options:
118118
- label: Read and understood the [Code of Conduct](https://github.com/stdlib-js/stdlib/blob/develop/CODE_OF_CONDUCT.md).
119119
required: true
120-
- label: Searched for existing issues and pull requests.
120+
- label: Searched for existing issues and pull requests.
121121
required: true

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@
1818

1919
contact_links:
2020
- name: 👩‍🏫 Frequently Asked Questions
21-
url: https://github.com/stdlib-js/stdlib/blob/develop/FAQ.md
21+
url: https://github.com/stdlib-js/stdlib/blob/develop/FAQ.md
2222
about: Consult the FAQ in case we have already answered your question there.
2323
- name: 💬 Question
24-
url: https://gitter.im/stdlib-js/stdlib
24+
url: https://gitter.im/stdlib-js/stdlib
2525
about: Got a (non-bug related) question we haven't already answered? Ask us on Gitter! 🤗
2626
- name: 👏 Support Us
2727
url: https://github.com/stdlib-js/stdlib/blob/develop/docs/support_the_project.md

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,20 @@
1-
Resolves # .
1+
Resolves #{{TODO: add issue number}}.
22

33
## Description
44

55
> What is the purpose of this pull request?
66
77
This pull request:
88

9-
- a
10-
- b
11-
- c
9+
- {{TODO: add description describing what this pull request does}}
1210

1311
## Related Issues
1412

1513
> Does this pull request have any related issues?
1614
1715
This pull request:
1816

19-
- resolves #
20-
- fixes #
17+
- resolves #{{TODO: add issue number}}
2118

2219
## Questions
2320

.github/labeler.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,22 @@ BLAS:
2020
- changed-files:
2121
- any-glob-to-all-files: '**/blas/**/*'
2222

23+
LAPACK:
24+
- changed-files:
25+
- any-glob-to-all-files: '**/lapack/**/*'
26+
2327
Math:
2428
- changed-files:
2529
- any-glob-to-all-files: '**/math/**/*'
30+
31+
REPL:
32+
- changed-files:
33+
- any-glob-to-all-files: '**/repl/**/*'
34+
35+
Statistics:
36+
- changed-files:
37+
- any-glob-to-all-files: '**/stats/**/*'
38+
39+
Tools:
40+
- changed-files:
41+
- any-glob-to-all-files: '**/_tools/**/*'

.github/workflows/autoclose.yml

Lines changed: 213 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,213 @@
1+
#/
2+
# @license Apache-2.0
3+
#
4+
# Copyright (c) 2024 The Stdlib Authors.
5+
#
6+
# Licensed under the Apache License, Version 2.0 (the "License");
7+
# you may not use this file except in compliance with the License.
8+
# You may obtain a copy of the License at
9+
#
10+
# http://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing, software
13+
# distributed under the License is distributed on an "AS IS" BASIS,
14+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
# See the License for the specific language governing permissions and
16+
# limitations under the License.
17+
#/
18+
19+
# Workflow name:
20+
name: autoclose
21+
22+
# Workflow triggers:
23+
on:
24+
pull_request_target:
25+
types:
26+
- labeled
27+
28+
# Workflow jobs:
29+
jobs:
30+
31+
# Define a job which closes a pull request if a contributor failed to setup EditorConfig:
32+
editorconfig:
33+
34+
# Define job name:
35+
name: 'Check for EditorConfig label'
36+
37+
# Only run this job if the pull request has a specific label:
38+
if: "${{ github.event.label.name == 'autoclose: EditorConfig' }}"
39+
40+
# Define job permissions:
41+
permissions:
42+
contents: read
43+
pull-requests: write
44+
45+
# Define the type of virtual host machine:
46+
runs-on: ubuntu-latest
47+
48+
# Define the sequence of job steps:
49+
steps:
50+
51+
# Close the pull request:
52+
- name: 'Close pull request'
53+
run: gh pr close "$NUMBER" --comment "$BODY"
54+
env:
55+
GH_TOKEN: ${{ secrets.STDLIB_BOT_PAT_REPO_WRITE }}
56+
GH_REPO: ${{ github.repository }}
57+
NUMBER: ${{ github.event.pull_request.number }}
58+
BODY: |
59+
Thank you for working on this pull request. However, we cannot accept your contribution as this pull request does not follow our [contributing guidelines](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md).
60+
61+
Per the guidelines outlined in our [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md), you should download and setup [EditorConfig](http://editorconfig.org/) to ensure that files are automatically configured to use expected indentation and line endings.
62+
63+
If you would prefer to avoid manual setup, you could also consider using a pre-configured [development container](https://github.com/stdlib-js/stdlib/tree/develop/.devcontainer) for use locally or in GitHub Codespaces.
64+
65+
Thank you again for your interest in stdlib, and we look forward to reviewing your future contributions.
66+
67+
# Define a job which closes a pull request if a contributor failed to follow contributing guidelines:
68+
contributor_guidelines:
69+
70+
# Define job name:
71+
name: 'Check for contributor guidelines label'
72+
73+
# Only run this job if the pull request has a specific label:
74+
if: "${{ github.event.label.name == 'autoclose: Contributor Guidelines' }}"
75+
76+
# Define job permissions:
77+
permissions:
78+
contents: read
79+
pull-requests: write
80+
81+
# Define the type of virtual host machine:
82+
runs-on: ubuntu-latest
83+
84+
# Define the sequence of job steps:
85+
steps:
86+
87+
# Close the pull request:
88+
- name: 'Close pull request'
89+
run: gh pr close "$NUMBER" --comment "$BODY"
90+
env:
91+
GH_TOKEN: ${{ secrets.STDLIB_BOT_PAT_REPO_WRITE }}
92+
GH_REPO: ${{ github.repository }}
93+
NUMBER: ${{ github.event.pull_request.number }}
94+
BODY: |
95+
Thank you for working on this pull request. However, we cannot accept your contribution as this pull request does not follow our [contributing guidelines](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md).
96+
97+
Per the guidelines outlined in our [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md), you should have setup your local development environment such that automated development processes for linting, license verification, and unit testing can run prior to authoring commits and pushing changes. We encourage you to refer to that guide **before** continuing to work on this pull request.
98+
99+
If you would prefer to avoid manual setup, you could also consider using a pre-configured [development container](https://github.com/stdlib-js/stdlib/tree/develop/.devcontainer) for use locally or in GitHub Codespaces.
100+
101+
Thank you again for your interest in stdlib, and we look forward to reviewing your future contributions.
102+
103+
# Define a job which closes a pull request if a contributor failed to follow project conventions:
104+
project_conventions:
105+
106+
# Define job name:
107+
name: 'Check for project conventions label'
108+
109+
# Only run this job if the pull request has a specific label:
110+
if: "${{ github.event.label.name == 'autoclose: Project Conventions' }}"
111+
112+
# Define job permissions:
113+
permissions:
114+
contents: read
115+
pull-requests: write
116+
117+
# Define the type of virtual host machine:
118+
runs-on: ubuntu-latest
119+
120+
# Define the sequence of job steps:
121+
steps:
122+
123+
# Close the pull request:
124+
- name: 'Close pull request'
125+
run: gh pr close "$NUMBER" --comment "$BODY"
126+
env:
127+
GH_TOKEN: ${{ secrets.STDLIB_BOT_PAT_REPO_WRITE }}
128+
GH_REPO: ${{ github.repository }}
129+
NUMBER: ${{ github.event.pull_request.number }}
130+
BODY: |
131+
Thank you for working on this pull request. However, we cannot accept your contribution as this pull request does not follow project conventions.
132+
133+
We place a high value on consistency throughout the stdlib codebase, and this pull request was found to significantly deviate from stdlib conventions. We encourage you to closely examine other packages in stdlib and attempt to emulate the practices and conventions found therein.
134+
135+
- If you are attempting to contribute a new package, sometimes the best approach is to simply copy the contents of an existing package and then modify the minimum amount necessary to implement the feature (e.g., changing descriptions, parameter names, and implementation).
136+
- If you are contributing tests, find a package implementing a similar feature and emulate the tests of that package.
137+
- If you are updating documentation, examine several similar packages and emulate the content, style, and prose of those packages.
138+
139+
In short, the more effort you put in to ensure that your contribution looks and feels like stdlib—including variables names, bracket spacing, line breaks, etc—the more likely that your contribution will be reviewed and ultimately accepted. We encourage you to closely study the codebase **before** continuing to work on this pull request.
140+
141+
Thank you again for your interest in stdlib, and we look forward to reviewing your future contributions.
142+
143+
# Define a job which closes a pull request if a pull request is considered spam:
144+
spam:
145+
146+
# Define job name:
147+
name: 'Check for spam label'
148+
149+
# Only run this job if the pull request has a specific label:
150+
if: "${{ github.event.label.name == 'autoclose: Spam' }}"
151+
152+
# Define job permissions:
153+
permissions:
154+
contents: read
155+
pull-requests: write
156+
157+
# Define the type of virtual host machine:
158+
runs-on: ubuntu-latest
159+
160+
# Define the sequence of job steps:
161+
steps:
162+
163+
# Close the pull request:
164+
- name: 'Close pull request'
165+
run: gh pr close "$NUMBER" --comment "$BODY"
166+
env:
167+
GH_TOKEN: ${{ secrets.STDLIB_BOT_PAT_REPO_WRITE }}
168+
GH_REPO: ${{ github.repository }}
169+
NUMBER: ${{ github.event.pull_request.number }}
170+
BODY: |
171+
Thank you for working on this pull request. However, we cannot accept your contribution as this pull request does not meet the standards of this project.
172+
173+
Thank you again for your interest in stdlib, and we look forward to reviewing your future contributions.
174+
175+
# Lock pull request conversation:
176+
- name: 'Lock conversation'
177+
run: gh pr lock "$NUMBER" --reason spam
178+
env:
179+
GH_TOKEN: ${{ secrets.STDLIB_BOT_PAT_REPO_WRITE }}
180+
GH_REPO: ${{ github.repository }}
181+
NUMBER: ${{ github.event.pull_request.number }}
182+
183+
# Define a job which closes a pull request if a pull request is considered stale:
184+
stale:
185+
186+
# Define job name:
187+
name: 'Check for stale label'
188+
189+
# Only run this job if the pull request has a specific label:
190+
if: "${{ github.event.label.name == 'autoclose: Stale' }}"
191+
192+
# Define job permissions:
193+
permissions:
194+
contents: read
195+
issues: write
196+
pull-requests: write
197+
198+
# Define the type of virtual host machine:
199+
runs-on: ubuntu-latest
200+
201+
# Define the sequence of job steps:
202+
steps:
203+
# Close the pull request:
204+
- name: 'Close pull request'
205+
run: gh pr close "$NUMBER" --comment "$BODY"
206+
env:
207+
GH_TOKEN: ${{ secrets.STDLIB_BOT_PAT_REPO_WRITE }}
208+
GH_REPO: ${{ github.repository }}
209+
NUMBER: ${{ github.event.pull_request.number }}
210+
BODY: |
211+
This pull request has been automatically closed because it has been inactive for an extended period after changes were requested. If you still wish to pursue this contribution, feel free to reopen the pull request or submit a new one.
212+
213+
We appreciate your interest in contributing to stdlib!
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
#/
2+
# @license Apache-2.0
3+
#
4+
# Copyright (c) 2024 The Stdlib Authors.
5+
#
6+
# Licensed under the Apache License, Version 2.0 (the "License");
7+
# you may not use this file except in compliance with the License.
8+
# You may obtain a copy of the License at
9+
#
10+
# http://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing, software
13+
# distributed under the License is distributed on an "AS IS" BASIS,
14+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
# See the License for the specific language governing permissions and
16+
# limitations under the License.
17+
#/
18+
19+
# Workflow name:
20+
name: check_contributing_guidelines_acceptance
21+
22+
# Workflow triggers:
23+
on:
24+
# Allow the workflow to be triggered by other workflows
25+
workflow_call:
26+
# Define the input parameters for the workflow:
27+
inputs:
28+
pull_request_number:
29+
description: 'Pull request number'
30+
required: true
31+
type: number
32+
user:
33+
required: true
34+
type: string
35+
# Define the secrets accessible by the workflow:
36+
secrets:
37+
STDLIB_BOT_GITHUB_TOKEN:
38+
description: 'stdlib-bot GitHub token to create pull request comments'
39+
required: true
40+
41+
# Trigger on pull request events:
42+
pull_request_target:
43+
types:
44+
- opened
45+
- reopened
46+
47+
# Global permissions:
48+
permissions:
49+
# Allow read-only access to the repository contents:
50+
contents: read
51+
52+
# Allow write access to pull requests:
53+
pull-requests: write
54+
55+
# Workflow jobs:
56+
jobs:
57+
58+
# Define a job for checking the contributing guidelines acceptance...
59+
check_acknowledgment:
60+
61+
# Define a display name:
62+
name: 'Check Contributing Guidelines Acceptance'
63+
64+
# Define the type of virtual host machine:
65+
runs-on: ubuntu-latest
66+
67+
# Skip this job for PRs opened by automated bot accounts:
68+
if: github.event.pull_request.user.login != 'stdlib-bot' && github.event.pull_request.user.login != 'dependabot[bot]'
69+
70+
# Define the sequence of job steps...
71+
steps:
72+
# Checkout the repository:
73+
- name: 'Checkout repository'
74+
# Pin action to full length commit SHA
75+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
76+
with:
77+
# Specify whether to remove untracked files before checking out the repository:
78+
clean: true
79+
80+
# Limit clone depth to the most recent commit:
81+
fetch-depth: 1
82+
83+
# Specify whether to download Git-LFS files:
84+
lfs: false
85+
timeout-minutes: 10
86+
87+
# Check contributing guidelines acceptance:
88+
- name: 'Check contributing guidelines acceptance'
89+
env:
90+
GITHUB_TOKEN: ${{ secrets.STDLIB_BOT_PAT_REPO_WRITE }}
91+
PR_NUMBER: ${{ github.event.pull_request.number || inputs.pull_request_number }}
92+
run: |
93+
. "$GITHUB_WORKSPACE/.github/workflows/scripts/check_contributing_guidelines_acceptance" $PR_NUMBER

0 commit comments

Comments
 (0)