Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upstream #382

Draft
wants to merge 223 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
223 commits
Select commit Hold shift + click to select a range
e453564
pkt/spao: add support for authenticated SCMP error messages (#4255)
JordiSubira Jan 25, 2023
f3b508f
control: use AS certs in QUIC TLS, for DRKey auth (#4268)
matzf Jan 25, 2023
a0fcc9e
doc: introduce TC Implementation (#4312)
matzf Feb 3, 2023
756c8b4
pkg/private: cleanup common, util, xtest packages (#4311)
matzf Feb 9, 2023
3590d24
control: cached loading of keys/certs from disk for TLS (#4281)
matzf Feb 9, 2023
fc5c897
lint: fix errcheck violations (#4310)
matzf Feb 10, 2023
91b6a48
seg: fix AddASEntry with multiple PeerEntries (#4315)
matzf Feb 13, 2023
1898609
control: close connection in SVC resolver (#4314)
matzf Feb 13, 2023
5cb9630
deps: bump github.com/prometheus/client_golang from 1.11.0 to 1.11.1 …
dependabot[bot] Feb 15, 2023
3318edb
pkt/spao: support empty path value as input for SPAO MAC computation …
marcfrei Feb 16, 2023
fd82138
pkt/spao: fix computation of header length metadata item (#4318)
marcfrei Feb 21, 2023
2ab6125
doc: fix conf and rst files to get clean build (#4319)
matzf Feb 22, 2023
914cdd6
doc: fix python version in readthedocs config (#4321)
matzf Feb 22, 2023
1fd088b
deps: update a lot of dependencies (#4323)
lukedirtwalker Feb 24, 2023
8b0fd65
control: fix error in DRKey service engine while obtaining level 1 ke…
marcfrei Mar 16, 2023
c3dc46d
topology: deprecate unused attributes (#4333)
matzf Mar 17, 2023
526dc93
drkey: add generic-protocol derivation to demo and integration test (…
marcfrei Apr 3, 2023
5ffc8c0
rules_openapi: bump vm2 from 3.9.14 to 3.9.15 (#4335)
dependabot[bot] Apr 11, 2023
8b41109
rules_openapi: bump vm2 from 3.9.15 to 3.9.16 (#4337)
dependabot[bot] Apr 13, 2023
045c07e
scion.sh: fix IPv6 address bug in sciond-addr subcommand (#4341)
MrR0b0t14 Apr 24, 2023
91d8cfb
rules_openapi: add rule to build HTML doc (#4338)
matzf May 5, 2023
c43f942
deps: replace inet.af/netaddr with net/netip and go4.org/netipx (#4313)
marcfrei May 12, 2023
efd0aa1
router: fix minimal SCMP checks in dataplane tests (#4343)
matzf May 15, 2023
086d9b7
doc: reorganize and extend documentation (#4325)
matzf May 16, 2023
055822f
docFixing two links in README.md (#4345)
steffenfritz May 31, 2023
8d65af2
doc: consistent naming of the Traffic Class field (#4347)
matzf Jun 1, 2023
5ba8660
doc: design document for border router performance optimizations (#4339)
rohrerj Jun 1, 2023
71c6a5c
doc: fix grammar in dependencies.rst (#4349)
jBainMartincoit Jun 6, 2023
b2fdbc7
slayers: fix decoding and serializing wide DT/ST (#4352)
matzf Jun 8, 2023
1569576
doc: fix grammar in git.rst (#4350)
jBainMartincoit Jun 12, 2023
8bace73
fix spelling of Daemon (#4354)
worxli Jun 22, 2023
5f7802c
doc: update generated command docs (#4355)
matzf Jun 22, 2023
595839f
doc: fix link to EPIC-HP design doc (#4358)
HawkCorrigan Jul 2, 2023
10fc34b
doc: update issue template (#4359)
oncilla Jul 6, 2023
9f77b13
refactor: replace addr.HostAddr hierarchy with tagged union addr.Host…
matzf Jul 10, 2023
00835ed
deps: change rules_antlr fork (#4362)
oncilla Jul 12, 2023
b0cc226
build: generate docs with write_source_files (#4357)
oncilla Jul 13, 2023
5de1e58
python: update pyyaml to 6.0.0 (#4367)
uniquefine Jul 18, 2023
ab37c7a
router: perf improvement by async packet processing (#4351)
rohrerj Jul 18, 2023
09b5dea
python: update pyyaml to 6.0.1 (#4370)
uniquefine Jul 21, 2023
708bdc2
repo: drop partial colibri implementation (#4372)
matzf Jul 27, 2023
2ce7932
doc: update setup.rst (#4373)
jiceatscion Jul 31, 2023
df0d667
doc: control service manual (#4361)
matzf Aug 3, 2023
49b3f90
router: configuration for async packet processing (#4374)
rohrerj Aug 4, 2023
24cfafc
build: allow go test ./... to run without errors (#4375)
oncilla Aug 8, 2023
4096d87
build: support fedora (#4371)
jiceatscion Aug 10, 2023
d9acea4
dispatcher: support auto-assigned port for SVC registrations (#4381)
jiceatscion Aug 21, 2023
8d95532
scion.sh: do a more complete shutdown by default (#4382)
jiceatscion Aug 28, 2023
9bdd29c
hidden_paths: enable registration of hiddenpaths both locally and rem…
jiceatscion Aug 29, 2023
5e04af0
build: update quic-go version (#4385)
oncilla Sep 7, 2023
783896e
build: update to Go 1.21.1 (#4378)
uniquefine Sep 11, 2023
d176fc0
scion/ping: wait for send go routine to terminate (#4392)
oncilla Sep 18, 2023
010baef
docs: update link in CONTRIBUTING.md (#4393)
mlegner Sep 18, 2023
4686186
ci: upload binaries as artifacts (#4391)
matzf Sep 19, 2023
e80afbf
protocol: implement peering links (#4390)
jiceatscion Sep 22, 2023
ae14b74
build: prevent go from linking libresolv dynamically. (#4394)
jiceatscion Sep 25, 2023
c7b2c09
ci: fixes for updated buildkite elastic stack version (#4397)
matzf Sep 25, 2023
ba355f1
spao: Update timestamp / Sequence Number field (#4366)
JordiSubira Sep 26, 2023
c504351
doc: update timestamp spec (#4300)
JordiSubira Sep 26, 2023
b4a2011
router: slow-path in async packet processing (#4383)
rohrerj Sep 28, 2023
241d6be
acceptance: de-flake cert_renewal and hidden_paths (#4399)
matzf Sep 28, 2023
df0f505
Create WorkItem (#4400)
jiceatscion Sep 29, 2023
95d4329
Rename WorkItem to 02-workitem.md (#4401)
jiceatscion Sep 29, 2023
54a26ba
scion.sh, topogen: adopt docker compose plugin and cleanup (#4398)
jiceatscion Oct 5, 2023
1774cbf
slayers: unmap IPv4-mapped IPv6 addresses (#4377)
oncilla Oct 10, 2023
b3fb01d
doc: fix typos in overview.rst (#4419)
edoardottt Oct 12, 2023
734f909
cppki: limit segment expiration by certificate lifetime (#4369)
uniquefine Oct 12, 2023
2ea2d89
doc: touch up manuals, enable fail-on-warning for docs (#4416)
matzf Oct 12, 2023
44c2f67
router: feature toggle for experimental SCMP authentication (#4418)
matzf Oct 12, 2023
1a51838
doc: fix typos (#4421)
edoardottt Oct 12, 2023
46b055a
control: formatted duration for config trustengine.cache.expiration (…
matzf Oct 16, 2023
bfa5fe2
snet/metrics: use registry in snet metrics (#4423)
shitz Oct 20, 2023
a82e4fb
deps: bump google.golang.org/grpc, set MaxConcurrentStreams (#4424)
matzf Oct 30, 2023
fa43782
router: extend packet processing metrics (#4422)
jiceatscion Oct 30, 2023
ccf98fd
build: update Go to 1.21.3 (#4428)
oncilla Oct 30, 2023
576fa43
build: drop @cgrindel_bazel_starlib//updatesrc (#4427)
oncilla Oct 31, 2023
9ebc890
deps: update bazel & bazel libs (#4426)
lukedirtwalker Oct 31, 2023
8b498a4
build: update quic-go to v0.40.0 (#4431)
oncilla Nov 1, 2023
a0a89d4
router: fix interface label of router metrics (#4430)
jiceatscion Nov 2, 2023
5d697c0
deps: update oapi-codegen to v2 (#4432)
matzf Nov 3, 2023
cab6ce3
tools: specify project name in docker-compose files (#4396)
matzf Nov 3, 2023
3beb210
build: make git-version not fail if no tags exist (#4438)
jiceatscion Nov 13, 2023
2136a63
testing: add router benchmark program and use it as integration test …
jiceatscion Nov 17, 2023
c1e1abc
daemon: fix docstring for latencies in protobuf file (#4443)
mlegner Nov 22, 2023
c890767
scion.sh: block for child processes at shutdown (#4445)
matzf Nov 23, 2023
799ed12
processmetrics: explicit type conversion to support arm64 (#4446)
mlegner Nov 24, 2023
a44d0bc
bazel: update bazelisk and support arm64 (#4447)
mlegner Nov 27, 2023
237794a
build: allow building without scion-ci (#4449)
mlegner Nov 27, 2023
7fc08e4
prometheus: fix copying of metrics labels (#4450)
sustrik Nov 30, 2023
85b8a13
daemon: error out when using drkey endpoints without configured drkey…
rohrerj Dec 7, 2023
b4e65a6
pkg/log: fix panic when using custom Logger (#4452)
lukedirtwalker Dec 7, 2023
d9c6c00
testing: an improved router benchmark that only runs one router (#4444)
jiceatscion Dec 7, 2023
ebc4bd9
router: deleting the old router_benchmark integration test. (#4454)
jiceatscion Dec 7, 2023
f338000
testing: rename "router_newbenchmark" to "router_benchmark" (#4455)
jiceatscion Dec 7, 2023
b878f8f
router: make the benchmark and the router more adaptive to core count…
jiceatscion Dec 12, 2023
6b4627c
testing: improved stream synthesis and cores use in router benchmark …
jiceatscion Dec 20, 2023
4fc6ad8
dist: build debian packages for multiple platforms (#4448)
matzf Dec 21, 2023
c5a9760
tools: fix wireshark dissector TLV options without data (#4458)
marcodermatt Dec 21, 2023
0871860
doc: update buildkite instance type (#4459)
matzf Dec 21, 2023
e476aa8
control: pluggable segment signer (#4460)
oncilla Dec 29, 2023
58c41c5
doc: update the port table to reflect current state (#4462)
jiceatscion Jan 11, 2024
2f4d3e9
gateway: etags added to prefix discovery protobuf (#4461)
sustrik Jan 17, 2024
059f500
deps: update web tooling deps (#4463)
lukedirtwalker Jan 25, 2024
fce093e
doc: tutorial freestanding deployment (#4435)
Feb 13, 2024
b344703
mgmtapi: support deleting segments and beacons (#4465)
oncilla Feb 15, 2024
bbaddc4
doc: fix subnet typo in deploy tutorial 10.0.1.x -> 10.0.0.x (#4466)
MatthewCroughan Feb 19, 2024
7bb1ff4
deps: update supervisor to version 4.2.5. (#4469)
jiceatscion Feb 20, 2024
77e8188
doc: fixup certificate copying in deploy tutorial (#4467)
matzf Feb 20, 2024
9373c4e
testing: router benchmark, multiplex external br interfaces on one ve…
jiceatscion Feb 26, 2024
9d2cd86
testing: make router_benchmark use a less popular address block (#4472)
jiceatscion Feb 26, 2024
c5a8e6f
scion-pki: drop spurious false in test skip condition (#4476)
oncilla Mar 4, 2024
a561dbe
dist: build openwrt packages (#4464)
jiceatscion Mar 5, 2024
6ed7c8f
deps: use v2 of go-toml (#4342)
lukedirtwalker Mar 5, 2024
11b6fd8
acceptance: fix hidden_path test (#4477)
JordiSubira Mar 5, 2024
4a8bc98
testing: Move /share/conf to /etc/scion and rename br.toml to router.…
jiceatscion Mar 6, 2024
61bf784
paths: Add check for hopfield count <= 64 when deserializing a scion …
jiceatscion Mar 18, 2024
27ef884
build: replace rules_docker with rules_oci (#4487)
matzf Mar 19, 2024
7405953
build: add missing deps ethtool and gawk (#4488)
jiceatscion Mar 19, 2024
2798312
topology: simplify local address configuration (#4489)
matzf Mar 21, 2024
cb7fa6d
serrors: remove bottom of stacktrace, test without lineno (#4494)
matzf Mar 25, 2024
b6aefe0
cmd/scion, snet: reduce range of IDs for SCMP requests (#4495)
matzf Mar 28, 2024
17ee301
testing: simplify the process of configuring routers, brload for benc…
jiceatscion Mar 28, 2024
25e37a0
cppki/segverifer: enforce AS certificate to cover AS entry (#4492)
shitz Mar 31, 2024
d1c7daf
pkg/slayers: simplify Decoded.Reverse (#4498)
jcp19 Apr 2, 2024
594cc03
doc: clarify tutorial description (#4500)
tzaeschke Apr 8, 2024
f9c9639
private/env: remove RunsInDocker during startup log (#4499)
JordiSubira Apr 11, 2024
f248f15
router: factor out platform-dependent underlay conn flags (#4507)
marcfrei Apr 18, 2024
5b133c0
pathpol: ensure deserialized ACL has default rule (#4505)
fbuetler Apr 19, 2024
9119f31
test: cleanup docker in scion-pki TestOpenSSLCompatible (#4509)
matzf Apr 19, 2024
5a5ceba
doc: extend linters, manage deps via bazel (#4503)
matzf Apr 19, 2024
4556af1
deps: update quic-go to v0.42.0 (#4510)
matzf Apr 19, 2024
11fbd86
deps: update lestrrat-go/jwx, x/net, x/crypto (#4511)
matzf Apr 22, 2024
fe94b21
doc: update all documentation build dependencies (#4512)
matzf Apr 22, 2024
371f49d
lint: update flake8 linter (#4513)
matzf Apr 23, 2024
f5de933
lint: fix flake8 bazel integration after update (#4514)
matzf Apr 23, 2024
3ff8903
testing: extend router benchmark tooling (#4496)
jiceatscion Apr 23, 2024
0d62bfb
doc: minimal documentation on running the benchmark (#4515)
jiceatscion Apr 25, 2024
8340757
control: select a signer that covers the segment (#4516)
lukedirtwalker Apr 29, 2024
f82aabe
router: forbid bouncing packets internally (#4502)
matzf May 2, 2024
4c9c342
router: optimize computeProcID (#4520)
jiceatscion May 14, 2024
3f4629d
build: update various go dependencies (#4522)
oncilla May 14, 2024
c1222ec
ci: fix build for openwrt package, enable setting version from env va…
matzf May 16, 2024
3446efd
ci: include build version in file name of build artifacts (#4525)
matzf May 17, 2024
15bdf63
end host, router: dispatch UDP in router, remove dispatcher socket (#…
JordiSubira May 17, 2024
c43edd7
doc: design doc for end host without dispatcher (#4280)
matzf May 23, 2024
563aba2
doc: fixup generated documentation files after removing dispatcher fl…
matzf May 23, 2024
a773605
doc: fix bazel bin path in setup instructions (#4532)
mseewer May 24, 2024
9d52e2f
doc: clarify SCMP reality vs. ambition (#4533)
matzf May 27, 2024
9be9885
tools: topogen: Fix network argument. Added IPv6 network argument. (#…
GioBar00 Jun 10, 2024
50b971c
Remove unused QUIC config field from CS (#4548)
juagargi Jun 10, 2024
45053b7
doc: add Jean-Christophe to list of TC members (#4551)
matzf Jun 14, 2024
27f725a
pkg/metrics: introduce v2 (#4530)
lukedirtwalker Jun 19, 2024
83a83c4
testing: incremental improvements to the router benchmark tooling (#4…
jiceatscion Jun 24, 2024
eacdeef
router: return SCMP on invalid dst address (#4506)
jcp19 Jun 28, 2024
1e10edb
doc: update deploy tutorial to release v0.11.0 (#4557)
matzf Jul 1, 2024
c957985
doc: installation instructions for OpenWRT (#4559)
matzf Jul 1, 2024
6458075
tools: remove unused end2endblast (#4562)
matzf Jul 2, 2024
a1ed624
private/appnet: remove SvcResolutionFraction (#4561)
matzf Jul 2, 2024
be9b159
router: avoid gc and copy (#4539)
jiceatscion Jul 9, 2024
68bd2bc
pkg/addr: add missing MustParseIA,AS,ISD functions (#4564)
matzf Jul 9, 2024
6d7948b
Update Slack invitation link in README.md (#4566)
FR4NK-W Jul 10, 2024
b01d019
deps: update web tooling deps (#4567)
jiceatscion Jul 11, 2024
93ac239
router: strengthen the checks performed by parsePath (#4556)
jcp19 Jul 11, 2024
60b4932
build(deps): bump certifi from 2024.2.2 to 2024.7.4 in /doc (#4571)
dependabot[bot] Jul 11, 2024
36128d6
build: update rules_js and pnpm version (#4568)
matzf Jul 12, 2024
8598eda
revcache: remove goconvey (#4570)
matzf Jul 15, 2024
db65d82
Cleanup use of snet.UDPAddr from ping and traceroute. (#4573)
jiceatscion Jul 15, 2024
eab1cab
router: add test cases for malformed paths (#4572)
matzf Jul 15, 2024
799204f
monitoring: give a timeout to our prometheus request handler (#4575)
jiceatscion Jul 16, 2024
ce54172
github: add check for PR title (#4574)
matzf Jul 16, 2024
cb634d7
build: replace dummy build target with bazel info (#4577)
matzf Jul 16, 2024
8ba6b38
router: implement a proper shutdown mechanism (#4578)
jiceatscion Jul 17, 2024
ad0d3bc
pkg/slayers: remove unnecessary sub-slicing (#4576)
jiceatscion Jul 17, 2024
d9c3e2d
router: drop packets with v4 mapped v6 src/dst or unspecified dst hos…
jiceatscion Jul 18, 2024
bfcdfbf
doc: fix the reference to router.bfd.disable (#4581)
jiceatscion Jul 18, 2024
169a698
router: clarified cryptic comment (#4580)
jiceatscion Jul 22, 2024
47b7cac
naming: make the spelling of ifid, ifidtype, and trc compliant with o…
jiceatscion Jul 24, 2024
42e7811
tools: add support for heuristic SCION traffic identification by wire…
jiceatscion Jul 24, 2024
893cb29
doc: add a WIP section to the index (#4583)
jiceatscion Jul 24, 2024
6a96adf
scrypto: use ecdsa.VerifyASN1 instead of ecdsa.Verify (#4592)
oncilla Aug 6, 2024
5b4d3a6
pkg/private/serrors: do not use reflect encoder for all context (#4594)
oncilla Aug 9, 2024
ad503c1
serrors: delete error context merging and code cleanup (#4586)
jiceatscion Aug 12, 2024
6d392ee
control: check certificates available for beacons (#4587)
oncilla Aug 13, 2024
0e19e83
control/beaconing: include the beacon ID in the propagator (#4597)
oncilla Aug 14, 2024
261f66c
brload: fix premature socket closure (#4591)
jiceatscion Aug 14, 2024
06d8213
tools: fixup the wireshark lua packet dissector heuristic filter (#4599)
FR4NK-W Aug 14, 2024
4648e33
private/app/path: include IA in Sort function (#4600)
oncilla Aug 14, 2024
4c929f6
pkg/private/serrors: act the constructors deprecations (#4595)
jiceatscion Aug 15, 2024
08852b4
control: allow to query for latest TRC (#4601)
lukedirtwalker Aug 28, 2024
fbd9eb0
crypto: do not load already loaded TRC files (#4588)
lukedirtwalker Aug 28, 2024
9e58974
build: bump go version to 1.23 (#4603)
jiceatscion Aug 28, 2024
f51e6da
daemon: improve revcache performance (#4607)
lukedirtwalker Sep 2, 2024
a864a8c
topology: allow peering links between core ASes (#4605)
jiceatscion Sep 9, 2024
e88ddce
ci: udate version of upload artefact action (#4613)
jiceatscion Sep 9, 2024
79e7080
underlay: support SockOptInt on all platforms incl Windows (#4610)
martenwallewein Sep 9, 2024
a9e9256
router: make `AddLinkType` acquire the DataPlane mutex (#4614)
jcp19 Sep 12, 2024
2663569
tracing: wrap existing logger instead of creating a new one (#4616)
uniquefine Sep 13, 2024
22a3c24
ci: allow dash in subsystem (#4612)
oncilla Sep 13, 2024
a192c66
doc: rewrite TRC ceremony documentation to include scion-pki (#4615)
oncilla Sep 17, 2024
24ec39d
tutorial: topology source host missing causes [email protected]
thomasgruebl Sep 17, 2024
f16cdd6
build: force old timer behavior (#4620)
oncilla Sep 17, 2024
f0d570b
scion-pki: show ISD-AS in distinguished name (#4611)
oncilla Sep 17, 2024
a83a906
scion-pki: support dummy TRC payload (#4626)
oncilla Sep 18, 2024
296ec95
scion-pki: allow referencing predecessor certificates in payload (#4625)
oncilla Sep 18, 2024
20bba9f
test: await-connectivity is too optimistic (#4622)
jiceatscion Sep 19, 2024
59c70dc
pkg/private/common: move IfIDType out of private/common and to its ow…
jiceatscion Sep 19, 2024
07b6b15
doc: heed RTD admonition regarding the deprecation of html_base_url (…
jiceatscion Sep 19, 2024
2610321
docs: add interactive TRC signing ceremony builder (#4624)
oncilla Sep 19, 2024
06a3c9b
details: nits from SCIONLab (#4629)
juagargi Sep 23, 2024
557651e
doc: proposal for nat address discovery (#4560)
tzaeschke Sep 23, 2024
f0f7162
doc: update index.rst to include references to scion-application-docs…
JordiSubira Sep 23, 2024
5550a98
scion-pki: enable kms support (#4617)
oncilla Sep 24, 2024
9ceb22a
daemon/combinator: memoize calculated fingerprints (IDs) (#4608)
lukedirtwalker Sep 24, 2024
355515d
connectrpc: generate code with buf (#4540)
oncilla Sep 24, 2024
74878a4
doc/cryptography: fix typo in TRC signing ceremony builder (#4631)
oncilla Sep 24, 2024
0e1fc18
doc/design: clarify the life-cycle of a design doc and update existin…
jiceatscion Oct 4, 2024
aa917bb
build: update antlr version (#4555)
oncilla Oct 4, 2024
eef5cf7
doc: there are no scion packet fragments (#4635)
jiceatscion Oct 8, 2024
7956be9
tools: support 16bit interface IDs in topo files (#4636)
tzaeschke Oct 10, 2024
e6b0576
packaging: build rpm packages (#4632)
jiceatscion Oct 10, 2024
1425841
doc: dispatched_ports syntax (#4637)
tzaeschke Oct 15, 2024
5cedae9
build(deps): bump starlette from 0.37.2 to 0.40.0 in /doc (#4638)
dependabot[bot] Oct 16, 2024
e967536
Merge branch 'scionproto-master' into upstream
Oct 17, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 3 additions & 1 deletion .bazelignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
bin
doc/_build
doc/venv
docker/_build
rules_openapi/tools/node_modules
private/mgmtapi/tools/node_modules
tools/lint/logctxcheck/testdata/src
20 changes: 15 additions & 5 deletions .bazelrc
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
### common options for all subcommands (help, query, build, ...)
common --show_timestamps
common --show_timestamps --enable_platform_specific_config

# connect to buchgr/bazel-remote cache
# These flags can unfortunately not be specified for `common`, as they are not accepted by all subcommands (help, version, dump)
build --remote_cache=grpc://localhost:9092 --experimental_remote_downloader=grpc://localhost:9092
query --remote_cache=grpc://localhost:9092 --experimental_remote_downloader=grpc://localhost:9092
fetch --remote_cache=grpc://localhost:9092 --experimental_remote_downloader=grpc://localhost:9092
# The --experimental_remote_downloader_local_fallback is used as workaround for issue with rules_oci (https://github.com/bazel-contrib/rules_oci/issues/275).
build --remote_cache=grpc://localhost:9092 --experimental_remote_downloader=grpc://localhost:9092 --experimental_remote_downloader_local_fallback=true
query --remote_cache=grpc://localhost:9092 --experimental_remote_downloader=grpc://localhost:9092 --experimental_remote_downloader_local_fallback=true
fetch --remote_cache=grpc://localhost:9092 --experimental_remote_downloader=grpc://localhost:9092 --experimental_remote_downloader_local_fallback=true

### options for build, test, run, clean, etc.
# expose git version (etc) to bazel
Expand All @@ -13,6 +15,14 @@ build --workspace_status_command=./tools/bazel-build-env
build --java_runtime_version=remotejdk_11
# disable legacy_create_init for py_binary, py_test etc. This may eventually become the default.
build --incompatible_default_to_explicit_init_py
# Enable resolution of cc toolchain by go toolchain
build --incompatible_enable_cc_toolchain_resolution
build --flag_alias=file_name_version=//:file_name_version

# include one of "--define gotags=sqlite_mattn" or "--define gotags=sqlite_modernc"
# cannot be in common, because query chokes on it.
build --define gotags=sqlite_modernc,netgo
build:osx --define gotags=sqlite_modernc

### options for test
test --build_tests_only --print_relative_test_log_paths --test_output=errors
Expand All @@ -25,7 +35,7 @@ test:unit_all --config=unit //...
test:integration --test_tag_filters=integration,-lint
test:integration_all --config=integration //...

test:lint --test_tag_filters=lint --test_summary=terse --noshow_progress --experimental_convenience_symlinks=ignore //...
test:lint --test_tag_filters=lint,write_src --test_summary=terse --noshow_progress --experimental_convenience_symlinks=ignore

# run quietly, only display errors
common:quiet --ui_event_filters=-warning,-info,-debug,-stdout,-stderr --noshow_progress
2 changes: 1 addition & 1 deletion .bazelversion
Original file line number Diff line number Diff line change
@@ -1 +1 @@
5.1.0
6.4.0
11 changes: 11 additions & 0 deletions .buildkite/cleanup-leftovers.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/bash

echo "~~~ Cleaning up any leftovers"
cntrs="$(docker ps -aq | grep -v -f <(docker ps -q --filter "name=go-module-proxy" --filter "name=bazel-remote-cache"))"
[ -n "$cntrs" ] && { echo "Remove leftover containers..."; docker rm -f $cntrs; }
echo "Remove leftover networks"
docker network prune -f
echo "Remove leftover volumes"
docker volume prune -f

rm -rf bazel-testlogs logs/* traces gen gen-cache /tmp/test-artifacts test-out.tar.gz
1 change: 1 addition & 0 deletions .buildkite/hooks/bazel-remote.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
version: "2.4"
name: bazel_remote
services:
bazel-remote:
container_name: bazel-remote-cache
Expand Down
1 change: 1 addition & 0 deletions .buildkite/hooks/go-module-proxy.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
version: "2.4"
name: athens
services:
go-module-proxy:
container_name: go-module-proxy
Expand Down
76 changes: 0 additions & 76 deletions .buildkite/hooks/pre-artifact

This file was deleted.

34 changes: 22 additions & 12 deletions .buildkite/hooks/pre-command
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,29 @@ printenv PATH
# Install build tools on first job for this runner.
.buildkite/provision-agent.sh

# Clean up left-overs from previous run
PRE_COMMAND_SETUP=true . .buildkite/hooks/pre-exit

set -euo pipefail

echo "--- Increase receive network buffer size"
echo "~~~ Increase receive network buffer size"
sudo sysctl -w net.core.rmem_max=1048576

echo "--- Setting up bazel environment"

# Export SCION_VERSION as environment variable, unless it's set from outside (e.g. as variable for this build)
# Note that this precommand hook runs even in "step zero" of the pipeline, where we `buildkite-agent upload'.
# With this, the SCION_VERSION can be interpolated by the agent throughout the pipeline yaml.
if [ -z ${SCION_VERSION+x} ]; then
echo "~~~ Export SCION_VERSION"
if [ "$BUILDKITE_PIPELINE_SLUG" == "scion" ]; then
# Shorten the git version to omit commit information, improving cache reuse.
# The format of git-version is "<tag>-<number-of-commits-since-the-tag>-<commit-short-hash>"
# This will be shortened to "<tag>-modified-ci"
export SCION_VERSION=$(tools/git-version | sed 's/-.*/-modified-ci/')
else
export SCION_VERSION=$(tools/git-version)
fi
echo SCION_VERSION=${SCION_VERSION}
fi

echo "~~~ Setting up bazel environment"
if [ -z ${BAZEL_REMOTE_S3_ACCESS_KEY_ID+x} ]; then
echo "S3 env not set, not starting bazel remote proxy"
exit 0
Expand All @@ -33,20 +46,17 @@ rm -f $HOME/.bazelrc
# --nostamp is required for better caching (only on non-release jobs).
if [ "$BUILDKITE_PIPELINE_SLUG" == "scion" ]; then
echo "build --nostamp" > $HOME/.bazelrc
# Also set a fixed GIT_VERSION so that the workspace_status_command always
# returns the same value on CI to improve cache reuse.
export GIT_VERSION="ci-fixed"
else
echo "build --stamp" > $HOME/.bazelrc
fi
echo "test --test_env CI" >> $HOME/.bazelrc

echo "--- Starting bazel remote cache proxy"
echo "~~~ Starting bazel remote cache proxy"

# Start bazel remote cache proxy for S3
# Note that S3 keys are injected by buildkite, see
# https://buildkite.com/docs/pipelines/secrets#storing-secrets-with-the-elastic-ci-stack-for-aws
docker-compose -f .buildkite/hooks/bazel-remote.yml -p bazel_remote up -d
docker compose -f .buildkite/hooks/bazel-remote.yml up -d

echo "--- Starting go module proxy"
docker-compose -f .buildkite/hooks/go-module-proxy.yml -p athens up -d
echo "~~~ Starting go module proxy"
docker compose -f .buildkite/hooks/go-module-proxy.yml up -d
21 changes: 2 additions & 19 deletions .buildkite/hooks/pre-exit
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/bin/bash


if [ -f ".buildkite/hooks/bazel-remote.yml" -a -z "$PRE_COMMAND_SETUP" ]; then
echo "--- Uploading bazel-remote and go-module-proxy logs/metrics"
if [ -f ".buildkite/hooks/bazel-remote.yml" ]; then
echo "~~~ Uploading bazel-remote and go-module-proxy logs/metrics"
curl http://localhost:8080/metrics > bazel-remote-cache.metrics
docker logs bazel-remote-cache &> bazel-remote-cache.log

Expand All @@ -11,19 +10,3 @@ if [ -f ".buildkite/hooks/bazel-remote.yml" -a -z "$PRE_COMMAND_SETUP" ]; then

buildkite-agent artifact upload "bazel-remote-cache.*;go-module-proxy.*"
fi

echo "--- Cleaning up the topology"

./scion.sh topo_clean

echo "--- Cleaning up docker containers/networks/volumes"
cntrs="$(docker ps -aq | grep -v -f <(docker ps -q --filter "name=go-module-proxy" --filter "name=bazel-remote-cache"))"
[ -n "$cntrs" ] && { echo "Remove leftover containers..."; docker rm -f $cntrs; }

echo "Remove leftover networks"
docker network prune -f
echo "Remove leftover volumes"
docker volume prune -f

echo "--- Cleaning up logs and artifacts"
rm -rf bazel-testlogs logs/* traces gen gen-cache /tmp/test-artifacts
88 changes: 72 additions & 16 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,72 @@ env:
steps:
- label: "Build :bazel:"
command:
- bazel build --verbose_failures --announce_rc //:all
- bazel run --verbose_failures //docker:prod //docker:test
- bazel build --verbose_failures --announce_rc //:scion //:scion-ci
- bazel build --verbose_failures //docker:prod //docker:test
key: build
artifact_paths:
- "scion_${SCION_VERSION}_amd64_linux.tar.gz" # Note: SCION_VERSION interpolated by buildkite agent uploading pipeline, see pre-command hook
- "scion-ci_${SCION_VERSION}_amd64_linux.tar.gz"
plugins:
- scionproto/metahook#v0.3.0:
pre-artifact: |
gzip --to-stdout bazel-bin/scion.tar > scion_${SCION_VERSION}_amd64_linux.tar.gz
gzip --to-stdout bazel-bin/scion-ci.tar > scion-ci_${SCION_VERSION}_amd64_linux.tar.gz
post-artifact: |
cat << EOF | buildkite-agent annotate --style "info" --context "binaries"
#### Build outputs
- <a href="artifact://scion_${SCION_VERSION}_amd64_linux.tar.gz">SCION binaries</a>
- <a href="artifact://scion-ci_${SCION_VERSION}_amd64_linux.tar.gz">SCION test tools and utilities</a>
EOF
retry: &automatic-retry
automatic:
- exit_status: -1 # Agent was lost
- exit_status: 255 # Forced agent shutdown
timeout_in_minutes: 10
- wait
- label: "Package :debian: :openwrt: :rpm:"
command: |
make dist-deb BFLAGS="--file_name_version=${SCION_VERSION}"
make dist-openwrt BFLAGS="--file_name_version=${SCION_VERSION}"
make dist-rpm BFLAGS="--file_name_version=${SCION_VERSION}"
artifact_paths:
- "installables/scion_*.tar.gz"
plugins:
- scionproto/metahook#v0.3.0:
pre-artifact: |
set -x
pushd installables
tar -chaf scion_${SCION_VERSION}_deb_amd64.tar.gz *_${SCION_VERSION}_amd64.deb
tar -chaf scion_${SCION_VERSION}_deb_arm64.tar.gz *_${SCION_VERSION}_arm64.deb
tar -chaf scion_${SCION_VERSION}_deb_i386.tar.gz *_${SCION_VERSION}_i386.deb
tar -chaf scion_${SCION_VERSION}_deb_armel.tar.gz *_${SCION_VERSION}_armel.deb
tar -chaf scion_${SCION_VERSION}_openwrt_x86_64.tar.gz *_${SCION_VERSION}_x86_64.ipk
tar -chaf scion_${SCION_VERSION}_rpm_x86_64.tar.gz *_${SCION_VERSION}_x86_64.rpm
popd
ls installables
post-artifact: |
cat << EOF | buildkite-agent annotate --style "info" --context "packages"
#### Packages :debian:
- <a href="artifact://installables/scion_${SCION_VERSION}_deb_amd64.tar.gz">amd64</a>
- <a href="artifact://installables/scion_${SCION_VERSION}_deb_arm64.tar.gz">arm64</a>
- <a href="artifact://installables/scion_${SCION_VERSION}_deb_i386.tar.gz">i386</a>
- <a href="artifact://installables/scion_${SCION_VERSION}_deb_armel.tar.gz">armel</a>
#### Packages :openwrt:
- <a href="artifact://installables/scion_${SCION_VERSION}_openwrt_x86_64.tar.gz">x86_64</a>
#### Packages :rpm:
- <a href="artifact://installables/scion_${SCION_VERSION}_rpm_x86_64.tar.gz">x86_64</a>
EOF
key: dist
retry: *automatic-retry
- label: "Unit Tests :bazel:"
command:
- bazel test --config=race --config=unit_all
key: unit_tests
plugins:
- scionproto/metahook#v0.3.0:
pre-artifact: tar -chaf bazel-testlogs.tar.gz bazel-testlogs
artifact_paths:
- "artifacts.out/**/*"
- bazel-testlogs.tar.gz
retry: *automatic-retry
timeout_in_minutes: 20
- label: "Lint :bash:"
Expand All @@ -31,8 +82,8 @@ steps:
- echo "--- go_deps.bzl"
- mkdir -p /tmp/test-artifacts
- cp go.mod go.sum go_deps.bzl /tmp/test-artifacts/
- make go.mod
- make go_deps.bzl -B
- $(bazel info output_base 2>/dev/null)/external/go_sdk/bin/go mod tidy
- diff -u /tmp/test-artifacts/go.mod go.mod
- diff -u /tmp/test-artifacts/go.sum go.sum
- diff -u /tmp/test-artifacts/go_deps.bzl go_deps.bzl
Expand All @@ -56,6 +107,7 @@ steps:
timeout_in_minutes: 20
key: check_generated
retry: *automatic-retry
- wait
- group: "End to End"
key: e2e
steps:
Expand All @@ -69,14 +121,20 @@ steps:
- tools/await-connectivity
- ./bin/scion_integration || ( echo "^^^ +++" && false )
- ./bin/end2end_integration || ( echo "^^^ +++" && false )
plugins: &shutdown-scion-post-command
plugins: &scion-run-hooks
- scionproto/metahook#v0.3.0:
pre-command: .buildkite/cleanup-leftovers.sh
post-command: |
echo "--- Shutting down SCION topology"
echo "~~~ Shutting down SCION topology"
./scion.sh stop
echo "SCION topology successfully shut down"
artifact_paths:
- "artifacts.out/**/*"
pre-artifact: |
if [ -f "gen/scion-dc.yml" ]; then
tools/dc collect_logs scion logs/
fi
tar -chaf test-out.tar.gz $(ls -d logs traces gen gen-cache) # ls -d to filter missing directories
pre-exit: .buildkite/cleanup-leftovers.sh
artifact_paths: &scion-run-artifact-paths
- test-out.tar.gz
timeout_in_minutes: 15
key: e2e_integration_tests_v2
retry: *automatic-retry
Expand All @@ -90,25 +148,23 @@ steps:
- tools/await-connectivity
- ./bin/end2end_integration || ( echo "^^^ +++" && false )
- ./tools/integration/revocation_test.sh
plugins: *shutdown-scion-post-command
artifact_paths:
- "artifacts.out/**/*"
plugins: *scion-run-hooks
artifact_paths: *scion-run-artifact-paths
timeout_in_minutes: 15
key: e2e_revocation_test_v2
retry: *automatic-retry
- label: "E2E: default :docker: (ping)"
command:
- echo "--- build"
- make build docker-images
- make build-dev docker-images
- echo "--- start topology"
- ./scion.sh topology -d
- ./scion.sh run
- tools/await-connectivity
- echo "--- run tests"
- ./bin/end2end_integration -d || ( echo "^^^ +++" && false )
plugins: *shutdown-scion-post-command
artifact_paths:
- "artifacts.out/**/*"
plugins: *scion-run-hooks
artifact_paths: *scion-run-artifact-paths
timeout_in_minutes: 15
key: docker_integration_e2e_default
retry: *automatic-retry
Loading
Loading