Skip to content

Commit 21b95b2

Browse files
authored
Merge branch 'main' into protocol-overhaul-i64
2 parents 697cd0f + 7229e30 commit 21b95b2

File tree

215 files changed

+9509
-1635
lines changed

Some content is hidden

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

215 files changed

+9509
-1635
lines changed

.github/workflows/claude.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
id-token: write
2626
steps:
2727
- name: Checkout repository
28-
uses: actions/checkout@v4
28+
uses: actions/checkout@v5
2929
with:
3030
fetch-depth: 1
3131

.github/workflows/create-release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
runs-on: ubuntu-latest
1919
steps:
2020
- name: Checkout code
21-
uses: actions/checkout@v4
21+
uses: actions/checkout@v5
2222
with:
2323
ssh-key: ${{ secrets.ACTONBOT_DEPLOY_KEY }}
2424
fetch-depth: 0

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
- run: |
1515
echo The PR was merged
1616
- name: "Check out repository code"
17-
uses: actions/checkout@v4
17+
uses: actions/checkout@v5
1818
with:
1919
ssh-key: ${{ secrets.ACTONBOT_DEPLOY_KEY }}
2020
- name: "Get the version"

.github/workflows/test-app.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,15 @@ jobs:
1919
sudo apt update
2020
sudo apt install -y gdb
2121
- name: "Download .deb files"
22-
uses: actions/download-artifact@v5
22+
uses: actions/download-artifact@v6
2323
with:
2424
name: acton-debs-${{ inputs.arch }}
2525
- name: "Install acton from .deb"
2626
run: |
2727
sudo apt install -y ./deb/acton_*.deb
2828
acton version
2929
- name: "Clone app repo"
30-
uses: actions/checkout@v4
30+
uses: actions/checkout@v5
3131
with:
3232
repository: ${{ inputs.repo_url }}
3333
path: app

.github/workflows/test.yml

Lines changed: 58 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,14 @@ jobs:
4141
if: github.event_name != 'schedule'
4242
id: setmatrix_pr
4343
run: |
44-
MATRIX_JSON='{\"include\":[{\"os\":\"macos\",\"version\":\"13\",\"arch\":\"x86_64\",\"cache\":true},{\"os\":\"macos\",\"version\":\"14\",\"arch\":\"aarch64\",\"cache\":true}]}'
44+
MATRIX_JSON='{\"include\":[{\"os\":\"macos\",\"version\":\"14\",\"arch\":\"aarch64\",\"cache\":true},{\"os\":\"macos\",\"version\":\"15\",\"arch\":\"aarch64\",\"cache\":true},{\"os\":\"macos\",\"version\":\"15\",\"arch\":\"x86_64\",\"cache\":true}]}'
4545
echo "matrix=$MATRIX_JSON" >> $GITHUB_OUTPUT
4646
4747
- name: "Set Matrix for nightly run"
4848
if: github.event_name == 'schedule'
4949
id: setmatrix_cron
5050
run: |
51-
MATRIX_JSON='{\"include\":[{\"os\":\"macos\",\"version\":\"13\",\"arch\":\"x86_64\",\"cache\":true},{\"os\":\"macos\",\"version\":\"14\",\"arch\":\"aarch64\",\"cache\":true},{\"os\":\"macos\",\"version\":\"15\",\"arch\":\"aarch64\",\"cache\":false}]}'
51+
MATRIX_JSON='{\"include\":[{\"os\":\"macos\",\"version\":\"14\",\"arch\":\"aarch64\",\"cache\":true},{\"os\":\"macos\",\"version\":\"15\",\"arch\":\"aarch64\",\"cache\":true},{\"os\":\"macos\",\"version\":\"15\",\"arch\":\"x86_64\",\"cache\":true}]}'
5252
echo "matrix=$MATRIX_JSON" >> $GITHUB_OUTPUT
5353
5454
- name: "Set final matrix output"
@@ -71,7 +71,7 @@ jobs:
7171
strategy:
7272
fail-fast: false
7373
matrix: ${{ fromJson(needs.matrix_maker_macos.outputs.matrix) }}
74-
runs-on: ${{ matrix.os }}-${{ matrix.version }}
74+
runs-on: ${{ (matrix.version == '15' && matrix.arch == 'x86_64') && 'macos-15-intel' || format('{0}-{1}', matrix.os, matrix.version) }}
7575
steps:
7676
- name: "Show env"
7777
run: env
@@ -84,7 +84,7 @@ jobs:
8484
sudo sysctl kern.corefile=core.%P
8585
ulimit -c unlimited
8686
- name: "Check out repository code"
87-
uses: actions/checkout@v4
87+
uses: actions/checkout@v5
8888
- name: "Cache stuff"
8989
if: matrix.cache == true
9090
uses: actions/cache@v4
@@ -107,7 +107,7 @@ jobs:
107107
- name: "Build a release"
108108
run: make -C ${{ github.workspace }} release
109109
- name: "Upload artifact"
110-
uses: actions/upload-artifact@v4
110+
uses: actions/upload-artifact@v5
111111
with:
112112
name: acton-${{ matrix.os }}-${{ matrix.version }}-${{ matrix.arch }}
113113
path: ${{ github.workspace }}/acton-*
@@ -118,7 +118,7 @@ jobs:
118118
make -C ${{ github.workspace }} test
119119
- name: "Upload whole test dir as artifact on test failure"
120120
if: failure()
121-
uses: actions/upload-artifact@v4
121+
uses: actions/upload-artifact@v5
122122
with:
123123
name: test-debug-${{ matrix.os }}-${{ matrix.version }}-${{ matrix.arch }}-${{ github.run_id }}.zip
124124
path: |
@@ -181,7 +181,7 @@ jobs:
181181
run: |
182182
echo "BUILD_RELEASE=1" >> $GITHUB_ENV
183183
- name: "Check out repository code"
184-
uses: actions/checkout@v4
184+
uses: actions/checkout@v5
185185
- name: "Cache stuff"
186186
if: matrix.cache == true
187187
uses: actions/cache@v4
@@ -223,7 +223,7 @@ jobs:
223223
- name: "Build a release"
224224
run: make -C ${GITHUB_WORKSPACE} release
225225
- name: "Upload artifact"
226-
uses: actions/upload-artifact@v4
226+
uses: actions/upload-artifact@v5
227227
with:
228228
name: acton-${{ matrix.os }}-${{ matrix.version }}-${{ matrix.arch }}
229229
path: ${{ github.workspace }}/acton-*
@@ -234,7 +234,7 @@ jobs:
234234
make -C ${GITHUB_WORKSPACE} test
235235
- name: "Upload whole test dir as artifact on test failure"
236236
if: failure()
237-
uses: actions/upload-artifact@v4
237+
uses: actions/upload-artifact@v5
238238
with:
239239
name: test-debug-${{ matrix.os }}-${{ matrix.version }}-${{ matrix.arch }}-${{ github.run_id }}.zip
240240
path: |
@@ -268,7 +268,7 @@ jobs:
268268
apt-get install -qy bzip2 curl g++ haskell-stack libtinfo-dev make procps zlib1g-dev
269269
apt-get install -qy bash-completion build-essential debhelper devscripts
270270
- name: "Check out repository code"
271-
uses: actions/checkout@v4
271+
uses: actions/checkout@v5
272272
- name: "Cache stuff"
273273
uses: actions/cache@v4
274274
with:
@@ -303,7 +303,7 @@ jobs:
303303
ls ${{ steps.vars.outputs.debdir }}/../
304304
mv ${{ steps.vars.outputs.debdir }}/../acton_* ${{ steps.vars.outputs.debdir }}/
305305
- name: "Upload artifact"
306-
uses: actions/upload-artifact@v4
306+
uses: actions/upload-artifact@v5
307307
with:
308308
name: acton-debs-${{ matrix.arch }}
309309
# Using a wildcard and then deb here to force the entire directory to
@@ -317,23 +317,28 @@ jobs:
317317
strategy:
318318
fail-fast: false
319319
matrix:
320-
os: [macos-13, macos-14, macos-15]
320+
os: [macos-14, macos-15, macos-15-intel]
321321
runs-on: ${{ matrix.os }}
322322
steps:
323323
- name: "Machine info"
324324
run: |
325325
uname -a
326326
system_profiler SPHardwareDataType
327-
- name: "Download artifacts for Macos x86_64, built on macos-13"
328-
if: ${{ matrix.os == 'macos-13' }}
329-
uses: actions/download-artifact@v5
327+
- name: "Download artifacts for Macos arm64, built on macos-15 (for macos-14 runner)"
328+
if: ${{ matrix.os == 'macos-14' }}
329+
uses: actions/download-artifact@v6
330330
with:
331-
name: acton-macos-13-x86_64
332-
- name: "Download artifacts for Macos arm64, built on macos-14"
333-
if: ${{ matrix.os == 'macos-14' || matrix.os == 'macos-15' }}
334-
uses: actions/download-artifact@v5
331+
name: acton-macos-15-aarch64
332+
- name: "Download artifacts for Macos arm64, built on macos-15"
333+
if: ${{ matrix.os == 'macos-15' }}
334+
uses: actions/download-artifact@v6
335335
with:
336-
name: acton-macos-14-aarch64
336+
name: acton-macos-15-aarch64
337+
- name: "Download artifacts for Macos x86_64, built on macos-15"
338+
if: ${{ matrix.os == 'macos-15-intel' }}
339+
uses: actions/download-artifact@v6
340+
with:
341+
name: acton-macos-15-x86_64
337342
- name: "Extract acton"
338343
run: |
339344
tar Jxf $(ls acton-macos-*.tar.xz | tail -n1)
@@ -398,7 +403,7 @@ jobs:
398403
env
399404
cat /proc/cpuinfo
400405
- name: "Download .deb files"
401-
uses: actions/download-artifact@v5
406+
uses: actions/download-artifact@v6
402407
with:
403408
name: acton-debs-${{ matrix.arch }}
404409
- name: "Install acton from .deb"
@@ -432,7 +437,7 @@ jobs:
432437
mv /tmp/core* .
433438
- name: "Upload core file & binaries as artifacts on test failure"
434439
if: failure()
435-
uses: actions/upload-artifact@v4
440+
uses: actions/upload-artifact@v5
436441
with:
437442
name: coredumps-${{ matrix.os }}-${{ matrix.version }}-${{ github.run_id }}.zip
438443
path: |
@@ -444,7 +449,7 @@ jobs:
444449
runs-on: [self-hosted, linux, X64]
445450
steps:
446451
- name: "Check out repository code"
447-
uses: actions/checkout@v4
452+
uses: actions/checkout@v5
448453
- name: "Remove any currently install Acton to ensure clean slate"
449454
run: |
450455
sudo apt-get purge -qy acton
@@ -463,7 +468,7 @@ jobs:
463468
cd ../perf
464469
acton test perf --record
465470
- name: "Download .deb files"
466-
uses: actions/download-artifact@v5
471+
uses: actions/download-artifact@v6
467472
with:
468473
name: acton-debs-amd64
469474
- name: "Install acton from .deb"
@@ -494,7 +499,7 @@ jobs:
494499
~/.cache/acton/
495500
key: test-telemetrify
496501
- name: "Download .deb files"
497-
uses: actions/download-artifact@v5
502+
uses: actions/download-artifact@v6
498503
with:
499504
name: acton-debs-amd64
500505
- name: "Install acton from .deb"
@@ -504,7 +509,7 @@ jobs:
504509
apt install -y ./deb/acton_*.deb
505510
acton version
506511
- name: "Clone Telemetrify and check out acton-next branch"
507-
uses: actions/checkout@v4
512+
uses: actions/checkout@v5
508513
with:
509514
repository: telemetrify-collector/telemetrify
510515
path: telemetrify
@@ -590,25 +595,25 @@ jobs:
590595
env:
591596
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
592597
- name: "Check out repository code"
593-
uses: actions/checkout@v4
594-
- name: "Download artifacts for Macos aarch64, built on macos-14"
595-
uses: actions/download-artifact@v5
598+
uses: actions/checkout@v5
599+
- name: "Download artifacts for Macos aarch64, built on macos-15"
600+
uses: actions/download-artifact@v6
596601
with:
597-
name: acton-macos-14-aarch64
598-
- name: "Download artifacts for Macos x86_64, built on macos-13"
599-
uses: actions/download-artifact@v5
602+
name: acton-macos-15-aarch64
603+
- name: "Download artifacts for Macos x86_64, built on macos-15"
604+
uses: actions/download-artifact@v6
600605
with:
601-
name: acton-macos-13-x86_64
606+
name: acton-macos-15-x86_64
602607
- name: "Download artifacts for Linux x86_64, built on Debian:12"
603-
uses: actions/download-artifact@v5
608+
uses: actions/download-artifact@v6
604609
with:
605610
name: acton-debian-12-x86_64
606611
- name: "Download artifacts for Linux arm64, built on Ubuntu:24.04"
607-
uses: actions/download-artifact@v5
612+
uses: actions/download-artifact@v6
608613
with:
609614
name: acton-ubuntu-24.04-arm64v8
610615
- name: "Download artifacts for Debian Linux on amd64 (x86_64) & arm64 (aarch64)"
611-
uses: actions/download-artifact@v5
616+
uses: actions/download-artifact@v6
612617
with:
613618
pattern: acton-debs-*
614619
merge-multiple: true
@@ -670,21 +675,25 @@ jobs:
670675
needs: [test-macos, test-linux, build-debs]
671676
steps:
672677
- name: "Check out repository code"
673-
uses: actions/checkout@v4
674-
- name: "Download artifacts for Macos, built on macos-13"
675-
uses: actions/download-artifact@v5
678+
uses: actions/checkout@v5
679+
- name: "Download artifacts for Macos aarch64, built on macos-15"
680+
uses: actions/download-artifact@v6
681+
with:
682+
name: acton-macos-15-aarch64
683+
- name: "Download artifacts for Macos x86_64, built on macos-15"
684+
uses: actions/download-artifact@v6
676685
with:
677-
name: acton-macos-13-x86_64
686+
name: acton-macos-15-x86_64
678687
- name: "Download artifacts for Linux x86_64, built on Debian:12"
679-
uses: actions/download-artifact@v5
688+
uses: actions/download-artifact@v6
680689
with:
681690
name: acton-debian-12-x86_64
682691
- name: "Download artifacts for Linux arm64, built on Ubuntu:24.04"
683-
uses: actions/download-artifact@v5
692+
uses: actions/download-artifact@v6
684693
with:
685694
name: acton-ubuntu-24.04-arm64v8
686695
- name: "Download artifacts for Debian Linux"
687-
uses: actions/download-artifact@v5
696+
uses: actions/download-artifact@v6
688697
with:
689698
pattern: acton-debs-*
690699
merge-multiple: true
@@ -723,13 +732,13 @@ jobs:
723732
with:
724733
gpg_private_key: ${{ secrets.APT_GPG_PRIVATE_KEY }}
725734
- name: Check out code of apt.acton-lang.io repo
726-
uses: actions/checkout@v4
735+
uses: actions/checkout@v5
727736
with:
728737
repository: actonlang/apt.acton-lang.io
729738
path: apt
730739
ssh-key: ${{ secrets.APT_DEPLOY_KEY }}
731740
- name: "Download artifacts for Debian Linux"
732-
uses: actions/download-artifact@v5
741+
uses: actions/download-artifact@v6
733742
with:
734743
path: .
735744
pattern: acton-debs-*
@@ -772,13 +781,13 @@ jobs:
772781
apt-get install -qy -t experimental reprepro
773782
apt-get install -qy git gnupg
774783
- name: Check out code of aptip.acton-lang.io repo
775-
uses: actions/checkout@v4
784+
uses: actions/checkout@v5
776785
with:
777786
repository: actonlang/aptip.acton-lang.io
778787
path: apt
779788
ssh-key: ${{ secrets.APT_TIP_DEPLOY_KEY }}
780789
- name: "Download artifacts for Debian Linux"
781-
uses: actions/download-artifact@v5
790+
uses: actions/download-artifact@v6
782791
with:
783792
path: .
784793
pattern: acton-debs-*
@@ -813,7 +822,7 @@ jobs:
813822
needs: [test-macos, test-linux, build-debs]
814823
steps:
815824
- name: "Check out code of main acton repo"
816-
uses: actions/checkout@v4
825+
uses: actions/checkout@v5
817826
- name: "Get the version from version.mk"
818827
id: get_version
819828
run: |
@@ -833,7 +842,7 @@ jobs:
833842
echo "sum=$CHECKSUM" >> $GITHUB_OUTPUT
834843
echo "Checksum: $CHECKSUM"
835844
- name: "Check out code of our brew repo"
836-
uses: actions/checkout@v4
845+
uses: actions/checkout@v5
837846
with:
838847
repository: actonlang/homebrew-acton
839848
path: homebrew-acton

.github/workflows/webex-notifications.yml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,19 +37,21 @@ jobs:
3737
WEBEX_TOKEN: ${{ secrets.WEBEX_TOKEN }}
3838
WEBEX_ROOM_ID: ${{ secrets.WEBEX_ROOM_ID }}
3939
run: |
40-
MESSAGE='${{ steps.message.outputs.message }}'
40+
set -euo pipefail
4141
42-
# Escape the message for JSON
43-
ESCAPED_MESSAGE=$(echo "$MESSAGE" | jq -Rs .)
42+
# Write the prepared message to a file verbatim to avoid shell quoting issues
43+
cat > message.txt <<'__WEBEX_MSG__'
44+
${{ steps.message.outputs.message }}
45+
__WEBEX_MSG__
4446
45-
# Build JSON payload
47+
# Build JSON payload safely; jq will handle JSON escaping
4648
JSON_PAYLOAD=$(jq -n \
4749
--arg roomId "$WEBEX_ROOM_ID" \
48-
--argjson markdown "$ESCAPED_MESSAGE" \
50+
--rawfile markdown message.txt \
4951
'{roomId: $roomId, markdown: $markdown}')
5052
5153
# Send message to Webex room using direct API call
52-
RESPONSE=$(curl -s -X POST "https://webexapis.com/v1/messages" \
54+
RESPONSE=$(curl -sS -X POST "https://webexapis.com/v1/messages" \
5355
-H "Authorization: Bearer $WEBEX_TOKEN" \
5456
-H "Content-Type: application/json" \
5557
-d "$JSON_PAYLOAD" \

0 commit comments

Comments
 (0)