Skip to content

Commit

Permalink
Merge branch 'release-v36.0.0' into release
Browse files Browse the repository at this point in the history
  • Loading branch information
badboy committed Mar 16, 2021
2 parents c9f375a + 5f7dd02 commit e925fe3
Show file tree
Hide file tree
Showing 99 changed files with 2,091 additions and 729 deletions.
2 changes: 1 addition & 1 deletion .buildconfig.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
libraryVersion: 35.0.0
libraryVersion: 36.0.0
groupId: org.mozilla.telemetry
projects:
glean:
Expand Down
103 changes: 69 additions & 34 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,12 +60,19 @@ commands:
rust-version: <<parameters.rust-version>>
- run:
name: Test
command: cargo test --all --verbose -- --nocapture
command: GLEAN_TEST_COVERAGE=$(realpath glean_coverage.txt) cargo test --all --verbose -- --nocapture
- run:
name: Test Glean with rkv safe-mode
command: |
cd glean-core
cargo test -p glean-core --features rkv-safe-mode -- --nocapture
- run:
name: Upload coverage report
command: |
sudo apt install python3-pip
pip3 install glean_parser
glean_parser coverage --allow-reserved -c glean_coverage.txt -f codecovio -o codecov.json glean-core/metrics.yaml
bash <(curl -s https://codecov.io/bash) -X yaml -f codecov.json
install-rustup:
steps:
Expand Down Expand Up @@ -130,17 +137,13 @@ commands:
name: Install Python development tools for host
command:
make python-setup
- run:
name: Build Windows glean_ffi.dll
command:
cargo build --target x86_64-pc-windows-gnu --release
- run:
name: Build Windows wheel
command: |
cd glean-core/python
.venv3.8/bin/python3 setup.py bdist_wheel
environment:
GLEAN_PYTHON_MINGW_X86_64_BUILD: 1
GLEAN_BUILD_TARGET: x86_64-pc-windows-gnu
GLEAN_BUILD_VARIANT: release

build-windows-i686-wheel:
Expand All @@ -153,17 +156,13 @@ commands:
name: Install Python development tools for host
command:
make python-setup
- run:
name: Build Windows glean_ffi.dll
command:
RUSTFLAGS="-C panic=abort" cargo build --target i686-pc-windows-gnu --release
- run:
name: Build Windows wheel
command: |
cd glean-core/python
.venv3.8/bin/python3 setup.py bdist_wheel
environment:
GLEAN_PYTHON_MINGW_I686_BUILD: 1
GLEAN_BUILD_TARGET: i686-pc-windows-gnu
GLEAN_BUILD_VARIANT: release

install-python-windows-deps:
Expand Down Expand Up @@ -276,7 +275,7 @@ jobs:
steps:
- checkout
- run: sudo pip install yamllint
- run: make yamllint
- run: make lint-yaml

###########################################################################
# Rust / C / FFI
Expand Down Expand Up @@ -556,7 +555,6 @@ jobs:
name: Setup build environment
command: |
rustup target add aarch64-apple-ios x86_64-apple-ios
cargo install cargo-lipo
# Bootstrap dependencies
bin/bootstrap.sh
Expand Down Expand Up @@ -644,12 +642,19 @@ jobs:
name: Setup build environment
command: |
rustup target add aarch64-apple-ios x86_64-apple-ios
cargo install cargo-lipo
# List available devices -- allows us to see what's there
xcrun instruments -w list || true
# See https://circleci.com/docs/2.0/testing-ios/#pre-starting-the-simulator
xcrun instruments -w "iPhone 11 (14" || true
- run:
name: Install Rust Nightly toolchain
command: |
# Need a nightly toolchain and the source code for targetting the arm64 iOS simulator
# We don't need that build on CI, but its hard to exclude it from the build
# while still allowing it in developer builds.
rustup toolchain add nightly --profile minimal
rustup component add rust-src --toolchain nightly
- run:
name: Use current commit of Glean
command: |
Expand Down Expand Up @@ -719,7 +724,7 @@ jobs:
- checkout
- run:
name: Python lints
command: make pythonlint
command: make lint-python

Python 3_6 tests:
docker:
Expand Down Expand Up @@ -761,26 +766,26 @@ jobs:
root: glean-core/python/
paths: .venv3.8

Python 3_8 tests minimum dependencies:
Python 3_9 tests:
docker:
- image: circleci/python:3.8.5
- image: circleci/python:3.9.0
steps:
- checkout
- skip-if-doc-only
- run:
command: |
echo "export GLEAN_PYDEPS=min" >> $BASH_ENV
- test-python
- persist_to_workspace:
root: glean-core/python/
paths: .venv3.9

Python 3_9 tests:
Python 3_9 tests minimum dependencies:
docker:
- image: circleci/python:3.9.0
steps:
- checkout
- skip-if-doc-only
- run:
command: |
echo "export GLEAN_PYDEPS=min" >> $BASH_ENV
- test-python
- persist_to_workspace:
root: glean-core/python/
paths: .venv3.9

Python 3_9 on Alpine tests:
docker:
Expand Down Expand Up @@ -929,17 +934,50 @@ jobs:
name: Build and Test Python extension
command: |
make test-python
environment:
# setup.py would set it automatically, but we're building separately.
MACOSX_DEPLOYMENT_TARGET: 10.7
GLEAN_BUILD_VARIANT: release
- run:
name: Build macOS wheel
command: |
cd glean-core/python
.venv3.9/bin/python3 setup.py bdist_wheel
# Requires that the TWINE_USERNAME and TWINE_PASSWORD environment
# variables are configured in CircleCI's environment variables.
.venv3.9/bin/python3 -m twine upload dist/*
environment:
GLEAN_BUILD_VARIANT: release
- install-ghr-darwin
- run:
name: Publish to Github
command: |
# Upload to GitHub
./ghr -replace ${CIRCLE_TAG} glean-core/python/dist
pypi-macos-arm64-release:
macos:
xcode: "12.3.0"
steps:
- install-rustup
- setup-rust-toolchain
- checkout
- run:
name: Install Python development tools for host
command:
make python-setup
- run:
name: Build macOS wheel
command: |
rustup target add aarch64-apple-darwin
cd glean-core/python
.venv3.9/bin/python3 setup.py bdist_wheel
# Requires that the TWINE_USERNAME and TWINE_PASSWORD environment
# variables are configured in CircleCI's environment variables.
.venv3.9/bin/python3 -m twine upload dist/*
environment:
SDKROOT: /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk
GLEAN_BUILD_TARGET: aarch64-apple-darwin
GLEAN_BUILD_VARIANT: release
- install-ghr-darwin
- run:
Expand Down Expand Up @@ -1023,14 +1061,7 @@ jobs:
- run:
name: Check internal documentation links
command: |
link-checker \
build/docs/book \
--disable-external true \
--allow-hash-href true \
--url-ignore ".*/swift/.*" \
--url-ignore ".*/python/.*" \
--url-ignore ".*/javadoc/.*" \
--url-ignore ".*/docs/glean_.*"
make linkcheck-raw
docs-spellcheck:
docker:
Expand Down Expand Up @@ -1117,8 +1148,8 @@ workflows:
- Python 3_6 tests minimum dependencies
- Python 3_7 tests
- Python 3_8 tests
- Python 3_8 tests minimum dependencies
- Python 3_9 tests
- Python 3_9 tests minimum dependencies
- Python 3_9 on Alpine tests
- Python Windows x86_64 tests
- Python Windows i686 tests
Expand Down Expand Up @@ -1181,6 +1212,10 @@ workflows:
requires:
- Python 3_8 tests
filters: *release-filters
- pypi-macos-arm64-release:
requires:
- Python 3_8 tests
filters: *release-filters
- pypi-windows-i686-release:
requires:
- Python 3_8 tests
Expand Down
6 changes: 5 additions & 1 deletion .dictionary
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
personal_ws-1.1 en 211 utf-8
personal_ws-1.1 en 215 utf-8
AAR
AARs
ABI
API's
APIs
APK
BUGFIX
Expand Down Expand Up @@ -35,6 +36,7 @@ JNI
JSON
JUnit
JWE
Javascript
JetBrains
Karlton
Kotlin
Expand Down Expand Up @@ -188,10 +190,12 @@ serializer
setuptools
stateful
struct
subcommand
subprocess
subprocesses
swiftlint
tcsh
templating
timespan
timespan's
timespans
Expand Down
30 changes: 27 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,30 @@
# Unreleased changes

[Full changelog](https://github.com/mozilla/glean/compare/v35.0.0...main)
[Full changelog](https://github.com/mozilla/glean/compare/v36.0.0...main)

# v36.0.0 (2021-03-16)

[Full changelog](https://github.com/mozilla/glean/compare/v35.0.0...v36.0.0)

* General
* Introduce a new API `Ping#test_before_next_submit` to run a callback right before a custom ping is submitted ([#1507](https://github.com/mozilla/glean/pull/1507)).
* The new API exists for all language bindings (Kotlin, Swift, Rust, Python).
* Updated `glean_parser` version to 2.5.0
* Change the `fmt-` and `lint-` make commands for consistency ([#1526](https://github.com/mozilla/glean/pull/1526))
* The Glean SDK can now produce testing coverage reports for your metrics ([#1482](https://github.com/mozilla/glean/pull/1482/files)).
* Python
* Update minimal required version of `cffi` dependency to 1.13.0 ([#1520](https://github.com/mozilla/glean/pull/1520)).
* Ship wheels for arm64 macOS ([#1534](https://github.com/mozilla/glean/pull/1534)).
* RLB
* Added `rate` metric type ([#1516](https://github.com/mozilla/glean/pull/1516)).
* Set `internal_metrics::os_version` for MacOS, Windows and Linux ([#1538](https://github.com/mozilla/glean/pull/1538))
* Expose a function `get_timestamp_ms` to get a timestamp from a monotonic clock on all supported operating systems, to be used for event timestamps ([#1546](https://github.com/mozilla/glean/pull/1546)).
* Expose a function to record events with an externally provided timestamp.
* iOS
* **Breaking Change**: Event timestamps are now correctly recorded in milliseconds ([#1546](https://github.com/mozilla/glean/pull/1546)).
* Since the first release event timestamps were erroneously recorded with nanosecond precision ([#1549](https://github.com/mozilla/glean/pull/1549)).
This is now fixed and event timestamps are in milliseconds.
This is equivalent to how it works in all other language bindings.

# v35.0.0 (2021-02-22)

Expand All @@ -11,8 +35,8 @@
* The `testGetValue` APIs now include a message on the `NullPointerException` thrown when the value is missing.
* **Breaking change:** `LEGACY_TAG_PINGS` is removed from `GleanDebugActivity` ([#1510](https://github.com/mozilla/glean/pull/1510))
* RLB
* **Breaking change:** `Configuration.data_path` is now a `std::path::PathBuf`([#1493](https://github.com/mozilla/glean/pull/1493)).
* **Breaking change:** `Configuration.data_path` is now a `std::path::PathBuf`([#1493](https://github.com/mozilla/glean/pull/1493)).

# v34.1.0 (2021-02-04)

[Full changelog](https://github.com/mozilla/glean/compare/v34.0.0...v34.1.0)
Expand Down
Loading

0 comments on commit e925fe3

Please sign in to comment.