Energirapporter lages i hvert prosjektlager, ikke i verktøyets eget lager. rapport.yml og bygninger/ er fjernet. Mappen inneholdt en kundes IFC-modell og bygningsbeskrivelse, som hører hjemme i prosjektlageret. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015GeH3y8fwTaTudaD88P57o
This commit is contained in:
@@ -1,76 +0,0 @@
|
||||
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
|
||||
Reference in New Issue
Block a user