rrtrace 0.1.0-arm64-darwin-23
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 +7 -0
- data/.github/workflows/release.yml +137 -0
- data/Cargo.lock +2477 -0
- data/Cargo.toml +23 -0
- data/LICENSE.txt +21 -0
- data/README.md +39 -0
- data/Rakefile +16 -0
- data/ext/rrtrace/extconf.rb +16 -0
- data/ext/rrtrace/process_manager_posix.h +25 -0
- data/ext/rrtrace/process_manager_windows.h +40 -0
- data/ext/rrtrace/rrtrace.c +192 -0
- data/ext/rrtrace/rrtrace.h +8 -0
- data/ext/rrtrace/rrtrace_event.h +111 -0
- data/ext/rrtrace/rrtrace_event_ringbuffer.h +45 -0
- data/ext/rrtrace/rust_build_helper.rb +41 -0
- data/ext/rrtrace/shared_memory_posix.h +26 -0
- data/ext/rrtrace/shared_memory_windows.h +34 -0
- data/lib/rrtrace/rrtrace.bundle +0 -0
- data/lib/rrtrace/version.rb +5 -0
- data/lib/rrtrace.rb +12 -0
- data/mise.toml +8 -0
- data/sig/rrtrace.rbs +4 -0
- data/src/main.rs +197 -0
- data/src/renderer/vertex_arena.rs +305 -0
- data/src/renderer.rs +751 -0
- data/src/ringbuffer.rs +134 -0
- data/src/shader.wgsl +115 -0
- data/src/shm_unix.rs +47 -0
- data/src/shm_windows.rs +44 -0
- data/src/trace_state.rs +275 -0
- metadata +88 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: c82f4fc5d8b6aa2cc436999d19ae4ceb0f1554e8230113c45204654de3dc1a3c
|
|
4
|
+
data.tar.gz: e347b62dd38543ba1f380cd13ad350eb1dc8b71243c3b7916d595d01ce07fb68
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 360abdf9b1fbd41bc75723a22a227fc8dea6c300a12bdcf6e25c916c9280d4609712b8f3c27dc7dc10b1eed95be8f641535b9d02ecd65c50bfae37cdf4931abe
|
|
7
|
+
data.tar.gz: e573aca222c4fb93f489448118a5beecbc41baee09df3341c1c3421a6ac7a1d2bcf7afd4fe13486fed3d0e736143c2d77a1f55734c5727ba73bed6886bbb8d1e
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
name: Build and Release
|
|
2
|
+
|
|
3
|
+
on: push
|
|
4
|
+
|
|
5
|
+
jobs:
|
|
6
|
+
build:
|
|
7
|
+
name: Build on ${{ matrix.os }}
|
|
8
|
+
runs-on: ${{ matrix.os }}
|
|
9
|
+
strategy:
|
|
10
|
+
fail-fast: false
|
|
11
|
+
matrix:
|
|
12
|
+
os: [ ubuntu-latest, macos-latest, windows-latest ]
|
|
13
|
+
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@v4
|
|
16
|
+
|
|
17
|
+
- name: Set up Ruby
|
|
18
|
+
uses: ruby/setup-ruby@v1
|
|
19
|
+
with:
|
|
20
|
+
ruby-version: '4.0'
|
|
21
|
+
bundler-cache: true
|
|
22
|
+
|
|
23
|
+
- name: Set up Rust
|
|
24
|
+
uses: dtolnay/rust-toolchain@stable
|
|
25
|
+
|
|
26
|
+
- name: Get version
|
|
27
|
+
id: get_version
|
|
28
|
+
shell: bash
|
|
29
|
+
run: |
|
|
30
|
+
set -euo pipefail
|
|
31
|
+
|
|
32
|
+
VERSION=$(ruby -Ilib -r rrtrace/version -e 'puts Rrtrace::VERSION')
|
|
33
|
+
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
|
34
|
+
|
|
35
|
+
- name: Build native gem
|
|
36
|
+
run: bundle exec rake native gem
|
|
37
|
+
|
|
38
|
+
- name: Build source gem
|
|
39
|
+
if: matrix.os == 'ubuntu-latest'
|
|
40
|
+
shell: bash
|
|
41
|
+
run: |
|
|
42
|
+
set -euo pipefail
|
|
43
|
+
|
|
44
|
+
gem build rrtrace.gemspec
|
|
45
|
+
mkdir -p pkg
|
|
46
|
+
mv rrtrace-${{ steps.get_version.outputs.version }}.gem pkg/
|
|
47
|
+
|
|
48
|
+
- name: Upload artifacts
|
|
49
|
+
uses: actions/upload-artifact@v4
|
|
50
|
+
with:
|
|
51
|
+
name: gems-${{ matrix.os }}
|
|
52
|
+
path: pkg/*.gem
|
|
53
|
+
|
|
54
|
+
release:
|
|
55
|
+
name: Release Gems
|
|
56
|
+
needs: build
|
|
57
|
+
if: github.ref_name == github.event.repository.default_branch
|
|
58
|
+
runs-on: ubuntu-latest
|
|
59
|
+
permissions:
|
|
60
|
+
id-token: write
|
|
61
|
+
contents: write
|
|
62
|
+
steps:
|
|
63
|
+
- uses: actions/checkout@v4
|
|
64
|
+
|
|
65
|
+
- name: Set up Ruby
|
|
66
|
+
uses: ruby/setup-ruby@v1
|
|
67
|
+
with:
|
|
68
|
+
ruby-version: '4.0'
|
|
69
|
+
bundler-cache: true
|
|
70
|
+
|
|
71
|
+
- name: Download artifacts
|
|
72
|
+
uses: actions/download-artifact@v4
|
|
73
|
+
with:
|
|
74
|
+
path: pkg
|
|
75
|
+
merge-multiple: true
|
|
76
|
+
|
|
77
|
+
- name: Configure RubyGems credentials
|
|
78
|
+
uses: rubygems/configure-rubygems-credentials@v1.0.0
|
|
79
|
+
|
|
80
|
+
- name: Get version
|
|
81
|
+
id: get_version
|
|
82
|
+
shell: bash
|
|
83
|
+
run: |
|
|
84
|
+
set -euo pipefail
|
|
85
|
+
VERSION=$(ruby -Ilib -r rrtrace/version -e 'puts Rrtrace::VERSION')
|
|
86
|
+
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
|
87
|
+
|
|
88
|
+
- name: Publish to RubyGems
|
|
89
|
+
shell: bash
|
|
90
|
+
run: |
|
|
91
|
+
set -euo pipefail
|
|
92
|
+
|
|
93
|
+
VERSION=${{ steps.get_version.outputs.version }}
|
|
94
|
+
|
|
95
|
+
# Fetch published versions from RubyGems API
|
|
96
|
+
echo "Fetching published versions for rrtrace..."
|
|
97
|
+
PUBLISHED_VERSIONS=$(curl -s https://rubygems.org/api/v1/versions/rrtrace.json)
|
|
98
|
+
if ! echo "$PUBLISHED_VERSIONS" | jq -e 'type == "array"' >/dev/null 2>&1; then
|
|
99
|
+
PUBLISHED_VERSIONS="[]"
|
|
100
|
+
fi
|
|
101
|
+
|
|
102
|
+
PUBLISHED_COUNT=0
|
|
103
|
+
|
|
104
|
+
for gem_file in pkg/*.gem; do
|
|
105
|
+
if [ ! -f "$gem_file" ]; then continue; fi
|
|
106
|
+
GEM_FILENAME=$(basename $gem_file)
|
|
107
|
+
PLATFORM=$(echo $GEM_FILENAME | sed -E "s/rrtrace-$VERSION-?//; s/\.gem$//")
|
|
108
|
+
if [ -z "$PLATFORM" ]; then PLATFORM="ruby"; fi
|
|
109
|
+
|
|
110
|
+
echo "Checking if $GEM_FILENAME (platform: $PLATFORM) is already published..."
|
|
111
|
+
|
|
112
|
+
if echo "$PUBLISHED_VERSIONS" | jq -e ".[] | select(.number == \"$VERSION\" and .platform == \"$PLATFORM\")" > /dev/null 2>&1; then
|
|
113
|
+
echo "$GEM_FILENAME is already published. Skipping."
|
|
114
|
+
else
|
|
115
|
+
echo "Publishing $GEM_FILENAME..."
|
|
116
|
+
gem push $gem_file
|
|
117
|
+
PUBLISHED_COUNT=$((PUBLISHED_COUNT + 1))
|
|
118
|
+
fi
|
|
119
|
+
done
|
|
120
|
+
|
|
121
|
+
echo "PUBLISHED_COUNT=$PUBLISHED_COUNT" >> $GITHUB_ENV
|
|
122
|
+
|
|
123
|
+
- name: Create Tag
|
|
124
|
+
if: env.PUBLISHED_COUNT != '0'
|
|
125
|
+
shell: bash
|
|
126
|
+
run: |
|
|
127
|
+
set -euo pipefail
|
|
128
|
+
VERSION="v${{ steps.get_version.outputs.version }}"
|
|
129
|
+
if git rev-parse "$VERSION" >/dev/null 2>&1; then
|
|
130
|
+
echo "Tag $VERSION already exists."
|
|
131
|
+
else
|
|
132
|
+
echo "Creating and pushing tag $VERSION..."
|
|
133
|
+
git config user.name "github-actions[bot]"
|
|
134
|
+
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
135
|
+
git tag "$VERSION"
|
|
136
|
+
git push origin "$VERSION"
|
|
137
|
+
fi
|