Compare commits

...

4 commits

Author SHA1 Message Date
Johannes Zellner dddcc846e1 Bump version 2024-05-10 14:49:16 +02:00
Johannes Zellner dd9acc3618 Fixup tests 2024-05-10 14:48:19 +02:00
Johannes Zellner b39c9a97fc Update test deps 2024-05-09 13:07:14 +02:00
Johannes Zellner 52502c017c Update to 2.52.0 2024-05-09 13:06:45 +02:00
6 changed files with 79 additions and 32 deletions

View file

@ -510,3 +510,33 @@
* [Full changelog](https://github.com/prometheus/prometheus/releases/tag/v2.51.2) * [Full changelog](https://github.com/prometheus/prometheus/releases/tag/v2.51.2)
* Notifier: could hang when using relabeling on alerts * Notifier: could hang when using relabeling on alerts
[1.31.0]
* Update Prometheus to 2.52.0
* [Full changelog](https://github.com/prometheus/prometheus/releases/tag/v2.52.0)
* [CHANGE] TSDB: Fix the predicate checking for blocks which are beyond the retention period to include the ones right at the retention boundary. #9633
* [FEATURE] Kubernetes SD: Add a new metric prometheus_sd_kubernetes_failures_total to track failed requests to Kubernetes API. #13554
* [FEATURE] Kubernetes SD: Add node and zone metadata labels when using the endpointslice role. #13935
* [FEATURE] Azure SD/Remote Write: Allow usage of Azure authorization SDK. #13099
* [FEATURE] Alerting: Support native histogram templating. #13731
* [FEATURE] Linode SD: Support IPv6 range discovery and region filtering. #13774
* [ENHANCEMENT] PromQL: Performance improvements for queries with regex matchers. #13461
* [ENHANCEMENT] PromQL: Performance improvements when using aggregation operators. #13744
* [ENHANCEMENT] PromQL: Validate label_join destination label. #13803
* [ENHANCEMENT] Scrape: Increment prometheus_target_scrapes_sample_duplicate_timestamp_total metric on duplicated series during one scrape. #12933
* [ENHANCEMENT] TSDB: Many improvements in performance. #13742 #13673 #13782
* [ENHANCEMENT] TSDB: Pause regular block compactions if the head needs to be compacted (prioritize head as it increases memory consumption). #13754
* [ENHANCEMENT] Observability: Improved logging during signal handling termination. #13772
* [ENHANCEMENT] Observability: All log lines for drop series use "num_dropped" key consistently. #13823
* [ENHANCEMENT] Observability: Log chunk snapshot and mmaped chunk replay duration during WAL replay. #13838
* [ENHANCEMENT] Observability: Log if the block is being created from WBL during compaction. #13846
* [BUGFIX] PromQL: Fix inaccurate sample number statistic when querying histograms. #13667
* [BUGFIX] PromQL: Fix histogram_stddev and histogram_stdvar for cases where the histogram has negative buckets. #13852
* [BUGFIX] PromQL: Fix possible duplicated label name and values in a metric result for specific queries. #13845
* [BUGFIX] Scrape: Fix setting native histogram schema factor during scrape. #13846
* [BUGFIX] TSDB: Fix counting of histogram samples when creating WAL checkpoint stats. #13776
* [BUGFIX] TSDB: Fix cases of compacting empty heads. #13755
* [BUGFIX] TSDB: Count float histograms in WAL checkpoint. #13844
* [BUGFIX] Remote Read: Fix memory leak due to broken requests. #13777
* [BUGFIX] API: Stop building response for /api/v1/series/ when the API request was cancelled. #13766
* [BUGFIX] promtool: Fix panic on promtool tsdb analyze --extended when no native histograms are present. #13976

View file

@ -1,6 +1,6 @@
{ {
"version": "1.30.2", "version": "1.31.0",
"upstreamVersion": "2.51.2", "upstreamVersion": "2.52.0",
"id": "io.prometheus.cloudronapp", "id": "io.prometheus.cloudronapp",
"title": "Prometheus Server", "title": "Prometheus Server",
"author": "Prometheus Developers", "author": "Prometheus Developers",

View file

@ -3,7 +3,7 @@ FROM cloudron/base:4.2.0@sha256:46da2fffb36353ef714f97ae8e962bd2c212ca091108d768
RUN mkdir -p /app/code /app/pkg RUN mkdir -p /app/code /app/pkg
WORKDIR /app/code WORKDIR /app/code
ARG VERSION=2.51.2 ARG VERSION=2.52.0
RUN curl -L https://github.com/prometheus/prometheus/releases/download/v${VERSION}/prometheus-${VERSION}.linux-amd64.tar.gz | tar zxvf - --strip-components 1 RUN curl -L https://github.com/prometheus/prometheus/releases/download/v${VERSION}/prometheus-${VERSION}.linux-amd64.tar.gz | tar zxvf - --strip-components 1

28
test/package-lock.json generated
View file

@ -9,12 +9,12 @@
"version": "1.0.0", "version": "1.0.0",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"chromedriver": "^123.0.3" "chromedriver": "^124.0.2"
}, },
"devDependencies": { "devDependencies": {
"expect.js": "^0.3.1", "expect.js": "^0.3.1",
"mocha": "^10.4.0", "mocha": "^10.4.0",
"selenium-webdriver": "^4.19.0" "selenium-webdriver": "^4.20.0"
} }
}, },
"node_modules/@testim/chrome-version": { "node_modules/@testim/chrome-version": {
@ -248,9 +248,9 @@
} }
}, },
"node_modules/chromedriver": { "node_modules/chromedriver": {
"version": "123.0.3", "version": "124.0.2",
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-123.0.3.tgz", "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-124.0.2.tgz",
"integrity": "sha512-35IeTqDLcVR0htF9nD/Lh+g24EG088WHVKXBXiFyWq+2lelnoM0B3tKTBiUEjLng0GnELI4QyQPFK7i97Fz1fQ==", "integrity": "sha512-TIcIH7tp81qGCWNprQMnmUm15zGUvX/39IiBy3JJMH/UFiimf2lqiWhdQ6LtbnW8BsPFFuEhEfnI733YXg8mxg==",
"hasInstallScript": true, "hasInstallScript": true,
"dependencies": { "dependencies": {
"@testim/chrome-version": "^1.1.4", "@testim/chrome-version": "^1.1.4",
@ -1271,9 +1271,9 @@
] ]
}, },
"node_modules/selenium-webdriver": { "node_modules/selenium-webdriver": {
"version": "4.19.0", "version": "4.20.0",
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.19.0.tgz", "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.20.0.tgz",
"integrity": "sha512-8XHW8m9V2XN2/SC1kr4bWzMtGvjmKUEZ6S0UBoDBqonhmwEIzKOLbzhanBd08HCOg1s1O0XrDWCD71NnA8Zt0g==", "integrity": "sha512-s/G44lGQ1xB3tmtX6NNPomlkpL6CxLdmAvp/AGWWwi4qv5Te1+qji7tPSyr6gyuoPpdYiof1rKnWe3luy0MrYA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"jszip": "^3.10.1", "jszip": "^3.10.1",
@ -1763,9 +1763,9 @@
} }
}, },
"chromedriver": { "chromedriver": {
"version": "123.0.3", "version": "124.0.2",
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-123.0.3.tgz", "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-124.0.2.tgz",
"integrity": "sha512-35IeTqDLcVR0htF9nD/Lh+g24EG088WHVKXBXiFyWq+2lelnoM0B3tKTBiUEjLng0GnELI4QyQPFK7i97Fz1fQ==", "integrity": "sha512-TIcIH7tp81qGCWNprQMnmUm15zGUvX/39IiBy3JJMH/UFiimf2lqiWhdQ6LtbnW8BsPFFuEhEfnI733YXg8mxg==",
"requires": { "requires": {
"@testim/chrome-version": "^1.1.4", "@testim/chrome-version": "^1.1.4",
"axios": "^1.6.7", "axios": "^1.6.7",
@ -2515,9 +2515,9 @@
"dev": true "dev": true
}, },
"selenium-webdriver": { "selenium-webdriver": {
"version": "4.19.0", "version": "4.20.0",
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.19.0.tgz", "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.20.0.tgz",
"integrity": "sha512-8XHW8m9V2XN2/SC1kr4bWzMtGvjmKUEZ6S0UBoDBqonhmwEIzKOLbzhanBd08HCOg1s1O0XrDWCD71NnA8Zt0g==", "integrity": "sha512-s/G44lGQ1xB3tmtX6NNPomlkpL6CxLdmAvp/AGWWwi4qv5Te1+qji7tPSyr6gyuoPpdYiof1rKnWe3luy0MrYA==",
"dev": true, "dev": true,
"requires": { "requires": {
"jszip": "^3.10.1", "jszip": "^3.10.1",

View file

@ -11,9 +11,9 @@
"devDependencies": { "devDependencies": {
"expect.js": "^0.3.1", "expect.js": "^0.3.1",
"mocha": "^10.4.0", "mocha": "^10.4.0",
"selenium-webdriver": "^4.19.0" "selenium-webdriver": "^4.20.0"
}, },
"dependencies": { "dependencies": {
"chromedriver": "^123.0.3" "chromedriver": "^124.0.2"
} }
} }

View file

@ -56,18 +56,29 @@ describe('Application life cycle test', function () {
expect(app).to.be.an('object'); expect(app).to.be.an('object');
} }
async function login() { async function login(session = true) {
await browser.get(`https://${app.fqdn}`); await browser.get(`https://${app.fqdn}`);
await waitForElement(By.id('inputUsername')); await waitForElement(By.id('loginProceedButton'));
await browser.findElement(By.id('inputUsername')).sendKeys(username); await browser.findElement(By.id('loginProceedButton')).click();
await browser.findElement(By.id('inputPassword')).sendKeys(password);
await browser.findElement(By.id('loginSubmitButton')).click(); if (!session) {
await waitForElement(By.id('inputUsername'));
await browser.findElement(By.id('inputUsername')).sendKeys(username);
await browser.findElement(By.id('inputPassword')).sendKeys(password);
await browser.findElement(By.id('loginSubmitButton')).click();
}
await waitForElement(By.xpath('//a[text()="Alerts"]')); await waitForElement(By.xpath('//a[text()="Alerts"]'));
} }
async function logout() { async function logout() {
await browser.get(`https://${app.fqdn}/logout`); await browser.get(`https://${app.fqdn}/logout`);
await waitForElement(By.xpath('//input[@name="username"]')); await waitForElement(By.id('loginProceedButton'));
}
async function loadApp() {
await browser.get(`https://${app.fqdn}`);
await waitForElement(By.xpath('//a[text()="Alerts"]'));
} }
xit('build app', function () { execSync('cloudron build', EXEC_ARGS); }); xit('build app', function () { execSync('cloudron build', EXEC_ARGS); });
@ -75,12 +86,12 @@ describe('Application life cycle test', function () {
it('can get app information', getAppInfo); it('can get app information', getAppInfo);
it('can login', login); it('can login', login.bind(null, false));
it('can logout', logout); it('can load app', loadApp);
it('can restart app', function () { execSync(`cloudron restart --app ${app.id}`, EXEC_ARGS); }); it('can restart app', function () { execSync(`cloudron restart --app ${app.id}`, EXEC_ARGS); });
it('can login', login);
it('can logout', logout); it('can load app', loadApp);
it('backup app', function () { execSync(`cloudron backup create --app ${app.id}`, EXEC_ARGS); }); it('backup app', function () { execSync(`cloudron backup create --app ${app.id}`, EXEC_ARGS); });
it('restore app', function () { it('restore app', function () {
@ -91,13 +102,13 @@ describe('Application life cycle test', function () {
execSync(`cloudron restore --backup ${backups[0].id} --app ${app.id}`, EXEC_ARGS); execSync(`cloudron restore --backup ${backups[0].id} --app ${app.id}`, EXEC_ARGS);
}); });
it('can login', login); it('can load app', loadApp);
it('can logout', logout);
it('move to different location', function () { execSync(`cloudron configure --location ${LOCATION}2 --app ${app.id}`, EXEC_ARGS); }); it('move to different location', function () { execSync(`cloudron configure --location ${LOCATION}2 --app ${app.id}`, EXEC_ARGS); });
it('can get app information', getAppInfo); it('can get app information', getAppInfo);
it('can login', login); it('can login', login);
it('can load app', loadApp);
it('can logout', logout); it('can logout', logout);
it('uninstall app', function () { execSync(`cloudron uninstall --app ${app.id}`, EXEC_ARGS); }); it('uninstall app', function () { execSync(`cloudron uninstall --app ${app.id}`, EXEC_ARGS); });
@ -105,9 +116,15 @@ describe('Application life cycle test', function () {
// test update // test update
it('can install app', function () { execSync(`cloudron install --appstore-id io.prometheus.cloudronapp --location ${LOCATION}`, EXEC_ARGS); }); it('can install app', function () { execSync(`cloudron install --appstore-id io.prometheus.cloudronapp --location ${LOCATION}`, EXEC_ARGS); });
it('can get app information', getAppInfo); it('can get app information', getAppInfo);
// it('can login', login);
it('can load app', loadApp);
it('can update', function () { execSync(`cloudron update --app ${app.id}`, EXEC_ARGS); }); it('can update', function () { execSync(`cloudron update --app ${app.id}`, EXEC_ARGS); });
it('can login', login);
it('can load app', loadApp);
it('can logout', logout); it('can logout', logout);
it('uninstall app', function () { execSync(`cloudron uninstall --app ${app.id}`, EXEC_ARGS); }); it('uninstall app', function () { execSync(`cloudron uninstall --app ${app.id}`, EXEC_ARGS); });
}); });