Skip to content

Commit 11e0deb

Browse files
authored
Merge branch 'trunk' into runarorama/avroMagic
2 parents f76ca73 + 1b69cf6 commit 11e0deb

Some content is hidden

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

81 files changed

+357
-13444
lines changed

.github/workflows/bundle-ucm.yaml

Lines changed: 4 additions & 135 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
name: bundle ucm
22

33
# build optimized ucm
4-
# package racket lib
54
# build/dist unison-runtime
65

76
on:
@@ -12,9 +11,6 @@ on:
1211
type: string
1312
required: true
1413

15-
env:
16-
racket_version: "8.17"
17-
1814
defaults:
1915
run:
2016
shell: bash
@@ -99,115 +95,9 @@ jobs:
9995
payload: |
10096
text: "build-ucm failed on ${{ github.ref }}. See details: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} cc <@UF924D5S7>"
10197
102-
package-racket-lib:
103-
strategy:
104-
matrix:
105-
os: [ubuntu-24.04]
106-
needs: build-ucm
107-
name: package racket lib
108-
runs-on: ${{matrix.os}}
109-
steps:
110-
- name: set up environment
111-
run: |
112-
echo "ucm=${{ runner.temp }}/unison" >> $GITHUB_ENV
113-
- name: download racket `unison` source
114-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
115-
with:
116-
ref: ${{inputs.ref}}
117-
- name: download ucm artifact
118-
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4
119-
with:
120-
name: unison-${{matrix.os}}
121-
path: ${{ runner.temp }}
122-
- name: generate source
123-
run: |
124-
chmod +x ${{ env.ucm }}
125-
${{ env.ucm }} transcript unison-src/transcripts-manual/gen-racket-libs.md
126-
- name: install racket
127-
uses: unisonweb/actions/racket/install@main
128-
with:
129-
version: ${{env.racket_version}}
130-
- name: create racket lib
131-
run: |
132-
raco pkg create scheme-libs/racket/unison
133-
ls -l scheme-libs/racket/unison.zip{,.CHECKSUM}
134-
- name: upload racket lib
135-
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4
136-
with:
137-
name: racket-lib
138-
path: |
139-
scheme-libs/racket/unison.zip
140-
scheme-libs/racket/unison.zip.CHECKSUM
141-
if-no-files-found: error
142-
- name: report errors
143-
if: github.ref == 'refs/heads/trunk' && failure()
144-
uses: slackapi/slack-github-action@485a9d42d3a73031f12ec201c457e2162c45d02d # https://github.com/slackapi/slack-github-action/releases/tag/v2.0.0
145-
with:
146-
webhook: ${{ secrets.SLACK_WEBHOOK_URL }}
147-
webhook-type: incoming-webhook
148-
payload: |
149-
text: "package-racket-lib failed on ${{ github.ref }}. See details: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} cc <@UF924D5S7>"
150-
151-
build-dist-unison-runtime:
152-
needs: package-racket-lib
153-
name: build unison-runtime
154-
strategy:
155-
fail-fast: false
156-
matrix:
157-
os:
158-
- ubuntu-24.04
159-
# - ubuntu-24.04-arm # no racket for arm linux
160-
- macos-13 # intel
161-
- macos-14 # apple silicon
162-
- windows-2025
163-
# - windows-11-arm
164-
runs-on: ${{matrix.os}}
165-
steps:
166-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
167-
with:
168-
ref: ${{inputs.ref}}
169-
- name: download racket lib
170-
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4
171-
with:
172-
name: racket-lib
173-
path: scheme-libs/racket/
174-
- name: Cache Racket dependencies
175-
id: cache-racket-deps
176-
uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4
177-
with:
178-
path: |
179-
~/.cache/racket
180-
~/.local/share/racket
181-
~/Library/Racket/${{env.racket_version}}
182-
# This isn't right because unison.zip is going to include different dates each time.
183-
# Maybe we can unpack it and hash the contents.
184-
key: ${{matrix.os}}-racket-${{env.racket_version}}-${{hashFiles('scheme-libs/racket/unison.zip')}}
185-
- name: install racket
186-
uses: unisonweb/actions/racket/install@main
187-
with:
188-
version: ${{env.racket_version}}
189-
- name: install unison racket lib
190-
if: steps.cache-racket-deps.outputs.cache-hit != 'true'
191-
run: |
192-
raco pkg install --auto --skip-installed scheme-libs/racket/unison.zip && \
193-
raco pkg update --auto scheme-libs/racket/unison.zip
194-
- name: build unison-runtime
195-
run: |
196-
raco exe --embed-dlls --orig-exe scheme-libs/racket/unison-runtime.rkt
197-
mkdir runtime
198-
if [[ ${{runner.os}} = 'Windows' ]]; then exe=".exe"; else exe=""; fi
199-
raco distribute runtime scheme-libs/racket/unison-runtime$exe
200-
ls -l runtime/
201-
- name: upload unison-runtime
202-
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4
203-
with:
204-
name: unison-runtime-${{matrix.os}}
205-
path: runtime/
206-
if-no-files-found: error
207-
20898
bundle:
209-
name: bundle ucm, jit, and ui
210-
needs: [build-ucm, package-racket-lib, build-dist-unison-runtime]
99+
name: bundle ucm and ui
100+
needs: [build-ucm]
211101
runs-on: ${{matrix.os}}
212102
strategy:
213103
fail-fast: false
@@ -219,9 +109,6 @@ jobs:
219109
- macos-14
220110
- windows-2025
221111
# - windows-11-arm
222-
include:
223-
- os: ubuntu-24.04-arm
224-
nojit: true
225112
steps:
226113
- name: set up environment
227114
run: |
@@ -236,24 +123,6 @@ jobs:
236123
path: ${{env.staging_dir}}/unison/
237124
- name: restore permissions on ucm
238125
run: chmod +x ${{env.staging_dir}}/unison/unison
239-
- name: download racket lib
240-
if: (!matrix.nojit)
241-
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4
242-
with:
243-
name: racket-lib
244-
path: ${{env.staging_dir}}/racket/
245-
- name: download unison-runtime
246-
if: (!matrix.nojit)
247-
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4
248-
with:
249-
name: unison-runtime-${{matrix.os}}
250-
path: ${{env.staging_dir}}/runtime
251-
- name: restore permissions on unison-runtime
252-
# here we have the `if:` not because of the missing .exe on Windows,
253-
# nor the lack of need to chmod, but because /runtime/bin/ probably doesn't exist
254-
# due to differences in `raco distribute` on Windows vs macOS and Linux.
255-
if: runner.os != 'Windows' && !matrix.nojit
256-
run: chmod +x ${{env.staging_dir}}/runtime/bin/unison-runtime
257126
- name: download latest unison-local-ui
258127
run: |
259128
curl -L -o /tmp/unisonLocal.zip \
@@ -269,7 +138,7 @@ jobs:
269138
#!/bin/bash
270139
unison_root="$(dirname "$(readlink -f "$0")")"
271140
export UCM_WEB_UI="${unison_root}/ui"
272-
"${unison_root}/unison/unison" --runtime-path "${unison_root}/runtime/bin/unison-runtime" "$@"
141+
"${unison_root}/unison/unison" "$@"
273142
- name: create startup script (Windows)
274143
if: runner.os == 'Windows'
275144
uses: 1arp/create-a-file-action@29bab1af4675373aad48a2157c09f1917f85f008 # 0.4.4
@@ -279,7 +148,7 @@ jobs:
279148
content: |
280149
@echo off
281150
SET UCM_WEB_UI=%~dp0ui
282-
"%~dp0unison\unison.exe" --runtime-path "%~dp0runtime\unison-runtime.exe" %*
151+
"%~dp0unison\unison.exe" %*
283152
- name: package everything together
284153
run: |
285154
if [[ ${{runner.os}} = 'Windows' ]]; then

.github/workflows/ci-build-jit-binary.yaml

Lines changed: 0 additions & 134 deletions
This file was deleted.

0 commit comments

Comments
 (0)