Skip to content

Commit 8345d1b

Browse files
committed
Merge branch 'release-v66.3.0' into release
2 parents e95d7e5 + fe5952f commit 8345d1b

File tree

20 files changed

+282
-100
lines changed

20 files changed

+282
-100
lines changed

.buildconfig.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
libraryVersion: 66.2.0
1+
libraryVersion: 66.3.0
22
groupId: org.mozilla.telemetry
33
projects:
44
glean:

.circleci/config.yml

Lines changed: 9 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@ definitions:
1818
- ci_filters: &ci-filters
1919
branches:
2020
ignore: release
21+
- ci_only: &ci-only
22+
branches:
23+
ignore:
24+
- main
25+
- release
2126

2227
##########################################################################
2328
# COMMANDS
@@ -600,24 +605,12 @@ jobs:
600605
else
601606
make test-swift
602607
fi
603-
- run:
604-
name: Generate Swift documentation
605-
command: |
606-
# Skip doc generation for pull requests.
607-
if [ "$CIRCLE_BRANCH" = "main" ]; then
608-
make docs-swift
609-
else
610-
mkdir -p build/docs/swift
611-
fi
612608
- store_artifacts:
613609
path: raw_xcodebuild.log
614610
destination: raw_xcodebuild.log
615611
- store_artifacts:
616612
path: raw_xcodetest.log
617613
destination: raw_xcodetest.log
618-
- persist_to_workspace:
619-
root: build/
620-
paths: docs/swift
621614
- run:
622615
name: Build XCFramework archive
623616
no_output_timeout: 20m
@@ -1030,35 +1023,6 @@ jobs:
10301023
name: Check documentation spelling
10311024
command: bin/spellcheck.sh list
10321025

1033-
# via https://circleci.com/blog/deploying-documentation-to-github-pages-with-continuous-integration/
1034-
docs-deploy:
1035-
docker:
1036-
- image: cimg/node:22.6
1037-
steps:
1038-
- checkout
1039-
- attach_workspace:
1040-
at: build/
1041-
- run:
1042-
name: Disable jekyll builds
1043-
command: touch build/docs/.nojekyll
1044-
- run:
1045-
name: Show contents
1046-
command: ls -R
1047-
# Needed for write access to the GitHub repository;
1048-
# see https://circleci.com/docs/2.0/gh-bb-integration/#deployment-keys-and-user-keys
1049-
- add_ssh_keys:
1050-
fingerprints:
1051-
- "52:a9:c6:64:9e:df:60:70:73:da:81:02:71:9e:00:1b"
1052-
# The gh-pages npm package can be used to push a directory to a git branch;
1053-
# see https://www.npmjs.com/package/gh-pages
1054-
- run:
1055-
name: Deploy docs to gh-pages branch
1056-
command: |
1057-
git config user.email "[email protected]"
1058-
git config user.name "CircleCI docs-deploy job"
1059-
npm install [email protected]
1060-
npx gh-pages --dotfiles --message "[skip ci] Updates" --dist build/docs
1061-
10621026
###########################################################################
10631027
# Workflows
10641028

@@ -1116,27 +1080,18 @@ workflows:
11161080
filters: *ci-filters
11171081

11181082
- Generate Rust documentation:
1119-
requires:
1120-
- docs-spellcheck
1121-
filters: *ci-filters
1083+
filters: *ci-only
11221084
- Generate Python documentation:
11231085
requires:
11241086
- Python 3_10 tests
1125-
filters: *ci-filters
1087+
filters: *ci-only
11261088
- docs-linkcheck:
11271089
requires:
11281090
- Generate Rust documentation
11291091
- Generate Python documentation
1130-
filters: *ci-filters
1092+
filters: *ci-only
11311093
- docs-spellcheck:
1132-
filters: *ci-filters
1133-
- docs-deploy:
1134-
requires:
1135-
- docs-linkcheck
1136-
- iOS build and test
1137-
filters:
1138-
branches:
1139-
only: main
1094+
filters: *ci-only
11401095

11411096
# iOS jobs require manual approval on PRs
11421097
iOS:

.github/dependabot.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,18 @@ updates:
44
- package-ecosystem: "cargo"
55
directory: "/"
66
schedule:
7-
interval: "daily"
7+
interval: "weekly"
8+
cooldown:
9+
default-days: 8
810
versioning-strategy: lockfile-only
911

1012
# glean-python
1113
- package-ecosystem: "pip"
1214
directory: "/glean-core/python"
1315
schedule:
14-
interval: "daily"
16+
interval: "weekly"
17+
cooldown:
18+
default-days: 8
1519
ignore:
1620
# Updated in lockstep across all implementations
1721
- dependency-name: "glean_parser"

.github/workflows/crate-ci.sh

Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
#!/bin/sh
2+
3+
# Based on install.sh from https://github.com/japaric/trust
4+
# License: MIT/Apache.
5+
# See:
6+
# * https://github.com/japaric/trust/blob/master/LICENSE-MIT
7+
# * https://github.com/japaric/trust/blob/master/LICENSE-APACHE
8+
9+
set -e
10+
11+
help() {
12+
cat <<'EOF'
13+
Install a binary release of a Rust crate hosted on github.com
14+
15+
Usage:
16+
crate-ci.sh [options]
17+
18+
Options:
19+
-h, --help Display this message
20+
--git SLUG Get the crate from "https://github.com/$SLUG"
21+
-f, --force Force overwriting an existing binary
22+
--crate NAME Name of the crate to install (default <repository name>)
23+
--tag TAG Tag (version) of the crate to install (default <latest release>)
24+
--target TARGET Install the release compiled for $TARGET (default <`rustc` host>)
25+
--to LOCATION Where to install the binary (default ~/.cargo/bin)
26+
EOF
27+
}
28+
29+
say() {
30+
echo "install.sh: $1"
31+
}
32+
33+
say_err() {
34+
say "$1" >&2
35+
}
36+
37+
err() {
38+
if [ -n "$td" ]; then
39+
rm -rf "$td"
40+
fi
41+
42+
say_err "ERROR $1"
43+
exit 1
44+
}
45+
46+
need() {
47+
if ! command -v "$1" > /dev/null 2>&1; then
48+
err "need $1 (command not found)"
49+
fi
50+
}
51+
52+
force=false
53+
while test $# -gt 0; do
54+
case $1 in
55+
--crate)
56+
crate=$2
57+
shift
58+
;;
59+
--force | -f)
60+
force=true
61+
;;
62+
--git)
63+
git=$2
64+
shift
65+
;;
66+
--help | -h)
67+
help
68+
exit 0
69+
;;
70+
--tag)
71+
tag=$2
72+
shift
73+
;;
74+
--target)
75+
target=$2
76+
shift
77+
;;
78+
--to)
79+
dest=$2
80+
shift
81+
;;
82+
*)
83+
;;
84+
esac
85+
shift
86+
done
87+
88+
# Dependencies
89+
need basename
90+
need curl
91+
need install
92+
need mkdir
93+
need mktemp
94+
need tar
95+
96+
# Optional dependencies
97+
if [ -z "$crate" ] || [ -z "$tag" ] || [ -z "$target" ]; then
98+
need cut
99+
fi
100+
101+
if [ -z "$tag" ]; then
102+
need rev
103+
fi
104+
105+
if [ -z "$target" ]; then
106+
need grep
107+
need rustc
108+
fi
109+
110+
if [ -z "$git" ]; then
111+
# Markdown-style backticks
112+
# shellcheck disable=SC2016
113+
err 'must specify a git repository using `--git`. Example: `install.sh --git japaric/cross`'
114+
fi
115+
116+
url="https://github.com/$git"
117+
say_err "Git repository: $url"
118+
119+
if [ -z "$crate" ]; then
120+
crate=$(echo "$git" | cut -d'/' -f2)
121+
fi
122+
123+
say_err "Crate: $crate"
124+
125+
url="$url/releases"
126+
127+
if [ -z "$tag" ]; then
128+
latest_url=$url/latest
129+
tag_url=$(curl -Ls -o /dev/null -w "%{url_effective}" "$latest_url")
130+
tag=$(echo "$tag_url" | rev | cut -d'/' -f1 | rev)
131+
if [ -z "$tag" ]; then
132+
err "Failed to get tag from $latest_url"
133+
fi
134+
say_err "Tag: latest ($tag)"
135+
else
136+
say_err "Tag: $tag"
137+
fi
138+
139+
if [ -z "$target" ]; then
140+
target=$(rustc -Vv | grep host | cut -d' ' -f2)
141+
fi
142+
143+
say_err "Target: $target"
144+
145+
if [ -z "$dest" ]; then
146+
dest="$HOME/.cargo/bin"
147+
fi
148+
149+
say_err "Installing to: $dest"
150+
151+
url="$url/download/$tag/$crate-$tag-$target.tar.gz"
152+
153+
td=$(mktemp -d || mktemp -d -t tmp)
154+
curl -sL "$url" | tar xz -f - -C "$td"
155+
156+
for f in "$td"/*; do
157+
test -x "$f" || continue
158+
test -f "$f" || continue
159+
160+
if [ -e "$dest/$(basename "$f")" ] && [ "$force" = false ]; then
161+
err "$f already exists in $dest"
162+
else
163+
mkdir -p "$dest"
164+
install -m 755 "$f" "$dest"
165+
fi
166+
done
167+
168+
rm -rf "$td"

.github/workflows/publish-docs.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: Publish Docs on GitHub Pages
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
jobs:
9+
build:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: actions/checkout@v4
13+
- uses: dtolnay/rust-toolchain@stable
14+
- uses: Swatinem/rust-cache@v2
15+
with:
16+
cache-bin: false
17+
- uses: actions/setup-python@v6
18+
with:
19+
python-version: '3.13'
20+
21+
- name: Install mdbook-dtmo
22+
run: |
23+
.github/workflows/crate-ci.sh \
24+
--git badboy/mdbook-dtmo \
25+
--crate mdbook-dtmo \
26+
--tag 0.15.2
27+
28+
ln -s $(which mdbook-dtmo) $(dirname $(which mdbook-dtmo))/mdbook
29+
mdbook --version
30+
31+
- name: Build Rust Documentation
32+
run: make docs-rust
33+
- name: Build Python Documentation
34+
run: make docs-python
35+
36+
- name: Upload static files as artifact
37+
id: deployment
38+
uses: actions/upload-pages-artifact@v3
39+
with:
40+
path: build/docs/
41+
42+
deploy:
43+
needs: build
44+
permissions:
45+
pages: write
46+
id-token: write
47+
48+
environment:
49+
name: github-pages
50+
url: ${{ steps.deployment.outputs.page_url }}
51+
52+
runs-on: ubuntu-latest
53+
steps:
54+
- name: Deploy to GitHub Pages
55+
id: deployment
56+
uses: actions/deploy-pages@v4

CHANGELOG.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,17 @@
11
# Unreleased changes
22

3-
[Full changelog](https://github.com/mozilla/glean/compare/v66.2.0...main)
3+
[Full changelog](https://github.com/mozilla/glean/compare/v66.3.0...main)
4+
5+
# v66.3.0 (2025-12-19)
6+
7+
[Full changelog](https://github.com/mozilla/glean/compare/v66.2.0...v66.3.0)
8+
9+
* General
10+
* Updated to `glean_parser` v18.2.0 ([#3356](https://github.com/mozilla/glean/issues/3356))
11+
* Python
12+
* Source wheel builds now build the SDK upon install correctly ([#3359](https://github.com/mozilla/glean/pull/3359))
13+
* iOS
14+
* Annotate the `PingUploadScheduler` as unavailable for iOS App extensions ([, as app extensions run in a restricted environment without access to UIApplication.shared.#3355](https://github.com/mozilla/glean/pull/3355))
415

516
# v66.2.0 (2025-12-09)
617

0 commit comments

Comments
 (0)