Skip to content

Add libstatic configuration support for reading symbols from static libraries #2455

Add libstatic configuration support for reading symbols from static libraries

Add libstatic configuration support for reading symbols from static libraries #2455

Workflow file for this run

# This workflow will build a golang project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go
name: Go
on:
push:
branches: [ "**" ]
pull_request:
branches: [ "**" ]
jobs:
test:
strategy:
matrix:
os:
- macos-latest
- ubuntu-24.04
llvm: [19]
llgo: [f0728c4fe028fbc72455c1242cef638ebdf60454]
go: [1.23]
fail-fast: false
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v4
- name: Setup llcppg environment
uses: ./.github/actions/setup-llcppg
with:
go: ${{ matrix.go }}
llvm: ${{ matrix.llvm }}
llgo: ${{ matrix.llgo }}
- name: Setup Test Dependencies
if: startsWith(matrix.os, 'macos')
run: brew install cjson
- name: Setup Test Dependencies
if: startsWith(matrix.os, 'ubuntu')
run: sudo apt install libcjson-dev
# only can compile with llgo
- name: Test xtool
run: |
llgo test ./_xtool/internal/...
# only can compile with llgo
- name: Test llcppsymg & llcppsigfetch
run: |
llgo test ./_xtool/llcppsigfetch/internal/...
llgo test ./_xtool/llcppsymg/internal/...
- name: Test For llgo and go
run: |
llgo test ./config
llgo test ./internal/arg
llgo test ./internal/name
- name: Test
if: ${{!startsWith(matrix.os, 'macos')}}
run: go test -v ./...
- name: Test with coverage
if: startsWith(matrix.os, 'macos')
run: go test -v -coverprofile="coverage.txt" -covermode=atomic ./...
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v5
with:
token: ${{secrets.CODECOV_TOKEN}}
slug: goplus/llcppg
- name: Test demos
run: |
# TODO(lijie): force python3-embed to be linked with python-3.12-embed
# Currently, python3-embed is python-3.13-embed, doesn't work with pytorch
# Will remove this after pytorch is fixed.
pcdir=$HOME/pc
mkdir -p $pcdir
libdir=$(pkg-config --variable=libdir python-3.12-embed)
echo "libdir: $libdir"
ln -s $libdir/pkgconfig/python-3.12-embed.pc $pcdir/python3-embed.pc
export PKG_CONFIG_PATH=$pcdir
bash .github/workflows/test_demo.sh