test / test (push) Successful in 2m2s
Kjørebrukeren gitea-runner har rustup installert, men ingen standardkjede satt. Cargo svarte derfor at den ikke visste hvilken versjon den skulle bruke, og alle tre arbeidsflytene feilet. Arbeidsflytene setter nå en standardkjede selv om det mangler, i stedet for at kjøreren må ordnes for hånd. Gitea har heller ingen «releases/latest/download»-sti slik GitHub har. Taggen slås opp i API-et først. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015GeH3y8fwTaTudaD88P57o
77 lines
2.6 KiB
YAML
77 lines
2.6 KiB
YAML
name: Energirapporter
|
|
|
|
# Lager energirapport for hver bygning i `bygninger/` og legger PDF, JSON og CSV ved
|
|
# utgivelsen. Se `bygninger/LES-MEG.md` for hvilke filtyper som kan ligge der.
|
|
|
|
on:
|
|
release:
|
|
types: [published]
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
rapporter:
|
|
runs-on: fish
|
|
defaults:
|
|
run:
|
|
shell: fish {0}
|
|
steps:
|
|
- name: Hent koden
|
|
uses: https://gitea.com/actions/checkout@v6
|
|
|
|
- name: Sørg for en Rust-verktøykjede
|
|
run: |
|
|
# Kjørebrukeren har rustup, men ingen standardkjede er satt. Uten dette svarer
|
|
# cargo med at den ikke vet hvilken versjon den skal bruke.
|
|
if not cargo --version >/dev/null 2>&1
|
|
rustup default stable
|
|
end
|
|
cargo --version
|
|
|
|
- name: Bygg enok
|
|
run: cargo build --release --locked
|
|
|
|
- name: Importer BIM-filer som ikke har en TOML fra før
|
|
run: |
|
|
for f in (find bygninger -type f \( -iname '*.ifc' -o -iname '*.gbxml' -o -iname '*.csv' \) 2>/dev/null)
|
|
set toml (string replace -r '\.[^.]+$' '.toml' $f)
|
|
if not test -f $toml
|
|
echo "Importerer $f"
|
|
./target/release/enok import $f --ut $toml
|
|
end
|
|
end
|
|
|
|
- name: Beregn og lag rapporter
|
|
run: |
|
|
mkdir -p dist
|
|
set feil 0
|
|
for t in (find bygninger -type f -name '*.toml' 2>/dev/null)
|
|
set navn (basename $t .toml)
|
|
echo "::group::$navn"
|
|
if ./target/release/enok beregn $t --ut ut/$navn
|
|
cp ut/$navn/rapport.pdf dist/$navn-energirapport.pdf
|
|
cp ut/$navn/resultat.json dist/$navn-resultat.json
|
|
cp ut/$navn/maaned.csv dist/$navn-maaned.csv
|
|
gzip -c ut/$navn/timeserie.csv > dist/$navn-timeserie.csv.gz
|
|
else
|
|
echo "Beregningen av $navn feilet"
|
|
set feil 1
|
|
end
|
|
echo "::endgroup::"
|
|
end
|
|
ls -la dist
|
|
exit $feil
|
|
|
|
- name: Legg ved utgivelsen
|
|
if: github.event_name == 'release'
|
|
env:
|
|
TOKEN: ${{ github.token }}
|
|
run: |
|
|
set REL_ID (curl --silent --fail --header "Authorization: token $TOKEN" \
|
|
"$GITHUB_SERVER_URL/api/v1/repos/$GITHUB_REPOSITORY/releases/tags/$GITHUB_REF_NAME" | jq -r '.id')
|
|
for f in (find dist -type f)
|
|
echo "Laster opp "(basename $f)
|
|
curl --silent --show-error --fail --header "Authorization: token $TOKEN" \
|
|
--form "attachment=@$f" \
|
|
"$GITHUB_SERVER_URL/api/v1/repos/$GITHUB_REPOSITORY/releases/$REL_ID/assets?name="(basename $f)
|
|
end
|