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: 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