peimanja / promtool-github-actions

GitHub Action for checking Prometheus Configs and Alert rules
13 stars 16 forks source link

Unzipping Promtool fails with v2.40.7 #7

Open obrienrobert opened 1 year ago

obrienrobert commented 1 year ago

Using promtool_actions_version: 2.40.7 which is the latest tag at the time of writing results in the following error:

| Downloading Promtool v2.40.7
| Successfully downloaded Promtool v2.40.7
| Unzipping Promtool v2.40.7
| Failed to unzip Promtool v2.40.7

Workaround is just to use a previous release version. If I have time at some stage I will take a look into a fix.

till commented 6 months ago

Also experienced this with 2.51.2

till commented 6 months ago

Ok, found something weird. So in my case, there are docker images published, but the release on Github does not contain any tarballs. So when I checked, the link the action created to download promtool, it is a 404. I reported it to the project (https://github.com/prometheus/prometheus/issues/13927), maybe someone forgot to run something or they yanked a release but forgot to delete the containers.

Anyhow, I am making a PR to make curl fail when it encounters a 404. So it should be more obvious what the problem is.

And here is the 404 from the link (I extracted it with set -x , by invoking your script locally (with INPUTS_* etc.):

```shell ❯ curl -v https://github.com/prometheus/prometheus/releases/download/v2.51.2/prometheus-2.51.2.linux-amd64.tar.gz * Trying 140.82.121.4:443... * Connected to github.com (140.82.121.4) port 443 * ALPN: curl offers h2,http/1.1 * (304) (OUT), TLS handshake, Client hello (1): * CAfile: /etc/ssl/cert.pem * CApath: none * (304) (IN), TLS handshake, Server hello (2): * (304) (IN), TLS handshake, Unknown (8): * (304) (IN), TLS handshake, Certificate (11): * (304) (IN), TLS handshake, CERT verify (15): * (304) (IN), TLS handshake, Finished (20): * (304) (OUT), TLS handshake, Finished (20): * SSL connection using TLSv1.3 / AEAD-AES128-GCM-SHA256 * ALPN: server accepted h2 * Server certificate: * subject: CN=github.com * start date: Mar 7 00:00:00 2024 GMT * expire date: Mar 7 23:59:59 2025 GMT * subjectAltName: host "github.com" matched cert's "github.com" * issuer: C=GB; ST=Greater Manchester; L=Salford; O=Sectigo Limited; CN=Sectigo ECC Domain Validation Secure Server CA * SSL certificate verify ok. * using HTTP/2 * [HTTP/2] [1] OPENED stream for https://github.com/prometheus/prometheus/releases/download/v2.51.2/prometheus-2.51.2.linux-amd64.tar.gz * [HTTP/2] [1] [:method: GET] * [HTTP/2] [1] [:scheme: https] * [HTTP/2] [1] [:authority: github.com] * [HTTP/2] [1] [:path: /prometheus/prometheus/releases/download/v2.51.2/prometheus-2.51.2.linux-amd64.tar.gz] * [HTTP/2] [1] [user-agent: curl/8.4.0] * [HTTP/2] [1] [accept: */*] > GET /prometheus/prometheus/releases/download/v2.51.2/prometheus-2.51.2.linux-amd64.tar.gz HTTP/2 > Host: github.com > User-Agent: curl/8.4.0 > Accept: */* > < HTTP/2 404 < server: GitHub.com < date: Sun, 14 Apr 2024 08:52:40 GMT < content-type: text/plain; charset=utf-8 < vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, Accept-Encoding, Accept, X-Requested-With < cache-control: no-cache < strict-transport-security: max-age=31536000; includeSubdomains; preload < x-frame-options: deny < x-content-type-options: nosniff < x-xss-protection: 0 < referrer-policy: no-referrer-when-downgrade < content-security-policy: default-src 'none'; base-uri 'self'; connect-src 'self'; form-action 'self'; img-src 'self' data:; script-src 'self'; style-src 'unsafe-inline' < content-length: 9 < x-github-request-id: E492:2E17:4E58E9D:4F4B9C1:661B9958 < * Connection #0 to host github.com left intact Not Found ```