2026-06-17T09:43:23 Could someone have a look at why https://events.opensuse.org/conferences/oSC26/schedule.xml reports 403 when the request comes from github actions? 2026-06-17T09:43:25 https://github.com/Wilm0r/giggity/actions/runs/27679971126/job/81864670139?pr=507#step:10:302 2026-06-17T10:19:44 hi Aylen, the same works from other networks? any idea which user-agent that is requesting with? 2026-06-17T10:26:31 acidsys I guess something starting with "python-urllib3" 2026-06-17T10:26:54 acidsys The code is something like this: 2026-06-17T10:27:53 acidsys The code is something like this: 2026-06-17T10:28:11 As you can see, it works fine for me locally, so it looks like as if the source network from github actions is the problem 2026-06-17T10:33:00 It should be something starting with "python-urllib3" 2026-06-17T10:35:20 do you have a way to run this pipeline with more output to show the response headers/body? there is no 403 configured for networks: https://github.com/openSUSE/heroes-salt/blob/2e7296291fea394ba83af5643db34ece30d18556/pillar/cluster/atlas/init.sls#L106, and it could be from a different machine 2026-06-17T10:36:52 and urllib should be a fine useragent :) 2026-06-17T13:00:09 I did some more checks and the problem is the url to the normal website: 2026-06-17T13:00:25 > > > import requests; requests.get("https://events.opensuse.org/conferences/oSC26/";) 2026-06-17T13:00:25 > > > 2026-06-17T13:00:36 >>> import requests; requests.get(" https://events.opensuse.org/conferences/oSC26/" ;) 2026-06-17T13:00:36 2026-06-17T13:04:48 well that is expected, only .xml is exmpeted 2026-06-17T13:05:00 exempt * 2026-06-17T13:06:50 hm - it works with curl, but not with requests, even when I set the user-agent to curl. 2026-06-17T13:06:50 But anyways: could you add an exception, so we can get the openSUSE conference listed in the giggity app? 2026-06-17T13:07:30 there is no difference with those user agents 2026-06-17T13:07:53 why does it need to request the main path, it should be sufficient to query the api or the xml endpoint ? 2026-06-17T13:19:02 It checks that all the URLs listed in the json definition are reachable 2026-06-17T13:20:32 And the JSON definition contains a list of links that are shown in the menu of the app, so that the user can directly access e.g. the website, a map, a wiki, etc 2026-06-17T13:20:44 https://github.com/Wilm0r/giggity/pull/507/changes 2026-06-17T13:31:26 ah I understand, but that's not great, removing protection from the main path for this third party "health check" 2026-06-17T13:33:55 it's odd the error message would report the 403 on the .xml file though if you say it in reality is coming from the main path 2026-06-17T13:39:57 It doesn't report it for the XML url, but the output is a bit confusing 2026-06-17T13:40:37 what do you mean it doesn't report it, reading your link it says exactly this 2026-06-17T13:40:39 Error: URL should reference an XML or an ICS file: https://events.opensuse.org/conferences/oSC26/schedule.xml 2026-06-17T13:40:41 Error: Link "Website" appears broken: HTTP 403 Forbidden 2026-06-17T13:41:23 but now I understand it says the "Link Website" is your metadata link, and separate from the "url should reference ..." 2026-06-17T13:43:09 hm interesting, in your last run without the metadata, you only get it for the xml. but without a http error 2026-06-17T13:44:25 yes - because the check that was recently added, looks at the begin of the file for a " the tools/menu-ci.py => validate_entry(), could you try to reproduce this locally or add some print statements 2026-06-17T13:44:40 :) same thought