-
Notifications
You must be signed in to change notification settings - Fork 13
v0.9.3 to master #458
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
v0.9.3 to master #458
Changes from all commits
a4c3a4c
3265227
ee1d41b
5063937
7d6b953
c7ba5f8
b18e621
2ce10ee
73a7f71
0296abc
11771ee
51509ff
554bc6b
7669b42
2288337
4d782da
c1c6294
80f288a
acc79ac
54c6219
562332c
2935a5d
f1b31d7
d6126c6
3d059d2
0f753f5
e4c1db6
e45631a
39625c5
56a54f1
36146bd
b376c8d
aa48a47
c37e8a5
94d1721
adc0911
b1d907b
c54e6b7
ff64448
a4b55af
05f0188
b9ee9fa
52133d1
80e9890
0846a61
028e213
e26aa31
a5a5bbd
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -42,8 +42,8 @@ jobs: | |
| target: "aarch64-apple-darwin" | ||
| platform: "arm64-mac" | ||
| - name: "Windows" | ||
| runs-on: "ubuntu-22.04" | ||
| target: "x86_64-pc-windows-gnu" | ||
| runs-on: "windows-latest" | ||
| target: "x86_64-pc-windows-msvc" | ||
| platform: "windows" | ||
| ext: ".exe" | ||
|
|
||
|
|
@@ -53,6 +53,18 @@ jobs: | |
| - name: Check out code | ||
| uses: actions/checkout@v4 | ||
|
|
||
| - name: Configure Windows long paths and Cargo homes | ||
| if: ${{ runner.os == 'Windows' }} | ||
| shell: powershell | ||
| run: | | ||
| $ErrorActionPreference = 'Stop' | ||
| git config --global core.longpaths true | ||
| New-Item -ItemType Directory -Path C:\cargo -Force | Out-Null | ||
| New-Item -ItemType Directory -Path C:\rustup -Force | Out-Null | ||
| echo "CARGO_HOME=C:\cargo" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | ||
| echo "RUSTUP_HOME=C:\rustup" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | ||
| echo "CARGO_NET_GIT_FETCH_WITH_CLI=true" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | ||
|
|
||
| - name: Cache Cargo registry | ||
| uses: actions/cache@v4 | ||
| with: | ||
|
|
@@ -66,6 +78,7 @@ jobs: | |
|
|
||
|
|
||
| - name: Setup prerequisites | ||
| shell: bash | ||
| run: | | ||
| mkdir -p dash-evo-tool/ | ||
|
|
||
|
|
@@ -78,7 +91,7 @@ jobs: | |
|
|
||
| - name: Install essentials | ||
| if: ${{ runner.os == 'Linux' }} | ||
| run: sudo apt-get update && sudo apt-get install -y build-essential pkg-config clang cmake unzip libsqlite3-dev gcc-mingw-w64 mingw-w64 libsqlite3-dev mingw-w64-x86-64-dev gcc-aarch64-linux-gnu zip && uname -a && cargo clean | ||
| run: sudo apt-get update && sudo apt-get install -y build-essential pkg-config clang cmake unzip libsqlite3-dev gcc-mingw-w64 mingw-w64 libsqlite3-dev mingw-w64-x86-64-dev gcc-aarch64-linux-gnu zip nasm && uname -a && cargo clean | ||
|
|
||
| - name: Install protoc (ARM) | ||
| if: ${{ matrix.platform == 'arm64-linux' }} | ||
|
|
@@ -98,6 +111,18 @@ jobs: | |
| env: | ||
| PROTOC: /usr/local/bin/protoc | ||
|
|
||
| - name: Install protoc (Windows MSVC) | ||
| if: ${{ matrix.target == 'x86_64-pc-windows-msvc' }} | ||
| shell: powershell | ||
| run: | | ||
| $ErrorActionPreference = 'Stop' | ||
| $url = 'https://github.com/protocolbuffers/protobuf/releases/download/v25.2/protoc-25.2-win64.zip' | ||
| Invoke-WebRequest -Uri $url -OutFile protoc.zip | ||
| Expand-Archive -Path protoc.zip -DestinationPath "$env:RUNNER_TEMP\protoc" -Force | ||
| Remove-Item protoc.zip | ||
| # Add protoc to PATH for subsequent steps | ||
| echo "$env:RUNNER_TEMP\protoc\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | ||
|
|
||
| - name: Install protoc (Mac x64) | ||
| if: ${{ matrix.target == 'x86_64-apple-darwin' }} | ||
| run: curl -OL https://github.com/protocolbuffers/protobuf/releases/download/v25.2/protoc-25.2-osx-x86_64.zip && sudo unzip -o protoc-25.2-osx-x86_64.zip -d /usr/local bin/protoc && sudo unzip -o protoc-25.2-osx-x86_64.zip -d /usr/local 'include/*' && rm -f protoc-25.2-osx-x86_64.zip && uname -a | ||
|
|
@@ -115,18 +140,52 @@ jobs: | |
| run: curl -OL https://www.sqlite.org/2024/sqlite-dll-win-x64-3460100.zip && sudo unzip -o sqlite-dll-win-x64-3460100.zip -d winlibs && sudo chown -R runner:docker winlibs/ && pwd && ls -lah && cd winlibs && x86_64-w64-mingw32-dlltool -d sqlite3.def -l libsqlite3.a && ls -lah && cd .. | ||
|
|
||
| - name: Build project | ||
| shell: bash | ||
| run: | | ||
| cargo build --release --target ${{ matrix.target }} | ||
| set -euo pipefail | ||
| echo "::group::Cargo build output (${{ matrix.target }})" | ||
| cargo build --release --target ${{ matrix.target }} 2>&1 | tee build-${{ matrix.platform }}.log | ||
| echo "::endgroup::" | ||
| mv target/${{ matrix.target }}/release/dash-evo-tool${{ matrix.ext }} dash-evo-tool/dash-evo-tool${{ matrix.ext }} | ||
| env: | ||
| CC_x86_64_pc_windows_gnu: x86_64-w64-mingw32-gcc | ||
| AR_x86_64_pc_windows_gnu: x86_64-w64-mingw32-ar | ||
| CFLAGS_x86_64_pc_windows_gnu: "-O2" | ||
| RUST_BACKTRACE: "1" | ||
| BLST_PORTABLE: ${{ matrix.target == 'x86_64-pc-windows-gnu' && '1' || '' }} | ||
|
Comment on lines
+143
to
+155
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chainVerify bash shell compatibility with Windows paths and remove dead BLST_PORTABLE condition. Two concerns:
🏁 Script executed: #!/bin/bash
# Examine the GitHub Actions workflow file structure
cat .github/workflows/release.yml | head -60
echo "---"
# Show lines around 143-155 and context
sed -n '130,165p' .github/workflows/release.ymlLength of output: 3505 🏁 Script executed: #!/bin/bash
# Check for x86_64-pc-windows-gnu in the matrix
echo "=== Checking for x86_64-pc-windows-gnu in workflow ==="
grep -n "x86_64-pc-windows-gnu" .github/workflows/release.yml
echo ""
echo "=== Checking matrix strategy section ==="
sed -n '/strategy:/,/^[^ ]/p' .github/workflows/release.yml | head -50Length of output: 2093 🏁 Script executed: #!/bin/bash
# Check all uses of matrix.target in the workflow
echo "=== All matrix.target references ==="
grep -n "matrix\.target" .github/workflows/release.ymlLength of output: 864 🏁 Script executed: #!/bin/bash
# Check if BLST_PORTABLE is used elsewhere
echo "=== All BLST_PORTABLE references ==="
grep -n "BLST_PORTABLE" .github/workflows/release.ymlLength of output: 126 🏁 Script executed: #!/bin/bash
# Get full matrix definition
echo "=== Extracting matrix definition ==="
python3 << 'EOF'
import re
with open('.github/workflows/release.yml', 'r') as f:
content = f.read()
# Find the matrix section
matrix_match = re.search(r'strategy:\s*matrix:(.*?)(?=\n[^ ]|\Z)', content, re.DOTALL)
if matrix_match:
matrix_section = matrix_match.group(1)
lines = matrix_section.split('\n')
for i, line in enumerate(lines[:40], 1): # First 40 lines of matrix
print(f"{i:3}: {line}")
EOFLength of output: 932 🏁 Script executed: #!/bin/bash
# Check build step location and context
echo "=== Build step and surrounding context ==="
sed -n '135,160p' .github/workflows/release.yml | cat -nLength of output: 1468 🏁 Script executed: #!/bin/bash
# Check shell: bash usage in workflow
echo "=== All shell specifications ==="
grep -n "shell:" .github/workflows/release.ymlLength of output: 192 🏁 Script executed: #!/bin/bash
# Check matrix platform values
echo "=== Checking matrix.platform usage ==="
grep -n "matrix\.platform" .github/workflows/release.ymlLength of output: 1044 Remove dead code targeting x86_64-pc-windows-gnu—this target is no longer in the matrix. The Additionally, clean up other dead code targeting the old gnu target:
The |
||
|
|
||
| - name: Package release | ||
| - name: Summarize build errors | ||
| if: failure() | ||
| shell: bash | ||
| run: | | ||
| echo "::group::Detected error lines" | ||
| # Try to extract the most relevant error lines from the log | ||
| grep -nE "^error(\[[A-Z0-9]+\])?:|^thread '.*' panicked at|^note:|^= note:" -m 200 build-${{ matrix.platform }}.log || true | ||
| echo "::endgroup::" | ||
| echo "::group::Last 200 lines of build output" | ||
| tail -n 200 build-${{ matrix.platform }}.log || true | ||
| echo "::endgroup::" | ||
|
|
||
| - name: Upload build log | ||
| if: always() | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: build-log-${{ matrix.platform }} | ||
| path: build-${{ matrix.platform }}.log | ||
|
|
||
| - name: Package release (Linux/macOS) | ||
| if: ${{ runner.os != 'Windows' }} | ||
| run: | | ||
| zip -r dash-evo-tool-${{ matrix.platform }}.zip dash-evo-tool/ | ||
|
|
||
| - name: Package release (Windows) | ||
| if: ${{ runner.os == 'Windows' }} | ||
| shell: powershell | ||
| run: | | ||
| $ErrorActionPreference = 'Stop' | ||
| if (Test-Path "dash-evo-tool-${{ matrix.platform }}.zip") { Remove-Item "dash-evo-tool-${{ matrix.platform }}.zip" -Force } | ||
| Compress-Archive -Path "dash-evo-tool/*" -DestinationPath "dash-evo-tool-${{ matrix.platform }}.zip" -Force | ||
|
|
||
| - name: Attest | ||
| uses: actions/attest-build-provenance@v1 | ||
| with: | ||
|
|
@@ -177,4 +236,4 @@ jobs: | |
| ./dash-evo-tool-arm64-mac.zip | ||
| ./dash-evo-tool-windows.zip | ||
| draft: false | ||
| prerelease: true | ||
| prerelease: true | ||
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,64 @@ | ||||||||||||||||||||||||||||||||||
| name: Tests | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| on: | ||||||||||||||||||||||||||||||||||
| push: | ||||||||||||||||||||||||||||||||||
| branches: | ||||||||||||||||||||||||||||||||||
| - main | ||||||||||||||||||||||||||||||||||
| - "v*-dev" | ||||||||||||||||||||||||||||||||||
| pull_request: | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| env: | ||||||||||||||||||||||||||||||||||
| CARGO_TERM_COLOR: always | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| jobs: | ||||||||||||||||||||||||||||||||||
| test: | ||||||||||||||||||||||||||||||||||
| name: Test Suite | ||||||||||||||||||||||||||||||||||
| runs-on: ubuntu-latest | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| steps: | ||||||||||||||||||||||||||||||||||
| - name: Checkout code | ||||||||||||||||||||||||||||||||||
| uses: actions/checkout@v4 | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| - name: Cache Cargo registry | ||||||||||||||||||||||||||||||||||
| uses: actions/cache@v4 | ||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||
| path: | | ||||||||||||||||||||||||||||||||||
| ~/.cargo/registry | ||||||||||||||||||||||||||||||||||
| ~/.cargo/git | ||||||||||||||||||||||||||||||||||
| target | ||||||||||||||||||||||||||||||||||
| key: ${{ runner.os }}-cargo-test-${{ hashFiles('**/Cargo.lock') }} | ||||||||||||||||||||||||||||||||||
| restore-keys: | | ||||||||||||||||||||||||||||||||||
| ${{ runner.os }}-cargo-test- | ||||||||||||||||||||||||||||||||||
| ${{ runner.os }}-cargo- | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| - name: Install Rust toolchain | ||||||||||||||||||||||||||||||||||
| uses: actions-rs/toolchain@v1 | ||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||
| toolchain: stable | ||||||||||||||||||||||||||||||||||
| override: true | ||||||||||||||||||||||||||||||||||
|
Comment on lines
+34
to
+38
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Replace deprecated The Apply this diff: - - name: Install Rust toolchain
- uses: actions-rs/toolchain@v1
- with:
- toolchain: stable
- override: true
+ - name: Install Rust toolchain
+ uses: dtolnay/rust-toolchain@stable📝 Committable suggestion
Suggested change
🧰 Tools🪛 actionlint (1.7.8)35-35: the runner of "actions-rs/toolchain@v1" action is too old to run on GitHub Actions. update the action's version to fix this issue (action) 🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| - name: Install system dependencies | ||||||||||||||||||||||||||||||||||
| run: | | ||||||||||||||||||||||||||||||||||
| sudo apt-get update | ||||||||||||||||||||||||||||||||||
| sudo apt-get install -y build-essential pkg-config clang cmake libsqlite3-dev | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| - name: Install protoc | ||||||||||||||||||||||||||||||||||
| run: | | ||||||||||||||||||||||||||||||||||
| curl -OL https://github.com/protocolbuffers/protobuf/releases/download/v25.2/protoc-25.2-linux-x86_64.zip | ||||||||||||||||||||||||||||||||||
| sudo unzip -o protoc-25.2-linux-x86_64.zip -d /usr/local bin/protoc | ||||||||||||||||||||||||||||||||||
| sudo unzip -o protoc-25.2-linux-x86_64.zip -d /usr/local 'include/*' | ||||||||||||||||||||||||||||||||||
| rm -f protoc-25.2-linux-x86_64.zip | ||||||||||||||||||||||||||||||||||
| env: | ||||||||||||||||||||||||||||||||||
| PROTOC: /usr/local/bin/protoc | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
|
Comment on lines
+40
to
+53
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Install unzip before using it; optionally export PROTOC at job scope.
- name: Install system dependencies
run: |
sudo apt-get update
- sudo apt-get install -y build-essential pkg-config clang cmake libsqlite3-dev
+ sudo apt-get install -y build-essential pkg-config clang cmake libsqlite3-dev unzipOptionally set at job env: env:
CARGO_TERM_COLOR: always
PROTOC: /usr/local/bin/protoc🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||
| - name: Run tests | ||||||||||||||||||||||||||||||||||
| uses: actions-rs/cargo@v1 | ||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||
| command: test | ||||||||||||||||||||||||||||||||||
| args: --all-features --workspace | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| - name: Run doc tests | ||||||||||||||||||||||||||||||||||
| uses: actions-rs/cargo@v1 | ||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||
| command: test | ||||||||||||||||||||||||||||||||||
| args: --doc --all-features --workspace | ||||||||||||||||||||||||||||||||||
|
Comment on lines
+54
to
+64
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Replace deprecated The Apply this diff: - name: Run tests
- uses: actions-rs/cargo@v1
- with:
- command: test
- args: --all-features --workspace
+ run: cargo test --all-features --workspace
- name: Run doc tests
- uses: actions-rs/cargo@v1
- with:
- command: test
- args: --doc --all-features --workspace
+ run: cargo test --doc --all-features --workspace📝 Committable suggestion
Suggested change
🧰 Tools🪛 actionlint (1.7.8)55-55: the runner of "actions-rs/cargo@v1" action is too old to run on GitHub Actions. update the action's version to fix this issue (action) 61-61: the runner of "actions-rs/cargo@v1" action is too old to run on GitHub Actions. update the action's version to fix this issue (action) 🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove duplicate
libsqlite3-devpackage from install list.Line 81 specifies
libsqlite3-devtwice in the apt-get install command, which is redundant.Apply this diff to deduplicate the package:
📝 Committable suggestion
🤖 Prompt for AI Agents