diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8b3624383c..f7b81887a8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -48,28 +48,6 @@ jobs: # Don't run NPM build; don't run race-detector. - run: make test GO_ONLY=1 test-flags="" - test_ui: - name: UI tests - runs-on: ubuntu-latest - # Whenever the Go version is updated here, .promu.yml - # should also be updated. - container: - image: quay.io/prometheus/golang-builder:1.22-base - - steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 - - uses: prometheus/promci@3cb0c3871f223bd5ce1226995bd52ffb314798b6 # v0.1.0 - - uses: ./.github/promci/actions/setup_environment - with: - enable_go: false - enable_npm: true - - run: make assets-tarball - - run: make ui-lint - - run: make ui-test - - uses: ./.github/promci/actions/save_artifacts - with: - directory: .tarballs - test_windows: name: Go tests on Windows runs-on: windows-latest @@ -184,7 +162,7 @@ jobs: publish_main: name: Publish main branch artifacts runs-on: ubuntu-latest - needs: [test_ui, test_go, test_go_more, test_go_oldest, test_windows, golangci, codeql, build_all] + needs: [test_go, test_go_more, test_go_oldest, test_windows, golangci, codeql, build_all] if: github.event_name == 'push' && github.event.ref == 'refs/heads/main' steps: - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 @@ -198,7 +176,7 @@ jobs: publish_release: name: Publish release artefacts runs-on: ubuntu-latest - needs: [test_ui, test_go, test_go_more, test_go_oldest, test_windows, golangci, codeql, build_all] + needs: [test_go, test_go_more, test_go_oldest, test_windows, golangci, codeql, build_all] if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v2.') steps: - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 @@ -210,39 +188,3 @@ jobs: quay_io_login: ${{ secrets.quay_io_login }} quay_io_password: ${{ secrets.quay_io_password }} github_token: ${{ secrets.PROMBOT_GITHUB_TOKEN }} - publish_ui_release: - name: Publish UI on npm Registry - runs-on: ubuntu-latest - needs: [test_ui, codeql] - steps: - - name: Checkout - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 - - uses: prometheus/promci@3cb0c3871f223bd5ce1226995bd52ffb314798b6 # v0.1.0 - - name: Install nodejs - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 - with: - node-version-file: "web/ui/.nvmrc" - registry-url: "https://registry.npmjs.org" - - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 - with: - path: ~/.npm - key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-node- - - name: Check libraries version - if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v2.') - run: ./scripts/ui_release.sh --check-package "$(echo ${{ github.ref_name }}|sed s/v2/v0/)" - - name: build - run: make assets - - name: Copy files before publishing libs - run: ./scripts/ui_release.sh --copy - - name: Publish dry-run libraries - if: "!(github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v2.'))" - run: ./scripts/ui_release.sh --publish dry-run - - name: Publish libraries - if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v2.') - run: ./scripts/ui_release.sh --publish - env: - # The setup-node action writes an .npmrc file with this env variable - # as the placeholder for the auth token - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/.promu.yml b/.promu.yml index 0aa51d6d31..f50c6f591c 100644 --- a/.promu.yml +++ b/.promu.yml @@ -14,10 +14,10 @@ build: all: - netgo - builtinassets - - stringlabels + - dedupelabels windows: - builtinassets - - stringlabels + - dedupelabels ldflags: | -X github.com/prometheus/common/version.Version={{.Version}} -X github.com/prometheus/common/version.Revision={{.Revision}} diff --git a/CHANGELOG.md b/CHANGELOG.md index 8857495048..ad148a3545 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## 2.54.0+dedupelabels / 2024-08-09 + +Special release candidate build that incorporates performance improvements using +the `dedupelabels` Go tag. The new labels data structure deduplicates label names +and values via symbol or intern tables, trading off ~10% higher CPU usage for lower +memory usage. + ## 2.54.0 / 2024-08-09 Release 2.54 brings a release candidate of a major new version of [Remote Write: 2.0](https://prometheus.io/docs/specs/remote_write_spec_2_0/). diff --git a/VERSION b/VERSION index 99aed793ad..072b4a8e29 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.54.0 +2.54.0+dedupelabels