Compare commits

...

11 Commits

Author SHA1 Message Date
Cornelius Riemenschneider
c870c5e3da workaround. 2024-10-22 10:47:46 +02:00
Cornelius Riemenschneider
9d1a1d41de set shell 2024-10-21 15:19:23 +02:00
Cornelius Riemenschneider
4db2c68aee more 2024-10-21 14:53:31 +02:00
Cornelius Riemenschneider
a8060e45fd more debug output. 2024-10-21 14:50:45 +02:00
Cornelius Riemenschneider
de6ae4d92b fix 2024-10-21 14:46:25 +02:00
Cornelius Riemenschneider
0a90ba981e switch runner. 2024-10-21 14:45:15 +02:00
Cornelius Riemenschneider
99547ee165 switch dir 2024-10-21 14:44:14 +02:00
Cornelius Riemenschneider
5c5084aca0 less. 2024-10-21 14:42:30 +02:00
Cornelius Riemenschneider
b343734083 more debug 2024-10-21 14:40:32 +02:00
Cornelius Riemenschneider
5ddccd00e4 debug wf 2024-10-21 14:30:56 +02:00
Cornelius Riemenschneider
ef71cf5d26 debug 2024-10-21 14:27:36 +02:00
3 changed files with 28 additions and 124 deletions

View File

@@ -10,26 +10,35 @@ on:
- MODULE.bazel
- .bazelrc
- misc/bazel/**
push:
branches:
- criemen/debug
permissions:
contents: read
jobs:
test-mac:
name: Test MacOS
runs-on: macos-latest
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Run tests
uses: ./go/actions/test
test-win:
if: github.repository_owner == 'github'
name: Test Windows
runs-on: windows-latest-xl
runs-on: windows-latest
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Run tests
uses: ./go/actions/test
with:
sparse-checkout: go
- name: dump env bash
shell: bash
run: |
set -x
cd go
type -a bazel
where bazel
echo $PATH
bazel version
- name: Test
shell: bash
run: |
cd go
make gen
# - name: Run tests
# uses: ./go/actions/test

View File

@@ -1,63 +1,4 @@
all: gen extractor
EXTRACTOR_PACK_OUT = extractor-pack
.PHONY: extractor gen clean autoformat check-formatting
clean:
rm -rf $(EXTRACTOR_PACK_OUT) build/stats build/testdb
autoformat:
find ql -iregex '.*\.qll?' -print0 | xargs -0 codeql query format -qq -i
find . -path '**/vendor' -prune -or -type f -iname '*.go' ! -empty -print0 | xargs -0 grep -L "//\s*autoformat-ignore" | xargs gofmt -w
check-formatting:
@output=$$(find . -path '**/vendor' -prune -or -type f -iname '*.go' ! -empty -print0 | xargs -0 grep -L "//\s*autoformat-ignore" | xargs gofmt -l 2>&1); \
if [ -n "$$output" ]; then \
echo "The following files need to be reformatted using gofmt or have compilation errors:"; \
echo "$$output"; \
fi; \
test -z "$$output"
ifeq ($(QHELP_OUT_DIR),)
# If not otherwise specified, compile qhelp to markdown in place
QHELP_OUT_DIR := ql/src
endif
qhelp-to-markdown:
scripts/qhelp-to-markdown.sh ql/src "$(QHELP_OUT_DIR)"
extractor:
bazel run :go-installer
BAZEL := $(shell bash -c "which bazel")
gen:
bazel run :gen
build/stats/src.stamp:
mkdir -p $(@D)/src
git clone 'https://github.com/golang/tools' $(@D)/src
git -C $(@D)/src checkout 9b52d559c609 -q
touch $@
ql/lib/go.dbscheme.stats: ql/lib/go.dbscheme build/stats/src.stamp extractor
rm -rf build/stats/database
codeql database create -l go -s build/stats/src -j4 --search-path . build/stats/database
codeql dataset measure -o $@ build/stats/database/db-go
test: all build/testdb/check-upgrade-path
codeql test run -j0 ql/test --search-path .. --consistency-queries ql/test/consistency --compilation-cache=$(cache)
# use GOOS=linux because GOOS=darwin GOARCH=386 is no longer supported
env GOOS=linux GOARCH=386 codeql$(EXE) test run -j0 ql/test/query-tests/Security/CWE-681 --search-path .. --consistency-queries ql/test/consistency --compilation-cache=$(cache)
cd extractor; bazel test ...
bash extractor-smoke-test/test.sh || (echo "Extractor smoke test FAILED"; exit 1)
.PHONY: build/testdb/check-upgrade-path
build/testdb/check-upgrade-path : build/testdb/go.dbscheme ql/lib/go.dbscheme
codeql dataset upgrade build/testdb --search-path ql/lib
diff -q build/testdb/go.dbscheme ql/lib/go.dbscheme
.PHONY: build/testdb/go.dbscheme
build/testdb/go.dbscheme: ql/lib/upgrades/initial/go.dbscheme
rm -rf build/testdb
echo >build/empty.trap
codeql dataset import -S ql/lib/upgrades/initial/go.dbscheme build/testdb build/empty.trap
$(BAZEL) version

View File

@@ -16,59 +16,13 @@ runs:
uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-test-version }}
cache: false
id: go
- name: Set up CodeQL CLI
uses: ./.github/actions/fetch-codeql
- name: Enable problem matchers in repository
shell: bash
run: 'find .github/problem-matchers -name \*.json -exec echo "::add-matcher::{}" \;'
- name: Check checked-in generated code
if: inputs.run-code-checks == 'true'
shell: bash
run: |
bazel run go:gen
git add .
git diff --exit-code HEAD || (
echo "please run bazel run //go:gen"
exit 1
)
- name: Build
shell: bash
run: |
bazel run go:go-installer
- name: Check that all Go code is autoformatted
if: inputs.run-code-checks == 'true' && !cancelled()
shell: bash
run: |
cd go
make check-formatting
- name: Compile qhelp files to markdown
if: inputs.run-code-checks == 'true' && !cancelled()
id: markdown
shell: bash
run: |
cd go
env QHELP_OUT_DIR=qhelp-out make qhelp-to-markdown
- name: Upload qhelp markdown
if: inputs.run-code-checks == 'true' && !cancelled()
uses: actions/upload-artifact@v3
with:
name: qhelp-markdown
path: go/qhelp-out/**/*.md
- name: Cache compilation cache
id: query-cache
uses: ./.github/actions/cache-query-compilation
with:
key: go-qltest
declare -px
where bazel
bazel version
- name: Test
shell: bash