Skip to content

Commit 7c42de1

Browse files
committed
Auto-generated commit
1 parent 40971a0 commit 7c42de1

File tree

9 files changed

+86
-39
lines changed

9 files changed

+86
-39
lines changed

.github/workflows/publish.yml

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ jobs:
5353

5454
# Define environment variables:
5555
env:
56-
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
56+
ZULIP_API_KEY: ${{ secrets.ZULIP_API_KEY }}
5757
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
5858

5959
# Define the sequence of job steps...
@@ -174,14 +174,23 @@ jobs:
174174
run: |
175175
git reset --hard
176176
177-
# Send status to Slack channel if job fails:
178-
- name: 'Send status to Slack channel in case of failure'
177+
# Send notification to Zulip if job fails:
178+
- name: 'Send notification to Zulip in case of failure'
179179
# Pin action to full length commit SHA
180-
uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2
181-
with:
182-
status: ${{ job.status }}
183-
channel: '#npm-ci'
180+
uses: zulip/github-actions-zulip/send-message@e4c8f27c732ba9bd98ac6be0583096dea82feea5 # v1.0.2
184181
if: failure()
182+
with:
183+
api-key: ${{ secrets.ZULIP_API_KEY }}
184+
185+
organization-url: 'https://stdlib.zulipchat.com'
186+
to: 'workflows-standalone'
187+
type: 'stream'
188+
topic: ${{ github.event.repository.name }}
189+
content: |
190+
:cross_mark: **${{ github.workflow }}** workflow failed
191+
192+
**Repository:** [${{ github.repository }}](${{ github.server_url }}/${{ github.repository }})
193+
**Run:** [View workflow run](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})
185194
186195
# Define job to cancel any running or queued workflow runs...
187196
cancel:

.github/workflows/test.yml

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ jobs:
5151

5252
# Define environment variables:
5353
env:
54-
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
54+
ZULIP_API_KEY: ${{ secrets.ZULIP_API_KEY }}
5555

5656
# Define the sequence of job steps...
5757
steps:
@@ -89,11 +89,20 @@ jobs:
8989
run: |
9090
npm test || npm test || npm test
9191
92-
# Send status to Slack channel if job fails:
93-
- name: 'Send status to Slack channel in case of failure'
92+
# Send notification to Zulip if job fails:
93+
- name: 'Send notification to Zulip in case of failure'
9494
# Pin action to full length commit SHA
95-
uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2
96-
with:
97-
status: ${{ job.status }}
98-
channel: '#npm-ci'
95+
uses: zulip/github-actions-zulip/send-message@e4c8f27c732ba9bd98ac6be0583096dea82feea5 # v1.0.2
9996
if: failure()
97+
with:
98+
api-key: ${{ secrets.ZULIP_API_KEY }}
99+
100+
organization-url: 'https://stdlib.zulipchat.com'
101+
to: 'workflows-standalone'
102+
type: 'stream'
103+
topic: ${{ github.event.repository.name }}
104+
content: |
105+
:cross_mark: **${{ github.workflow }}** workflow failed
106+
107+
**Repository:** [${{ github.repository }}](${{ github.server_url }}/${{ github.repository }})
108+
**Run:** [View workflow run](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})

.github/workflows/test_coverage.yml

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343

4444
# Define environment variables:
4545
env:
46-
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
46+
ZULIP_API_KEY: ${{ secrets.ZULIP_API_KEY }}
4747

4848
# Define the sequence of job steps...
4949
steps:
@@ -113,14 +113,23 @@ jobs:
113113
echo "${{ steps.extract-coverage.outputs.table }}" >> $GITHUB_STEP_SUMMARY
114114
echo "" >> $GITHUB_STEP_SUMMARY
115115
116-
# Send Slack notification if job fails:
117-
- name: 'Send status to Slack channel in case of failure'
116+
# Send notification to Zulip if job fails:
117+
- name: 'Send notification to Zulip in case of failure'
118118
# Pin action to full length commit SHA
119-
uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2
120-
with:
121-
status: ${{ job.status }}
122-
channel: '#npm-ci'
119+
uses: zulip/github-actions-zulip/send-message@e4c8f27c732ba9bd98ac6be0583096dea82feea5 # v1.0.2
123120
if: failure()
121+
with:
122+
api-key: ${{ secrets.ZULIP_API_KEY }}
123+
124+
organization-url: 'https://stdlib.zulipchat.com'
125+
to: 'workflows-standalone'
126+
type: 'stream'
127+
topic: ${{ github.event.repository.name }}
128+
content: |
129+
:cross_mark: **${{ github.workflow }}** workflow failed
130+
131+
**Repository:** [${{ github.repository }}](${{ github.server_url }}/${{ github.repository }})
132+
**Run:** [View workflow run](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})
124133
125134
# Send data to events server:
126135
- name: 'Post data'

.github/workflows/test_install.yml

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ jobs:
4848

4949
# Define environment variables:
5050
env:
51-
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
51+
ZULIP_API_KEY: ${{ secrets.ZULIP_API_KEY }}
5252

5353
# Run workflow job if `publish` workflow run is successful or when the workflow is manually triggered or on a schedule:
5454
if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule' }}
@@ -75,11 +75,20 @@ jobs:
7575
npm install --only=prod || npm install --only=prod || npm install --only=prod
7676
timeout-minutes: 15
7777

78-
# Send Slack notification if job fails:
79-
- name: 'Send notification to Slack in case of failure'
78+
# Send notification to Zulip if job fails:
79+
- name: 'Send notification to Zulip in case of failure'
8080
# Pin action to full length commit SHA
81-
uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2
82-
with:
83-
status: ${{ job.status }}
84-
channel: '#npm-ci'
81+
uses: zulip/github-actions-zulip/send-message@e4c8f27c732ba9bd98ac6be0583096dea82feea5 # v1.0.2
8582
if: failure()
83+
with:
84+
api-key: ${{ secrets.ZULIP_API_KEY }}
85+
86+
organization-url: 'https://stdlib.zulipchat.com'
87+
to: 'workflows-standalone'
88+
type: 'stream'
89+
topic: ${{ github.event.repository.name }}
90+
content: |
91+
:cross_mark: **${{ github.workflow }}** workflow failed
92+
93+
**Repository:** [${{ github.repository }}](${{ github.server_url }}/${{ github.repository }})
94+
**Run:** [View workflow run](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})

.github/workflows/test_published_package.yml

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ jobs:
4545

4646
# Define environment variables:
4747
env:
48-
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
48+
ZULIP_API_KEY: ${{ secrets.ZULIP_API_KEY }}
4949

5050
# Run workflow job if `publish` workflow run is successful or when the workflow is manually triggered or on a schedule:
5151
if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule' }}
@@ -96,10 +96,20 @@ jobs:
9696
# Run the example:
9797
node index.js
9898
99-
# Send Slack notification if job fails:
100-
- name: 'Send notification to Slack in case of failure'
101-
uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2
102-
with:
103-
status: ${{ job.status }}
104-
channel: '#npm-ci'
99+
# Send notification to Zulip if job fails:
100+
- name: 'Send notification to Zulip in case of failure'
101+
# Pin action to full length commit SHA
102+
uses: zulip/github-actions-zulip/send-message@e4c8f27c732ba9bd98ac6be0583096dea82feea5 # v1.0.2
105103
if: failure()
104+
with:
105+
api-key: ${{ secrets.ZULIP_API_KEY }}
106+
107+
organization-url: 'https://stdlib.zulipchat.com'
108+
to: 'workflows-standalone'
109+
type: 'stream'
110+
topic: ${{ github.event.repository.name }}
111+
content: |
112+
:cross_mark: **${{ github.workflow }}** workflow failed
113+
114+
**Repository:** [${{ github.repository }}](${{ github.server_url }}/${{ github.repository }})
115+
**Run:** [View workflow run](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
55
<section class="release" id="unreleased">
66

7-
## Unreleased (2025-12-31)
7+
## Unreleased (2026-01-01)
88

99
<section class="features">
1010

@@ -58,6 +58,7 @@ A total of 6 issues were closed in this release:
5858

5959
<details>
6060

61+
- [`c681b91`](https://github.com/stdlib-js/stdlib/commit/c681b91b18f634d25dae56786f0e7389cdc05114) - **docs:** update REPL namespace documentation [(#9467)](https://github.com/stdlib-js/stdlib/pull/9467) _(by stdlib-bot, Philipp Burckhardt)_
6162
- [`80de99c`](https://github.com/stdlib-js/stdlib/commit/80de99c312ada635c13499ba2d13f1870d5c3627) - **docs:** update REPL namespace documentation [(#9448)](https://github.com/stdlib-js/stdlib/pull/9448) _(by stdlib-bot)_
6263
- [`bcb78d5`](https://github.com/stdlib-js/stdlib/commit/bcb78d51320029ccd855daa14cb6b5e14d7695d0) - **docs:** update REPL namespace documentation [(#9421)](https://github.com/stdlib-js/stdlib/pull/9421) _(by stdlib-bot)_
6364
- [`e1ba3b8`](https://github.com/stdlib-js/stdlib/commit/e1ba3b861384e9bf20d8bec03c29c6d63f6cadfa) - **docs:** update REPL namespace documentation [(#9406)](https://github.com/stdlib-js/stdlib/pull/9406) _(by stdlib-bot)_

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1667,7 +1667,7 @@ See [LICENSE][stdlib-license].
16671667

16681668
## Copyright
16691669

1670-
Copyright &copy; 2016-2025. The Stdlib [Authors][stdlib-authors].
1670+
Copyright &copy; 2016-2026. The Stdlib [Authors][stdlib-authors].
16711671

16721672
</section>
16731673

help/data/data.csv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4307,7 +4307,7 @@ Object.prototype.constructor,"\nObject.prototype.constructor\n Property whose
43074307
objectEntries,"\nobjectEntries( obj )\n Returns an array of an object's own enumerable property `[key, value]`\n pairs.\n\n Entry order is not guaranteed, as object key enumeration is not specified\n according to the ECMAScript specification. In practice, however, most\n engines use insertion order to sort an object's keys, thus allowing for\n deterministic return values.\n\n Parameters\n ----------\n obj: ObjectLike\n Input object.\n\n Returns\n -------\n arr: Array\n Array containing key-value pairs.\n\n Examples\n --------\n > var obj = { 'beep': 'boop', 'foo': 'bar' };\n > var entries = objectEntries( obj )\n e.g., [ [ 'beep', 'boop' ], [ 'foo', 'bar' ] ]\n\n See Also\n --------\n objectEntriesIn, objectFromEntries, objectKeys, objectValues\n"
43084308
objectEntriesIn,"\nobjectEntriesIn( obj )\n Returns an array of an object's own and inherited enumerable property\n `[key, value]` pairs.\n\n Entry order is not guaranteed, as object key enumeration is not specified\n according to the ECMAScript specification. In practice, however, most\n engines use insertion order to sort an object's keys, thus allowing for\n deterministic return values.\n\n Parameters\n ----------\n obj: ObjectLike\n Input object.\n\n Returns\n -------\n arr: Array\n Array containing key-value pairs.\n\n Examples\n --------\n > function Foo() { this.beep = 'boop'; return this; };\n > Foo.prototype.foo = 'bar';\n > var obj = new Foo();\n > var entries = objectEntriesIn( obj )\n e.g., [ [ 'beep', 'boop' ], [ 'foo', 'bar' ] ]\n\n See Also\n --------\n objectEntries, objectFromEntries, keysIn, objectValuesIn\n"
43094309
objectFromEntries,"\nobjectFromEntries( entries )\n Creates an object from an array of key-value pairs.\n\n Parameters\n ----------\n entries: Array<Array>\n Input object.\n\n Returns\n -------\n out: Object\n Object created from `[key, value]` pairs.\n\n Examples\n --------\n > var entries = [ [ 'beep', 'boop' ], [ 'foo', 'bar' ] ];\n > var obj = objectFromEntries( entries )\n { 'beep': 'boop', 'foo': 'bar' }\n\n See Also\n --------\n objectEntries\n"
4310-
objectInverse,"\nobjectInverse( obj[, options] )\n Inverts an object, such that keys become values and values become keys.\n\n Beware when providing objects having values which are themselves objects.\n The function relies on native object serialization (`#toString`) when\n converting values to keys.\n\n Insertion order is not guaranteed, as object key enumeration is not\n specified according to the ECMAScript specification. In practice, however,\n most engines use insertion order to sort an object's keys, thus allowing for\n deterministic inversion.\n\n Parameters\n ----------\n obj: ObjectLike\n Input object.\n\n options: Object (optional)\n Options.\n\n options.duplicates: boolean (optional)\n Boolean indicating whether to store keys mapped to duplicate values in\n arrays. Default: `true`.\n\n Returns\n -------\n out: Object\n Inverted object.\n\n Examples\n --------\n // Basic usage:\n > var obj = { 'a': 'beep', 'b': 'boop' };\n > var out = objectInverse( obj )\n { 'beep': 'a', 'boop': 'b' }\n\n // Duplicate values:\n > obj = { 'a': 'beep', 'b': 'beep' };\n > out = objectInverse( obj )\n { 'beep': [ 'a', 'b' ] }\n\n // Override duplicate values:\n > obj = {};\n > obj.a = 'beep';\n > obj.b = 'boop';\n > obj.c = 'beep';\n > out = objectInverse( obj, { 'duplicates': false } )\n { 'beep': 'c', 'boop': 'b' }\n\n"
4310+
objectInverse,"\nobjectInverse( obj[, options] )\n Inverts an object, such that keys become values and values become keys.\n\n Beware when providing objects having values which are themselves objects.\n The function relies on native object serialization (`#toString`) when\n converting values to keys.\n\n Insertion order is not guaranteed, as object key enumeration is not\n specified according to the ECMAScript specification. In practice, however,\n most engines use insertion order to sort an object's keys, thus allowing for\n deterministic inversion.\n\n Parameters\n ----------\n obj: ObjectLike\n Input object.\n\n options: Object (optional)\n Options.\n\n options.duplicates: boolean (optional)\n Boolean indicating whether to store keys mapped to duplicate values in\n arrays. Default: `true`.\n\n Returns\n -------\n out: Object\n Inverted object.\n\n Examples\n --------\n // Basic usage:\n > var obj = { 'a': 'beep', 'b': 'boop' };\n > var out = objectInverse( obj )\n { 'beep': 'a', 'boop': 'b' }\n\n // Duplicate values:\n > obj = { 'a': 'beep', 'b': 'beep' };\n > out = objectInverse( obj )\n { 'beep': [ 'a', 'b' ] }\n\n // Override duplicate values:\n > obj = {};\n > obj.a = 'beep';\n > obj.b = 'boop';\n > obj.c = 'beep';\n > out = objectInverse( obj, { 'duplicates': false } )\n { 'beep': 'c', 'boop': 'b' }\n\n See Also\n --------\n objectInverseBy\n"
43114311
objectInverseBy,"\nobjectInverseBy( obj, [options,] transform )\n Inverts an object, such that keys become values and values become keys,\n according to a transform function.\n\n The transform function is provided three arguments:\n\n - key: object key.\n - value: object value corresponding to `key`.\n - obj: the input object.\n\n The value returned by a transform function should be a value which can be\n serialized as an object key. Hence, beware when providing objects having\n values which are themselves objects. The function relies on native object\n serialization (`#toString`) when converting transform function return values\n to keys.\n\n In older JavaScript engines, insertion order is not guaranteed, as object\n key enumeration was not specified according to the ECMAScript specification\n in earlier editions. In practice, however, most older engines use insertion\n order to sort an object's keys, thus allowing for deterministic inversion.\n\n Parameters\n ----------\n obj: ObjectLike\n Input object.\n\n options: Object (optional)\n Options.\n\n options.duplicates: boolean (optional)\n Boolean indicating whether to store keys mapped to duplicate values in\n arrays. Default: `true`.\n\n transform: Function\n Transform function.\n\n Returns\n -------\n out: Object\n Inverted object.\n\n Examples\n --------\n // Basic usage:\n > function transform( key, value ) { return key + value; };\n > var obj = { 'a': 'beep', 'b': 'boop' };\n > var out = objectInverseBy( obj, transform )\n { 'abeep': 'a', 'bboop': 'b' }\n\n // Duplicate values:\n > function transform( key, value ) { return value; };\n > obj = { 'a': 'beep', 'b': 'beep' };\n > out = objectInverseBy( obj, transform )\n { 'beep': [ 'a', 'b' ] }\n\n // Override duplicate values:\n > obj = {};\n > obj.a = 'beep';\n > obj.b = 'boop';\n > obj.c = 'beep';\n > out = objectInverseBy( obj, { 'duplicates': false }, transform )\n { 'beep': 'c', 'boop': 'b' }\n\n See Also\n --------\n objectInverse\n"
43124312
objectKeys,"\nobjectKeys( value )\n Returns an array of an object's own enumerable property names.\n\n Name order is not guaranteed, as object key enumeration is not specified\n according to the ECMAScript specification. In practice, however, most\n engines use insertion order to sort an object's keys, thus allowing for\n deterministic extraction.\n\n If provided `null` or `undefined`, the function returns an empty array.\n\n Parameters\n ----------\n value: any\n Input value.\n\n Returns\n -------\n keys: Array\n List of an object's own enumerable property names.\n\n Examples\n --------\n > function Foo() { this.beep = 'boop'; return this; };\n > Foo.prototype.foo = 'bar';\n > var obj = new Foo();\n > var keys = objectKeys( obj )\n [ 'beep' ]\n\n See Also\n --------\n objectEntries, keysIn, nonIndexKeys, objectValues\n"
43134313
objectValues,"\nobjectValues( obj )\n Returns an array of an object's own enumerable property values.\n\n Value order is not guaranteed, as object key enumeration is not specified\n according to the ECMAScript specification. In practice, however, most\n engines use insertion order to sort an object's keys, thus allowing for\n deterministic extraction.\n\n Parameters\n ----------\n obj: ObjectLike\n Input object.\n\n Returns\n -------\n values: Array\n Value array.\n\n Examples\n --------\n > var obj = { 'beep': 'boop', 'foo': 'bar' };\n > var vals = objectValues( obj )\n e.g., [ 'boop', 'bar' ]\n\n See Also\n --------\n objectEntries, objectKeys\n"

help/data/data.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)