ruby_everywhere 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +86 -2
- data/bridge/README.md +70 -1
- data/bridge/everywhere/bridge.js +151 -0
- data/bridge/everywhere/native.css +61 -0
- data/lib/everywhere/auth_handoff.rb +8 -2
- data/lib/everywhere/builders/desktop.rb +326 -0
- data/lib/everywhere/child_processes.rb +74 -0
- data/lib/everywhere/commands/build.rb +44 -5
- data/lib/everywhere/commands/dev.rb +426 -59
- data/lib/everywhere/commands/install.rb +20 -0
- data/lib/everywhere/commands/release.rb +2 -2
- data/lib/everywhere/config.rb +298 -4
- data/lib/everywhere/console.rb +117 -0
- data/lib/everywhere/desktop_assets.rb +150 -0
- data/lib/everywhere/dock/footer.rb +150 -0
- data/lib/everywhere/dock/screen.rb +114 -0
- data/lib/everywhere/dock/state.rb +59 -0
- data/lib/everywhere/dock.rb +238 -0
- data/lib/everywhere/emulator.rb +2 -2
- data/lib/everywhere/fatal.rb +20 -0
- data/lib/everywhere/line_pump.rb +89 -0
- data/lib/everywhere/log_filter.rb +37 -0
- data/lib/everywhere/native_helper.rb +38 -5
- data/lib/everywhere/paths.rb +62 -11
- data/lib/everywhere/relay.rb +77 -0
- data/lib/everywhere/shellout.rb +90 -15
- data/lib/everywhere/task_pool.rb +123 -0
- data/lib/everywhere/ui.rb +54 -11
- data/lib/everywhere/version.rb +1 -1
- data/support/desktop/README.md +121 -0
- data/support/{shell → desktop}/src-tauri/Cargo.lock +23 -0
- data/support/{shell → desktop}/src-tauri/Cargo.toml +19 -1
- data/support/{shell → desktop}/src-tauri/capabilities/default.json +7 -0
- data/support/desktop/src-tauri/gen/schemas/capabilities.json +1 -0
- data/support/desktop/src-tauri/src/extension_host.rs +53 -0
- data/support/desktop/src-tauri/src/extensions/mod.rs +39 -0
- data/support/{shell → desktop}/src-tauri/src/main.rs +355 -10
- data/support/{shell → desktop}/src-tauri/tauri.conf.json +2 -2
- data/support/{macos → release/macos}/notarize.sh +2 -2
- metadata +31 -17
- data/support/github/build.yml +0 -85
- data/support/shell/src-tauri/gen/schemas/capabilities.json +0 -1
- /data/support/{shell → desktop}/splash/index.html +0 -0
- /data/support/{shell → desktop}/src-tauri/build.rs +0 -0
- /data/support/{shell → desktop}/src-tauri/gen/schemas/acl-manifests.json +0 -0
- /data/support/{shell → desktop}/src-tauri/gen/schemas/desktop-schema.json +0 -0
- /data/support/{shell → desktop}/src-tauri/gen/schemas/macOS-schema.json +0 -0
- /data/support/{shell → desktop}/src-tauri/icons/icon.png +0 -0
- /data/support/{shell → desktop}/src-tauri/src/updater.rs +0 -0
- /data/support/{macos → release/macos}/entitlements.plist +0 -0
data/support/github/build.yml
DELETED
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
# RubyEverywhere Platform — reusable build workflow.
|
|
2
|
-
#
|
|
3
|
-
# Lives in the RunnerDispatch build repo (private, RubyEverywhere-owned). The
|
|
4
|
-
# Platform triggers it via workflow_dispatch (see app/models/runner_dispatch.rb);
|
|
5
|
-
# it runs one artifact on an ephemeral, single-use macOS runner and reports back
|
|
6
|
-
# through the Runner API. No customer source lives in this repo — it arrives as
|
|
7
|
-
# the snapshot the runner downloads.
|
|
8
|
-
#
|
|
9
|
-
# The heavy part is provisioning the toolchain (rbe-tebako fork + deps + Xcode
|
|
10
|
-
# shims). Cache it aggressively; a warm runner builds in minutes.
|
|
11
|
-
|
|
12
|
-
name: RubyEverywhere Platform Build
|
|
13
|
-
|
|
14
|
-
on:
|
|
15
|
-
workflow_dispatch:
|
|
16
|
-
inputs:
|
|
17
|
-
artifact_id:
|
|
18
|
-
description: Artifact public id (art_…)
|
|
19
|
-
required: true
|
|
20
|
-
runner_token:
|
|
21
|
-
description: Per-artifact runner token
|
|
22
|
-
required: true
|
|
23
|
-
callback_base_url:
|
|
24
|
-
description: Platform base URL the runner reports back to
|
|
25
|
-
required: true
|
|
26
|
-
|
|
27
|
-
# One in-flight job per artifact.
|
|
28
|
-
concurrency:
|
|
29
|
-
group: build-${{ inputs.artifact_id }}
|
|
30
|
-
cancel-in-progress: false
|
|
31
|
-
|
|
32
|
-
jobs:
|
|
33
|
-
build:
|
|
34
|
-
# macOS/iOS → macos; Android → ubuntu; Windows → windows (routed by the
|
|
35
|
-
# dispatcher today only macOS is live).
|
|
36
|
-
runs-on: macos-14 # Apple Silicon
|
|
37
|
-
timeout-minutes: 45
|
|
38
|
-
|
|
39
|
-
steps:
|
|
40
|
-
- name: Set up Ruby (to run the every CLI itself)
|
|
41
|
-
uses: ruby/setup-ruby@v1
|
|
42
|
-
with:
|
|
43
|
-
ruby-version: "3.4"
|
|
44
|
-
|
|
45
|
-
- name: Provision the RubyEverywhere toolchain
|
|
46
|
-
run: |
|
|
47
|
-
set -euo pipefail
|
|
48
|
-
# The signing engine needs the rbe-tebako fork + build deps. This is the
|
|
49
|
-
# slow step — restore it from cache in a real setup (actions/cache on
|
|
50
|
-
# ~/.tebako, ~/.tebako-shims, brew).
|
|
51
|
-
brew install bison
|
|
52
|
-
gem install ruby_everywhere # provides `every`
|
|
53
|
-
# gem install rbe-tebako # the fork (or build from source)
|
|
54
|
-
# bin/setup-xcode-shims # Xcode 26 CXX shim, rbconfig patch
|
|
55
|
-
every doctor || true # surfaces any missing toolchain bits
|
|
56
|
-
|
|
57
|
-
- name: Install Apple intermediate certificates
|
|
58
|
-
run: |
|
|
59
|
-
set -euo pipefail
|
|
60
|
-
# The delivered .p12 holds only the leaf; codesign needs the Developer
|
|
61
|
-
# ID intermediate to build a complete chain (a clean runner has none).
|
|
62
|
-
for cert in DeveloperIDG2CA AppleWWDRCAG3; do
|
|
63
|
-
curl -fsSL "https://www.apple.com/certificateauthority/$cert.cer" -o "$RUNNER_TEMP/$cert.cer"
|
|
64
|
-
sudo security import "$RUNNER_TEMP/$cert.cer" -k /Library/Keychains/System.keychain || true
|
|
65
|
-
done
|
|
66
|
-
|
|
67
|
-
- name: Provision the generic Tauri shell
|
|
68
|
-
run: |
|
|
69
|
-
set -euo pipefail
|
|
70
|
-
# The shell (src-tauri) is generic — same for every app. Pull the
|
|
71
|
-
# pinned prebuilt shell for this platform.
|
|
72
|
-
echo "SHELL_DIR=$RUNNER_TEMP/shell/src-tauri" >> "$GITHUB_ENV"
|
|
73
|
-
# gh release download --repo rubyeverywhere/shell --pattern 'src-tauri-*' ...
|
|
74
|
-
# OR: git clone --depth 1 https://github.com/rubyeverywhere/shell "$RUNNER_TEMP/shell"
|
|
75
|
-
|
|
76
|
-
- name: Run the build
|
|
77
|
-
run: |
|
|
78
|
-
every platform runner \
|
|
79
|
-
--artifact "${{ inputs.artifact_id }}" \
|
|
80
|
-
--token "${{ inputs.runner_token }}" \
|
|
81
|
-
--url "${{ inputs.callback_base_url }}" \
|
|
82
|
-
--shell-dir "$SHELL_DIR"
|
|
83
|
-
# Signing credentials are pulled JIT from the Platform into a throwaway
|
|
84
|
-
# keychain by the runner itself — they are never GitHub secrets, and the
|
|
85
|
-
# ephemeral runner is destroyed after this job.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"default":{"identifier":"default","description":"Main window IPC: local app origins (the packaged Rails app serves on 127.0.0.1)","remote":{"urls":["http://127.0.0.1:*","http://localhost:*"]},"local":true,"windows":["main"],"permissions":["core:default","core:window:allow-set-title","notification:default","dialog:default","clipboard-manager:allow-read-text","clipboard-manager:allow-write-text"]}}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|