Skip to content

Commit 0b4bf46

Browse files
Merge branch 'stdlib-js:develop' into fix/cosd
2 parents c96d02a + 1770970 commit 0b4bf46

File tree

529 files changed

+20454
-3425
lines changed

Some content is hidden

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

529 files changed

+20454
-3425
lines changed
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
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_commit_metadata
21+
22+
# Workflow triggers:
23+
on:
24+
# Trigger on pull request events:
25+
pull_request_target:
26+
types:
27+
- opened
28+
29+
# Global permissions:
30+
permissions:
31+
# Allow read-only access to the repository contents:
32+
contents: read
33+
34+
# Workflow jobs:
35+
jobs:
36+
37+
# Define a job for checking the commit metadata for whether local development is properly setup...
38+
check_commit_metadata:
39+
40+
# Define a display name:
41+
name: 'Check Commit Metadata'
42+
43+
# Define the type of virtual host machine:
44+
runs-on: ubuntu-latest
45+
46+
# Skip this job for PRs opened by automated bot accounts:
47+
if: github.event.pull_request.user.login != 'stdlib-bot' && github.event.pull_request.user.login != 'dependabot[bot]'
48+
49+
# Define the sequence of job steps...
50+
steps:
51+
# Checkout the repository:
52+
- name: 'Checkout repository'
53+
# Pin action to full length commit SHA
54+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
55+
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
64+
timeout-minutes: 10
65+
66+
# Extract commit metadata from commit messages as JSON:
67+
- name: 'Extract commit metadata'
68+
id: extract-metadata
69+
uses: stdlib-js/metadata-action@v2
70+
71+
# Check commit metadata:
72+
- name: 'Check commit metadata'
73+
env:
74+
PR_NUMBER: ${{ github.event.pull_request.number }}
75+
COMMIT_METADATA: ${{ steps.extract-metadata.outputs.metadata }}
76+
GITHUB_TOKEN: ${{ secrets.STDLIB_BOT_PAT_REPO_WRITE }}
77+
run: |
78+
. "$GITHUB_WORKSPACE/.github/workflows/scripts/check_commit_metadata" $PR_NUMBER $COMMIT_METADATA

.github/workflows/check_licenses.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ jobs:
128128
# Upload the log file:
129129
- name: 'Upload log file'
130130
# Pin action to full length commit SHA
131-
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
131+
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
132132
if: always()
133133
with:
134134
# Define a name for the uploaded artifact:
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
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: label_good_first_prs
21+
22+
# Workflow triggers:
23+
on:
24+
pull_request_target:
25+
types:
26+
- opened
27+
- closed
28+
- synchronize
29+
- reopened
30+
- edited
31+
32+
# Workflow jobs:
33+
jobs:
34+
35+
# Define a job which automatically labels pull requests based on whether they reference good first issues
36+
labeler:
37+
38+
# Define job name:
39+
name: 'Label PRs for issues with label "Good First Issue" as "Good First PR"s'
40+
41+
# Only run this job if the pull request did not have label `automated-pr`:
42+
if: contains(github.event.pull_request.labels.*.name, 'automated-pr') == false
43+
44+
# Define job permissions:
45+
permissions:
46+
contents: read
47+
pull-requests: write
48+
49+
# Define the type of virtual host machine:
50+
runs-on: ubuntu-latest
51+
52+
# Define the sequence of job steps:
53+
steps:
54+
# Checkout the repository:
55+
- name: 'Checkout repository'
56+
# Pin action to full length commit SHA
57+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
58+
with:
59+
# Specify whether to remove untracked files before checking out the repository:
60+
clean: true
61+
62+
# Limit clone depth to the most recent commit:
63+
fetch-depth: 1
64+
65+
# Specify whether to download Git-LFS files:
66+
lfs: false
67+
timeout-minutes: 10
68+
69+
# Check whether any of the referenced issues is a "Good First Issue":
70+
- name: 'Check whether any of the referenced issues is a "Good First Issue"'
71+
id: 'check-pr'
72+
env:
73+
PR_NUMBER: ${{ github.event.pull_request.number }}
74+
run: |
75+
bool=$(. "$GITHUB_WORKSPACE/.github/workflows/scripts/references_good_first_issue" $PR_NUMBER)
76+
echo "good-first-pr=$bool" >> $GITHUB_OUTPUT
77+
78+
# Add "Good First PR" label if PR references a "Good First Issue"
79+
- name: 'Add "Good First PR" label if PR references a "Good First Issue"'
80+
if: ${{ steps.check-pr.outputs.good-first-pr == 'true' }}
81+
# Pin action to full-length commit SHA
82+
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
83+
with:
84+
github-token: ${{ secrets.STDLIB_BOT_PAT_REPO_WRITE }}
85+
script: |
86+
const { data: pr } = await github.rest.pulls.get({
87+
'owner': context.repo.owner,
88+
'repo': context.repo.repo,
89+
'pull_number': context.payload.pull_request.number
90+
});
91+
const labels = context.payload.pull_request.labels.map( label => label.name );
92+
if ( !labels.includes( 'Good First PR' ) ) {
93+
await github.rest.issues.addLabels({
94+
'owner': context.repo.owner,
95+
'repo': context.repo.repo,
96+
'issue_number': context.payload.pull_request.number,
97+
'labels': [ 'Good First PR' ]
98+
});
99+
}

.github/workflows/lint_changed_files.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ jobs:
7575
# Cache dependencies:
7676
- name: 'Cache dependencies'
7777
# Pin action to full length commit SHA
78-
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
78+
uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2
7979
id: cache
8080
with:
8181
path: |
@@ -264,7 +264,7 @@ jobs:
264264
- name: 'Setup R'
265265
if: ( success() || failure() ) && steps.check-r-files.outputs.files != ''
266266
# Pin action to full length commit SHA
267-
uses: r-lib/actions/setup-r@473c68190595b311a74f208fba61a8d8c0d4c247 # v2.11.1
267+
uses: r-lib/actions/setup-r@14a7e741c1cb130261263aa1593718ba42cf443b # v2.11.2
268268
with:
269269
r-version: '3.5.3'
270270

.github/workflows/lint_random_files.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -411,7 +411,7 @@ jobs:
411411
- name: 'Setup R'
412412
if: ( github.event.inputs.r != 'false' ) && ( success() || failure() )
413413
# Pin action to full length commit SHA
414-
uses: r-lib/actions/setup-r@473c68190595b311a74f208fba61a8d8c0d4c247 # v2.11.1
414+
uses: r-lib/actions/setup-r@14a7e741c1cb130261263aa1593718ba42cf443b # v2.11.2
415415
with:
416416
r-version: '4.3.3'
417417

.github/workflows/linux_benchmark.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ jobs:
251251
# Upload the log file:
252252
- name: 'Upload log file'
253253
# Pin action to full length commit SHA
254-
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
254+
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
255255
if: always()
256256
with:
257257
# Define a name for the uploaded artifact (ensuring a unique name for each job):

.github/workflows/linux_examples.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ jobs:
251251
# Upload the log file:
252252
- name: 'Upload log file'
253253
# Pin action to full length commit SHA
254-
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
254+
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
255255
if: always()
256256
with:
257257
# Define a name for the uploaded artifact (ensuring a unique name for each job):

.github/workflows/linux_test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ jobs:
250250
# Upload the log file:
251251
- name: 'Upload log file'
252252
# Pin action to full length commit SHA
253-
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
253+
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
254254
if: always()
255255
with:
256256
# Define a name for the uploaded artifact (ensuring a unique name for each job):

.github/workflows/linux_test_cov.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ jobs:
251251
# Upload the log file:
252252
- name: 'Upload log file'
253253
# Pin action to full length commit SHA
254-
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
254+
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
255255
if: always()
256256
with:
257257
# Define a name for the uploaded artifact (ensuring a unique name for each job):

.github/workflows/linux_test_install.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ jobs:
274274
# Upload the log file:
275275
- name: 'Upload log file'
276276
# Pin action to full length commit SHA
277-
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
277+
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
278278
if: always()
279279
with:
280280
# Define a name for the uploaded artifact (ensuring a unique name for each job):

.github/workflows/macos_benchmark.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ jobs:
237237
# Upload the log file:
238238
- name: 'Upload log file'
239239
# Pin action to full length commit SHA
240-
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
240+
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
241241
if: always()
242242
with:
243243
# Define a name for the uploaded artifact (ensuring a unique name for each job):

.github/workflows/macos_test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ jobs:
236236
# Upload the log file:
237237
- name: 'Upload log file'
238238
# Pin action to full length commit SHA
239-
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
239+
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
240240
if: always()
241241
with:
242242
# Define a name for the uploaded artifact (ensuring a unique name for each job):

.github/workflows/macos_test_cov.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ jobs:
237237
# Upload the log file:
238238
- name: 'Upload log file'
239239
# Pin action to full length commit SHA
240-
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
240+
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
241241
if: always()
242242
with:
243243
# Define a name for the uploaded artifact (ensuring a unique name for each job):

.github/workflows/macos_test_npm_install.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ jobs:
233233
# Upload the log file:
234234
- name: 'Upload log file'
235235
# Pin action to full length commit SHA
236-
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
236+
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
237237
if: always()
238238
with:
239239
# Define a name for the uploaded artifact (ensuring a unique name for each job):

.github/workflows/markdown_links.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ jobs:
164164
# Upload the log files:
165165
- name: 'Upload log files'
166166
# Pin action to full length commit SHA
167-
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
167+
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
168168
if: always()
169169
with:
170170
# Define a name for the uploaded artifact:

.github/workflows/markdown_src_attributes.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ jobs:
119119
# Upload the log files:
120120
- name: 'Upload log files'
121121
# Pin action to full length commit SHA
122-
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
122+
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
123123
if: always()
124124
with:
125125
# Define a name for the uploaded artifact:

.github/workflows/npm_downloads.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ jobs:
8888
# Upload the download data:
8989
- name: 'Upload data'
9090
# Pin action to full length commit SHA
91-
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
91+
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
9292
with:
9393
# Define a name for the uploaded artifact (ensuring a unique name for each job):
9494
name: npm_downloads

.github/workflows/ossf_scorecard.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ jobs:
6969

7070
- name: "Run analysis"
7171
# Pin action to full length commit SHA
72-
uses: ossf/scorecard-action@62b2cac7ed8198b15735ed49ab1e5cf35480ba46 # v2.4.0
72+
uses: ossf/scorecard-action@f49aabe0b5af0936a0987cfb85d86b75731b0186 # v2.4.1
7373
with:
7474
results_file: results.sarif
7575
results_format: sarif
@@ -87,7 +87,7 @@ jobs:
8787
# Upload the results as artifacts:
8888
- name: "Upload artifact"
8989
# Pin action to full length commit SHA
90-
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
90+
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
9191
with:
9292
name: SARIF file
9393
path: results.sarif

.github/workflows/run_affected_benchmarks.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ jobs:
8989
# Cache dependencies:
9090
- name: 'Cache dependencies'
9191
# Pin action to full length commit SHA
92-
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
92+
uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2
9393
id: cache
9494
with:
9595
path: |

.github/workflows/run_affected_examples.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ jobs:
8585
# Cache dependencies:
8686
- name: 'Cache dependencies'
8787
# Pin action to full length commit SHA
88-
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
88+
uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2
8989
id: cache
9090
with:
9191
path: |

.github/workflows/run_affected_tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ jobs:
120120
# Cache dependencies:
121121
- name: 'Cache dependencies'
122122
# Pin action to full length commit SHA
123-
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
123+
uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2
124124
id: cache
125125
with:
126126
path: |

.github/workflows/run_tests_coverage.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ jobs:
123123
# Cache dependencies:
124124
- name: 'Cache dependencies'
125125
# Pin action to full length commit SHA
126-
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
126+
uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2
127127
id: cache
128128
with:
129129
path: |

0 commit comments

Comments
 (0)