From 10182cf355f0dfb1811779535e1d41c79199c2e2 Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Tue, 1 Sep 2026 17:11:14 +0200 Subject: [PATCH 1/2] fix: use api key for discourse after discourse upgrade Fixes: #725 Test-bot: skip --- server/services/discourse/discourse.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/server/services/discourse/discourse.ts b/server/services/discourse/discourse.ts index 689d591..75ff5dd 100644 --- a/server/services/discourse/discourse.ts +++ b/server/services/discourse/discourse.ts @@ -2,6 +2,9 @@ import httpget from '../../util/httpget.js'; import { userIds } from '../../../shared/users.js'; import { reportSiteErrorToSentry } from '../../code.js'; +const api_key=process.env['KEYMANSTATUS_DISCOURSE_API_KEY']; +const api_username=process.env['KEYMANSTATUS_DISCOURSE_API_USERNAME']; + export default { get: async function(startDate) { let result = { @@ -39,7 +42,12 @@ export default { const host = 'community.software.sil.org'; - let discourseQuery = httpget(host, url); + const headers = { + 'Api-Key': api_key, + 'Api-Username': api_username, + }; + + let discourseQuery = httpget(host, url, headers); return discourseQuery.then((data) => { let json = JSON.parse(data.data); From a59c9b05fbd1505336aa65add1fde404b1d8d8da Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Fri, 4 Sep 2026 07:29:30 +0200 Subject: [PATCH 2/2] change: improve clarity of buildLevel messages in user test artifacts Test-bot: skip --- server/keymanapp-test-bot/artifact-links-comment.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/server/keymanapp-test-bot/artifact-links-comment.ts b/server/keymanapp-test-bot/artifact-links-comment.ts index a644d70..c846259 100644 --- a/server/keymanapp-test-bot/artifact-links-comment.ts +++ b/server/keymanapp-test-bot/artifact-links-comment.ts @@ -62,6 +62,7 @@ export async function getArtifactLinksComment( }; let links: {[key: string]: LinkInfo[]} = {}; + let buildLevels: {[key: string]: string} = {}; for(let context of Object.keys(s)) { // artifactLinks @@ -156,10 +157,11 @@ export async function getArtifactLinksComment( download.name == 'Test Keyboards' ? 'Keyboards' : t.name; if(!links[platform]) links[platform] = []; + buildLevels[platform] = buildLevel; if(buildLevel == 'build') { links[platform].push({ - state: s[context].state == 'success' ? ': all tests passed (no artifacts on BuildLevel "build")' : s[context].state, + state: s[context].state == 'success' ? ': ✅ all tests passed' : ('❌ ' + s[context].state), platform: platform, download: download.name, url: null @@ -196,10 +198,11 @@ export async function getArtifactLinksComment( platforms.sort((a,b) => a.localeCompare(b, 'en', {sensitivity: 'base'})); let r = '\n## Test Artifacts\n\n'; + platforms.forEach(platform => { let items = links[platform]; items.sort((a:LinkInfo,b:LinkInfo) => a.download.localeCompare(b.download)); - r += `* **${platform}**\n` + + r += `* **${platform}**${buildLevels[platform] == 'build' ? ' (no artifacts on BuildLevel "build")' : ''}\n` + items.map(link => (link.state == 'success' ? ` * [${link.download}](${link.url})`