Add libstatic configuration support for reading symbols from static libraries #2457
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 |