Skip to content

Commit

Permalink
Merge remote-tracking branch 'refs/remotes/official/main' into attrib…
Browse files Browse the repository at this point in the history
…utes-as-labels

# Conflicts:
#	collector/src/main/java/io/prometheus/jmx/JmxScraper.java
#	docs/README.md
  • Loading branch information
karina-calma committed Dec 10, 2024
2 parents 8b555ed + 41540dc commit 613acb2
Show file tree
Hide file tree
Showing 705 changed files with 12,089 additions and 3,592 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
branches: [ "main" ]
jobs:
build:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: Set up JDK 21
Expand Down
82 changes: 82 additions & 0 deletions .github/workflows/github-pages.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
name: Deploy Documentation to GitHub Pages

on:
# Runs on pushes targeting the 1.0.x branch
push:
branches:
- main

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

# Default to bash
defaults:
run:
shell: bash

jobs:
# Build job
build:
runs-on: ubuntu-24.04
env:
HUGO_VERSION: 0.115.4
steps:
- uses: actions/checkout@v4
with:
fetch-tags: 'true'
fetch-depth: 0
- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: 17
distribution: temurin
cache: 'maven'
- name: Install Hugo CLI
run: |
wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \
&& sudo dpkg -i ${{ runner.temp }}/hugo.deb
- name: Setup Pages
id: pages
uses: actions/configure-pages@v5
- name: Install Node.js dependencies
run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true"
working-directory: ./docs
- name: Build with Hugo
env:
# For maximum backward compatibility with Hugo modules
HUGO_ENVIRONMENT: production
HUGO_ENV: production
run: |
hugo \
--gc \
--minify \
--baseURL "${{ steps.pages.outputs.base_url }}/"
working-directory: ./docs
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./docs/public

# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-24.04
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
2 changes: 1 addition & 1 deletion .github/workflows/label-issues.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
- opened
jobs:
label_issues:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
issues: write
steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/manual-build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Manual Build
on: [workflow_dispatch]
jobs:
build:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: Set up JDK 21
Expand Down
12 changes: 5 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,10 @@ target/
.settings/
.classpath
dependency-reduced-pom.xml
output.txt
pom.xml.versionsBackup
integration_test_suite/integration_tests/src/test/resources/common/**.jar
output.log
stress-test.log
test.sh
test.log
verify-full.sh
verify-full.log
**/.hugo_build.lock
quick-test.log
smoke-test.log
regression-test.log
RELEASE
Binary file added .pipeliner/verifyica-pipeliner.jar
Binary file not shown.
3 changes: 1 addition & 2 deletions MAINTAINERS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
* Fabian Stäber <[email protected]> @fstab
* Doug Hoard <[email protected]> @dhoard
* Tom Wilkie <[email protected]> @tomwilkie
* Fabian Stäber <[email protected]> @fstab
99 changes: 18 additions & 81 deletions MAINTAINER_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,98 +1,35 @@
# Maintainer Notes

Shell scripts to build and release are located int the `tools` directory.
## Release

## Build a pre-release
___
Verifyica [Pipeliner](https://github.com/verifyica-team/pipeliner) is used to run the release pipeline.

**Pre-release builds are not source controlled (no branch, no tag)**
- builds & runs integration tests using smoke test containers
- creates & copies release artifacts
- generates signatures and checksums for release artifacts
- creates the release branch
- tags the release
- updates the `main` branch for development

Command
**Notes**

```shell
./tools/build-and-copy.sh <version> <destination directory>
```
- `gpg` is required
- `sha256sum` is required

Example
### Example:

```shell
./tools/build-and-copy.sh 0.20.0-ALPHA-1 "/tmp/"
./pipeliner -Prelease=<RELEASE VERSION> release.yaml
```

The jars will be located in `/tmp`

## Build and stage
___

Release builds are source controlled.

- Creates a `release-<version>` branch
- Creates a `<version>` tag
- Pushes the branch and tag to GitHub
- Stages the release to Maven Central

### Step 1

Command
### Concrete Example:

```shell
./tools/build-and-stage.sh <version>
./pipeliner -Prelease=1.1.0 release.yaml
```

Example

```shell
./tools/build-and-stage.sh 0.20.0
```

### Step 2

Download the staged artifacts from Maven Central and run the integration test suite.

```
https://oss.sonatype.org/#stagingRepositories
```

Example

```shell
/home/dhoard/Downloads/jmx_prometheus_javaagent-0.20.0.jar
/home/dhoard/Downloads/jmx_prometheus_httpserver-0.20.0.jar
```
## Release Artifacts

Command
Release artifacts will be located in the `RELEASE` directory.

```shell
./tools/patch-and-run-integration-test-suite.sh <javaagent.jar> <httpserver.jar>
```

Example

```shell
./tools/patch-and-run-integration-test-suite.sh /home/dhoard/Downloads/jmx_prometheus_javaagent-0.20.0.jar /home/dhoard/Downloads/jmx_prometheus_httpserver-0.20.0.jar
```

### Step 3

If the integration test suite in Step 2 passes, on Maven Central...

- Click `Close` to trigger Sonatype's verification
- Once closed, click `Release`


### Step 4

Verify the files are available via Maven Central (Maven)

Create a GitHub release

### Step 5

Checkout the `main` branch and increment the version

```shell
git checkout main
./tools/change-version.sh 1.0.0
git add -u
git commit -m "prepare for next development iteration"
```
Attach all files to the GitHub release.
23 changes: 2 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,11 @@

[![Build Status](https://github.com/prometheus/jmx_exporter/actions/workflows/build.yaml/badge.svg)](https://github.com/prometheus/jmx_exporter/actions/workflows/build.yaml)

JMX to Prometheus exporter: a collector that can configurable scrape and
expose MBeans of a JMX target.

This exporter is intended to be run as a Java Agent, exposing a HTTP server
and serving metrics of the local JVM. It can be also run as a standalone
HTTP server and scrape remote JMX targets, but this has various
disadvantages, such as being harder to configure and being unable to expose
process metrics (e.g., memory and CPU usage).

**Running the exporter as a Java agent is strongly encouraged.**
The JMX Exporter is a collector to capture JMX MBean values.

# Documentation

**Documentation is specific to a release.**

[1.0.1](https://github.com/prometheus/jmx_exporter/tree/release-1.0.1/docs)

[0.20.0](https://github.com/prometheus/jmx_exporter/tree/release-0.20.0)

[0.19.0](https://github.com/prometheus/jmx_exporter/tree/release-0.19.0)

[0.18.0](https://github.com/prometheus/jmx_exporter/tree/release-0.18.0)

[0.17.2](https://github.com/prometheus/jmx_exporter/tree/release-0.17.2)
Documentation can be found at [http://prometheus.github.io/jmx_exporter/](http://prometheus.github.io/jmx_exporter)

# Contributing and community

Expand Down
Loading

0 comments on commit 613acb2

Please sign in to comment.