Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .github/workflows/station-status-freshness.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
name: Station Status Freshness

on:
push:
branches:
- master
paths:
- "Petabit/Models/StationStatus.cs"
- "Petabit.Tests/StationStatusTests.cs"
- ".github/workflows/station-status-freshness.yml"
schedule:
- cron: "0 7 * * 1"
workflow_dispatch:
Expand Down
8 changes: 1 addition & 7 deletions .github/workflows/uptime.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
name: Uptime Monitor

on:
push:
branches:
- master
workflow_dispatch:

permissions:
Expand All @@ -21,12 +18,9 @@ jobs:

env:
SITE_URL: https://petabit-production.up.railway.app
MAX_ATTEMPTS: ${{ github.event_name == 'push' && '8' || '3' }}
MAX_ATTEMPTS: 3

steps:
- name: Allow Railway deployment to start
if: github.event_name == 'push'
run: sleep 90

- name: Wait for production liveness
run: |
Expand Down
9 changes: 4 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

[![CI](https://github.com/ChevCellios/Petabit/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/ChevCellios/Petabit/actions/workflows/ci.yml)
[![Security](https://github.com/ChevCellios/Petabit/actions/workflows/security.yml/badge.svg?branch=master)](https://github.com/ChevCellios/Petabit/actions/workflows/security.yml)
[![Production smoke test](https://github.com/ChevCellios/Petabit/actions/workflows/uptime.yml/badge.svg?branch=master)](https://github.com/ChevCellios/Petabit/actions/workflows/uptime.yml)
[![Station status freshness](https://github.com/ChevCellios/Petabit/actions/workflows/station-status-freshness.yml/badge.svg?branch=master)](https://github.com/ChevCellios/Petabit/actions/workflows/station-status-freshness.yml)
[![Monitored by Better Stack](https://img.shields.io/badge/uptime-Better%20Stack-5B45FF)](https://betterstack.com/uptime)
![.NET](https://img.shields.io/badge/.NET-10.0-blueviolet)
Expand Down Expand Up @@ -65,10 +64,10 @@ Izvori podataka:

- timeout, retry i circuit breaker za vanjski ISS servis
- `/health/live` provjera procesa i `/health/ready` provjera dostupnosti ISS servisa
- post-deployment smoke test nakon svakog pusha u `master`
- Better Stack provjera produkcijskih liveness, readiness i ISS API endpointova svake 3 minute
- ručno pokretljiv GitHub produkcijski smoke test za ciljanu dijagnostiku
- Better Stack provjera produkcijskog liveness endpointa svakih 10 minuta
- tjedna provjera starosti kuriranih podataka o ISS posadi i letjelicama
- smoke test početne stranice, readiness endpointa i ISS trackera
- ručni smoke test početne stranice, readiness endpointa i ISS trackera
- strukturirani JSON logovi u produkciji
- validirani `X-Correlation-ID` za povezivanje korisničkog zahtjeva s Railway logovima
- sigurna produkcijska error stranica bez izlaganja detalja iznimke
Expand All @@ -91,7 +90,7 @@ Grana `master` zaštićena je pull request pravilima i zahtijeva prolazak sljede
- `Audit NuGet dependencies`
- `Analyze C# with CodeQL`

Nakon mergea Railway automatski deploya novu verziju, a produkcijski smoke test potvrđuje dostupnost aplikacije.
Nakon mergea Railway automatski deploya novu verziju. Better Stack nadzire liveness svakih 10 minuta, a puni produkcijski smoke test pokreće se ručno kada je potrebna ciljana provjera.

## ✅ Testiranje

Expand Down
Loading