Skip to content

Commit 4625849

Browse files
authored
Merge branch 'stdlib-js:develop' into feature/nanewstdev
2 parents 09e600e + afe5811 commit 4625849

File tree

10,699 files changed

+601457
-123334
lines changed

Some content is hidden

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

10,699 files changed

+601457
-123334
lines changed

.github/workflows/autoclose.yml

+27-31
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,6 @@ jobs:
3737
# Only run this job if the pull request has a specific label:
3838
if: "${{ github.event.label.name == 'autoclose: EditorConfig' }}"
3939

40-
# Define job permissions:
41-
permissions:
42-
contents: read
43-
pull-requests: write
44-
4540
# Define the type of virtual host machine:
4641
runs-on: ubuntu-latest
4742

@@ -73,11 +68,6 @@ jobs:
7368
# Only run this job if the pull request has a specific label:
7469
if: "${{ github.event.label.name == 'autoclose: Contributor Guidelines' }}"
7570

76-
# Define job permissions:
77-
permissions:
78-
contents: read
79-
pull-requests: write
80-
8171
# Define the type of virtual host machine:
8272
runs-on: ubuntu-latest
8373

@@ -109,11 +99,6 @@ jobs:
10999
# Only run this job if the pull request has a specific label:
110100
if: "${{ github.event.label.name == 'autoclose: Project Conventions' }}"
111101

112-
# Define job permissions:
113-
permissions:
114-
contents: read
115-
pull-requests: write
116-
117102
# Define the type of virtual host machine:
118103
runs-on: ubuntu-latest
119104

@@ -149,11 +134,6 @@ jobs:
149134
# Only run this job if the pull request has a specific label:
150135
if: "${{ github.event.label.name == 'autoclose: Spam' }}"
151136

152-
# Define job permissions:
153-
permissions:
154-
contents: read
155-
pull-requests: write
156-
157137
# Define the type of virtual host machine:
158138
runs-on: ubuntu-latest
159139

@@ -189,12 +169,6 @@ jobs:
189169
# Only run this job if the pull request has a specific label:
190170
if: "${{ github.event.label.name == 'autoclose: Stale' }}"
191171

192-
# Define job permissions:
193-
permissions:
194-
contents: read
195-
issues: write
196-
pull-requests: write
197-
198172
# Define the type of virtual host machine:
199173
runs-on: ubuntu-latest
200174

@@ -221,11 +195,6 @@ jobs:
221195
# Only run this job if the pull request has a specific label:
222196
if: "${{ github.event.label.name == 'autoclose: Git History' }}"
223197

224-
# Define job permissions:
225-
permissions:
226-
contents: read
227-
pull-requests: write
228-
229198
# Define the type of virtual host machine:
230199
runs-on: ubuntu-latest
231200

@@ -252,3 +221,30 @@ jobs:
252221
We recommend opening a new pull request with only the intended changes.
253222
254223
Thank you for your interest in stdlib, and we look forward to your future contributions.
224+
225+
# Define a job which closes a pull request if proposed changes duplicate already included changes:
226+
already_resolved:
227+
228+
# Define job name:
229+
name: 'Check for already resolved label'
230+
231+
# Only run this job if the pull request has a specific label:
232+
if: "${{ github.event.label.name == 'autoclose: Already Resolved' }}"
233+
234+
# Define the type of virtual host machine:
235+
runs-on: ubuntu-latest
236+
237+
# Define the sequence of job steps:
238+
steps:
239+
240+
# Close the pull request:
241+
- name: 'Close pull request'
242+
run: gh pr close "$NUMBER" --comment "$BODY"
243+
env:
244+
GH_TOKEN: ${{ secrets.STDLIB_BOT_PAT_REPO_WRITE }}
245+
GH_REPO: ${{ github.repository }}
246+
NUMBER: ${{ github.event.pull_request.number }}
247+
BODY: |
248+
Thank you for working on this pull request. However, we cannot accept your contribution as the issue this pull request seeks to resolve has already been addressed in a different pull request or commit.
249+
250+
Thank you again for your interest in stdlib, and we look forward to reviewing your future contributions.

.github/workflows/check_commit_metadata.yml

+4-8
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,10 @@ jobs:
5353
# Pin action to full length commit SHA
5454
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
5555
with:
56-
# Specify whether to remove untracked files before checking out the repository:
57-
clean: true
58-
59-
# Limit clone depth to the most recent commit:
60-
fetch-depth: 1
61-
62-
# Specify whether to download Git-LFS files:
63-
lfs: false
56+
# Ensure we have access to the scripts directory:
57+
sparse-checkout: |
58+
.github/workflows/scripts
59+
sparse-checkout-cone-mode: false
6460
timeout-minutes: 10
6561

6662
# Extract commit metadata from commit messages as JSON:

.github/workflows/check_contributing_guidelines_acceptance.yml

+4-11
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,6 @@ permissions:
5050
# Allow read-only access to the repository contents:
5151
contents: read
5252

53-
# Allow write access to pull requests:
54-
pull-requests: write
55-
5653
# Workflow jobs:
5754
jobs:
5855

@@ -75,14 +72,10 @@ jobs:
7572
# Pin action to full length commit SHA
7673
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
7774
with:
78-
# Specify whether to remove untracked files before checking out the repository:
79-
clean: true
80-
81-
# Limit clone depth to the most recent commit:
82-
fetch-depth: 1
83-
84-
# Specify whether to download Git-LFS files:
85-
lfs: false
75+
# Ensure we have access to the scripts directory:
76+
sparse-checkout: |
77+
.github/workflows/scripts
78+
sparse-checkout-cone-mode: false
8679
timeout-minutes: 10
8780

8881
# Check contributing guidelines acceptance:
+80
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
#/
2+
# @license Apache-2.0
3+
#
4+
# Copyright (c) 2025 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_duplicate_prs
21+
22+
# Workflow triggers:
23+
on:
24+
# Run the workflow daily at 3 AM UTC:
25+
schedule:
26+
- cron: '0 3 * * *'
27+
28+
# Allow the workflow to be manually run:
29+
workflow_dispatch:
30+
inputs:
31+
debug:
32+
description: 'Enable debug output'
33+
required: false
34+
default: 'false'
35+
type: choice
36+
options:
37+
- 'true'
38+
- 'false'
39+
40+
# Global permissions:
41+
permissions:
42+
# Allow read-only access to the repository contents:
43+
contents: read
44+
45+
# Workflow jobs:
46+
jobs:
47+
48+
# Define a job for checking duplicate PRs...
49+
check_duplicates:
50+
51+
# Define a display name:
52+
name: 'Check Duplicate PRs'
53+
54+
# Ensure the job does not run on forks:
55+
if: github.repository == 'stdlib-js/stdlib'
56+
57+
# Define the type of virtual host machine:
58+
runs-on: ubuntu-latest
59+
60+
# Define the sequence of job steps...
61+
steps:
62+
# Checkout the repository:
63+
- name: 'Checkout repository'
64+
# Pin action to full length commit SHA
65+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
66+
with:
67+
# Ensure we have access to the scripts directory:
68+
sparse-checkout: |
69+
.github/workflows/scripts
70+
sparse-checkout-cone-mode: false
71+
timeout-minutes: 10
72+
73+
# Check for duplicate PRs:
74+
- name: 'Check for duplicate PRs'
75+
env:
76+
GITHUB_TOKEN: ${{ secrets.STDLIB_BOT_PAT_REPO_WRITE }}
77+
DEBUG: ${{ inputs.debug || 'false' }}
78+
run: |
79+
. "$GITHUB_WORKSPACE/.github/workflows/scripts/check_duplicate_prs"
80+
timeout-minutes: 15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
#/
2+
# @license Apache-2.0
3+
#
4+
# Copyright (c) 2025 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_tracking_issue_closure
21+
22+
# Workflow triggers:
23+
on:
24+
# Run on a schedule:
25+
schedule:
26+
# Run every 12 hours:
27+
- cron: '0 */12 * * *'
28+
29+
# Allow manual triggering:
30+
workflow_dispatch:
31+
inputs:
32+
debug:
33+
description: 'Enable debug output'
34+
required: false
35+
default: 'false'
36+
type: choice
37+
options:
38+
- 'true'
39+
- 'false'
40+
41+
# Workflow jobs:
42+
jobs:
43+
# Define job to check PRs for tracking issue closure:
44+
check_prs:
45+
# Define job name:
46+
name: 'Check PRs for tracking issue closure'
47+
48+
# Define job permissions:
49+
permissions:
50+
contents: read
51+
52+
# Define the type of virtual host machine:
53+
runs-on: ubuntu-latest
54+
55+
# Define the sequence of job steps:
56+
steps:
57+
# Checkout the repository:
58+
- name: 'Checkout repository'
59+
# Pin action to full length commit SHA
60+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
61+
with:
62+
# Ensure we have access to the scripts directory:
63+
sparse-checkout: |
64+
.github/workflows/scripts
65+
sparse-checkout-cone-mode: false
66+
67+
# Run the script to check PRs for tracking issue closure:
68+
- name: 'Check PRs for tracking issue closure'
69+
run: |
70+
. "$GITHUB_WORKSPACE/.github/workflows/scripts/check_tracking_issue_closure" 1
71+
env:
72+
GITHUB_TOKEN: ${{ secrets.STDLIB_BOT_PAT_REPO_WRITE }}
73+
DEBUG: ${{ inputs.debug || 'false' }}

.github/workflows/create_address_commit_comment_issues.yml

+4-8
Original file line numberDiff line numberDiff line change
@@ -55,14 +55,10 @@ jobs:
5555
# Pin action to full length commit SHA
5656
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
5757
with:
58-
# Specify whether to remove untracked files before checking out the repository:
59-
clean: false
60-
61-
# Limit clone depth to the most recent commit:
62-
fetch-depth: 1
63-
64-
# Specify whether to download Git-LFS files:
65-
lfs: false
58+
# Ensure we have access to the scripts directory:
59+
sparse-checkout: |
60+
.github/workflows/scripts
61+
sparse-checkout-cone-mode: false
6662
timeout-minutes: 10
6763

6864
# Create issues from commit comments:

.github/workflows/first_time_greeting.yml

+20-12
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,11 @@
2020
name: first_time_greeting
2121

2222
# Workflow triggers:
23-
on: [pull_request_target, issues]
23+
on:
24+
pull_request_target:
25+
types: [opened]
26+
issues:
27+
types: [opened]
2428

2529
# Global permissions:
2630
permissions:
@@ -42,17 +46,21 @@ jobs:
4246
# Define the sequence of job steps...
4347
steps:
4448

45-
# Greet first-time contributors:
46-
- name: 'Greet first-time contributors'
49+
# Checkout the repository:
50+
- name: 'Checkout repository'
4751
# Pin action to full length commit SHA
48-
uses: actions/first-interaction@34f15e814fe48ac9312ccf29db4e74fa767cbab7 # v1.3.0
52+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
4953
with:
50-
repo-token: ${{ secrets.STDLIB_BOT_PAT_REPO_WRITE }}
51-
issue-message: |
52-
:wave: Hi there! :wave:
53-
54-
And thank you for opening your first issue! We will get back to you shortly. :runner: :dash:
55-
pr-message: |
56-
:wave: Hi there! :wave:
54+
# Ensure we have access to the scripts directory:
55+
sparse-checkout: |
56+
.github/workflows/scripts
57+
sparse-checkout-cone-mode: false
58+
timeout-minutes: 10
5759

58-
And thank you for opening your first pull request! We will review it shortly. :runner: :dash:
60+
# Greet first-time contributors:
61+
- name: 'Greet first-time contributors'
62+
env:
63+
ISSUE_NUMBER: ${{ github.event.issue.number || github.event.pull_request.number }}
64+
GITHUB_TOKEN: ${{ secrets.STDLIB_BOT_PAT_REPO_WRITE }}
65+
run: |
66+
. "$GITHUB_WORKSPACE/.github/workflows/scripts/first_time_greeting" $ISSUE_NUMBER

0 commit comments

Comments
 (0)