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)
* 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",
"upstreamVersion": "2.51.2",
"version": "1.31.0",
"upstreamVersion": "2.52.0",
"id": "io.prometheus.cloudronapp",
"title": "Prometheus Server",
"author": "Prometheus Developers",

View file

@ -3,7 +3,7 @@ FROM cloudron/base:4.2.0@sha256:46da2fffb36353ef714f97ae8e962bd2c212ca091108d768
RUN mkdir -p /app/code /app/pkg
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

28
test/package-lock.json generated
View file

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

View file

@ -11,9 +11,9 @@
"devDependencies": {
"expect.js": "^0.3.1",
"mocha": "^10.4.0",
"selenium-webdriver": "^4.19.0"
"selenium-webdriver": "^4.20.0"
},
"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');
}
async function login() {
async function login(session = true) {
await browser.get(`https://${app.fqdn}`);
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.id('loginProceedButton'));
await browser.findElement(By.id('loginProceedButton')).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"]'));
}
async function 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); });
@ -75,12 +86,12 @@ describe('Application life cycle test', function () {
it('can get app information', getAppInfo);
it('can login', login);
it('can logout', logout);
it('can login', login.bind(null, false));
it('can load app', loadApp);
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('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);
});
it('can login', login);
it('can logout', logout);
it('can load app', loadApp);
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 login', login);
it('can load app', loadApp);
it('can logout', logout);
it('uninstall app', function () { execSync(`cloudron uninstall --app ${app.id}`, EXEC_ARGS); });
@ -105,9 +116,15 @@ describe('Application life cycle test', function () {
// test update
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 login', login);
it('can load app', loadApp);
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('uninstall app', function () { execSync(`cloudron uninstall --app ${app.id}`, EXEC_ARGS); });
});