Add bin and edit workflow
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 9s

This commit is contained in:
2026-09-16 13:11:16 -06:00
parent c8ac4fcae5
commit 4cee170d66
17576 changed files with 895740 additions and 2 deletions
@@ -0,0 +1,63 @@
## Gumbo 0.10.1 (2015-04-30)
Same as 0.10.0, but with the version number bumped because the last version-number commit to v0.9.4 makes GitHub think that v0.9.4 is the latest version and so it's not highlighted on the webpage.
## Gumbo 0.10.0 (2015-04-30)
* Full support for `<template>` tag (kevinhendricks, nostrademons).
* Some fixes for `<rtc>`/`<rt>` handling (kevinhendricks, vmg).
* All html5lib-trunk tests pass now! (kevinhendricks, vmg, nostrademons)
* Support for fragment parsing (vmg)
* A couple additional example programs (kevinhendricks)
* Performance improvements totaling an estimated 30-40% total improvement (vmg, nostrademons).
## Gumbo 0.9.4 (2015-04-30)
* Additional Visual Studio fixes (lowjoel, nostrademons)
* Fixed some unused variable warnings.
* Fix for glibtoolize vs. libtoolize build errors on Mac.
* Fixed `CDATA` end tag handling.
## Gumbo 0.9.3 (2015-02-17)
* Bugfix for `&AElig;` entities (rgrove)
* Fix `CDATA` handling; `CDATA` sections now generate a `GUMBO_NODE_CDATA` node rather
than plain text.
* Fix `get_title example` to handle whitespace nodes (gsnedders)
* Visual Studio compilation fixes (fishioon)
* Take the namespace into account when determining whether a node matches a
certain tag (aroben)
* Replace the varargs tag functions with a tagset bytevector, for a 20-30%
speedup in overall parse time (kevinhendricks, vmg)
* Add MacOS X support to Travis CI, and fix the deployment/DLL issues this
uncovered (nostrademons, kevinhendricks, vmg)
## Gumbo 0.9.2 (2014-09-21)
* Performance improvements: Ragel-based char ref decoder and DFA-based UTF8
decoder, totaling speedups of up to 300%.
* Added benchmarking program and some sample data.
* Fixed a compiler error under Visual Studio.
* Fix an error in the ctypes bindings that could lead to memory corruption in
the Python bindings.
* Fix duplicate attributes when parsing `<isindex>` tags.
* Don't leave semicolons behind when consuming entity references (rgrove)
* Internally rename some functions in preparation for an amalgamation file
(jdeng)
* Add proper cflags for gyp builds (skabbes)
## Gumbo 0.9.1 (2014-08-07)
* First version listed on PyPi.
* Autotools files excluded from GitHub and generated via autogen.sh. (endgame)
* Numerous compiler warnings fixed. (bnoordhuis, craigbarnes)
* Google security audit passed.
* Gyp support (tfarina)
* Naming convention for structs changed to avoid C reserved words.
* Fix several integer and buffer overflows (Maxime2)
* Some Visual Studio compiler support (bugparty)
* Python3 compatibility for the ctypes bindings.
## Gumbo 0.9.0 (2013-08-13)
* Initial release open-sourced by Google.
@@ -0,0 +1,129 @@
.PHONY: all clean check coverage
gumbo_objs := $(patsubst %.c,build/%.o,$(wildcard src/*.c))
test_objs := $(patsubst %.cc,build/%.o,$(wildcard test/*.cc))
gtest_lib := googletest/make/gtest_main.a
# make SANITIZEFLAGS='-fsanitize=undefined -fsanitize=address'
SANITIZEFLAGS :=
CPPFLAGS := -Isrc
CFLAGS := -std=c99 -Os -Wall
CXXFLAGS := -isystem googletest/include -std=c++11 -Os -Wall
LDFLAGS := -pthread
all: check
oss-fuzz:
./fuzzer/build-ossfuzz.sh
fuzzers: fuzzer-normal fuzzer-asan fuzzer-ubsan fuzzer-msan
fuzzer-normal:
./fuzzer/build.sh
fuzzer-asan:
SANITIZER=asan ./fuzzer/build.sh
fuzzer-ubsan:
SANITIZER=ubsan ./fuzzer/build.sh
fuzzer-msan:
SANITIZER=msan ./fuzzer/build.sh
# don't try to regenerate ragel or gperf files in CI, that should be a development-only action and
# the generated files should be committed to SCM
ifneq ($(CI),true)
src/foreign_attrs.c: src/foreign_attrs.gperf
gperf -m100 -n $< | ./gperf-filter.sed > $@
src/%.c: src/%.gperf
gperf -m100 $< | ./gperf-filter.sed > $@
src/%.c: src/%.rl
ragel -F1 -o $@ $<
endif
build/src:
mkdir -p $@
build/test:
mkdir -p $@
build/src/%.o: src/%.c build/src/flags | build/src
$(CC) -MMD $(CPPFLAGS) $(CFLAGS) $(SANITIZEFLAGS) -c -o $@ $<
build/test/%.o: test/%.cc build/test/flags | build/test
$(CXX) -MMD $(CPPFLAGS) $(CXXFLAGS) $(SANITIZEFLAGS) -c -o $@ $<
build/run_tests: $(gumbo_objs) $(test_objs) $(gtest_lib)
$(CXX) -o $@ $+ $(LDFLAGS) $(SANITIZEFLAGS)
check: build/run_tests
./build/run_tests
coverage:
$(RM) build/{src,test}/*.gcda
$(RM) build/*.info
$(MAKE) CPPFLAGS='-Isrc -DNDEBUG=1' \
CFLAGS='-std=c99 --coverage -g -O0' \
CXXFLAGS='-isystem googletest/include -std=c++11 --coverage -g -O0' \
LDFLAGS='--coverage' \
build/run_tests
lcov --no-external \
--initial \
--capture \
--base-directory . \
--directory build \
--output-file build/coverage-pre.info
awk -F '[:,]' \
'/^SF:/ { delete defs } /^FN:/ { defs[$$2]=1 } /^DA:/ { if ($$3 == 0 && $$2 in defs) next } { print }' \
build/coverage-pre.info > build/coverage-initial.info
./build/run_tests
lcov --no-external \
--capture \
--base-directory . \
--directory build \
--rc lcov_branch_coverage=1 \
--output-file build/coverage-test.info
lcov --add-tracefile build/coverage-initial.info \
--add-tracefile build/coverage-test.info \
--rc lcov_branch_coverage=1 \
--output-file build/coverage.info
lcov --remove build/coverage.info '$(CURDIR)/googletest/*' \
--rc lcov_branch_coverage=1 \
--output-file build/coverage.info
genhtml --branch-coverage \
--output-directory build/coverage \
build/coverage.info
clean:
$(RM) -r build
$(RM) -r fuzzer/build fuzzer/src-* fuzzer/gumbo_corpus
build/src/flags: | build/src
@echo 'old_CC := $(CC)' > $@
@echo 'old_CPPFLAGS := $(CPPFLAGS)' >> $@
@echo 'old_CFLAGS := $(CFLAGS)' >>$@
@echo 'old_SANITIZEFLAGS := $(SANITIZEFLAGS)' >> $@
@echo 'old_LDFLAGS := $(LDFLAGS)' >> $@
build/test/flags: | build/test
@echo 'old_CXX := $(CXX)' > $@
@echo 'old_CPPFLAGS := $(CPPFLAGS)' >> $@
@echo 'old_CXXFLAGS := $(CXXFLAGS)' >> $@
@echo 'old_SANITIZEFLAGS := $(SANITIZEFLAGS)' >> $@
@echo 'old_LDFLAGS := $(LDFLAGS)' >> $@
ifeq (,$(filter clean coverage,$(MAKECMDGOALS)))
# Ensure that the flags are up to date.
-include build/src/flags build/test/flags
ifneq ($(old_CC) | $(old_CPPFLAGS) | $(old_CFLAGS) | $(old_SANITIZEFLAGS) | $(old_LDFLAGS),$(CC) | $(CPPFLAGS) | $(CFLAGS) | $(SANITIZEFLAGS) | $(LDFLAGS))
.PHONY: build/src/flags
endif
ifneq ($(old_CXX) | $(old_CPPFLAGS) | $(old_CXXFLAGS) | $(old_SANITIZEFLAGS) | $(old_LDFLAGS),$(CXX) | $(CPPFLAGS) | $(CXXFLAGS) | $(SANITIZEFLAGS) | $(LDFLAGS))
.PHONY: build/test/flags
endif
# Include dependencies.
-include $(test_objs:.o=.d) $(gumbo_objs:.o=.d)
endif
@@ -0,0 +1,27 @@
Gumbo HTML parser THANKS file
Gumbo was originally written by Jonathan Tang, but many people helped out through suggestions, question-answering, code reviews, bugfixes, and organizational support. Here is a list of these people. Help me keep it complete and exempt of errors.
Adam Barth
Adam Roben
Ben Noordhuis
Bowen Han
Constantinos Michael
Craig Barnes
Geoffrey Sneddon
Ian Hickson
Jack Deng
Joel Low
Jonathan Shneier
Kevin Hendricks
Mason Tang
Maxim Zakharov
Michal Zalewski
Neal Norwitz
Othar Hansson
Ryan Grove
Stefan Haustein
Steffen Meschkat
Steven Kabbes
Thiago Farina
Vicent Marti