Skip to content

fix(format): harden string escape handling #1531

fix(format): harden string escape handling

fix(format): harden string escape handling #1531

Workflow file for this run

name: Pluto CI
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-24.04
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: "1.26"
# Following the instruction on https://tinygo.org/docs/guides/build/bring-your-own-llvm/
- name: Install LLVM and Dependencies
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 22 # Install LLVM 22
sudo apt-get install -y llvm-22-dev lld-22 clang-22 valgrind
- name: Set LLVM environment
env:
LLVM_BIN: /usr/lib/llvm-22/bin
LLVM_CONFIG: /usr/lib/llvm-22/bin/llvm-config
run: |
python3 scripts/llvm_env.py --github-actions
- name: Verify LLVM Tools
run: |
llvm-config-22 --version
clang-22 --version
ld.lld-22 --version
- name: Smoke build helper
run: |
python3 build.py -o /tmp/pluto-build-helper
- name: Check Go formatting (gofmt)
run: |
CHANGED=$(gofmt -l .)
if [ -n "$CHANGED" ]; then
echo "gofmt found issues in:" >&2
echo "$CHANGED" >&2
gofmt -d . >&2
exit 1
fi
- name: Run full test suite with leak detection
run: |
python3 --version
# Valgrind can SIGILL on host-tuned codegen from -mcpu/-march=native.
# Keep native tuning as the default elsewhere, but force portable code
# for the leak-check job so the memory checker can execute the binaries.
PLUTO_TARGET_CPU=portable python3 test.py --leak-check