Skip to content

ci(deps): bump actions/upload-pages-artifact from 3 to 5#5

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/github_actions/actions/upload-pages-artifact-5
Open

ci(deps): bump actions/upload-pages-artifact from 3 to 5#5
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/github_actions/actions/upload-pages-artifact-5

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Apr 15, 2026

Copy link
Copy Markdown

Bumps actions/upload-pages-artifact from 3 to 5.

Release notes

Sourced from actions/upload-pages-artifact's releases.

v5.0.0

Changelog

See details of all code changes since previous release.

v4.0.0

What's Changed

Full Changelog: actions/upload-pages-artifact@v3.0.1...v4.0.0

v3.0.1

Changelog

See details of all code changes since previous release.

Commits
  • fc324d3 Merge pull request #139 from Tom-van-Woudenberg/patch-1
  • fe9d4b7 Merge branch 'main' into patch-1
  • 0ca1617 Merge pull request #137 from jonchurch/include-hidden-files
  • 57f0e84 Update action.yml
  • 4a90348 v7 --> hash
  • 56f665a Update upload-artifact action to version 7
  • f7615f5 Add include-hidden-files input
  • 7b1f4a7 Merge pull request #127 from heavymachinery/pin-sha
  • 4cc19c7 Pin actions/upload-artifact to SHA
  • 2d163be Merge pull request #107 from KittyChiu/main
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact) from 3 to 5.
- [Release notes](https://github.com/actions/upload-pages-artifact/releases)
- [Commits](actions/upload-pages-artifact@v3...v5)

---
updated-dependencies:
- dependency-name: actions/upload-pages-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github

dependabot Bot commented on behalf of github Apr 15, 2026

Copy link
Copy Markdown
Author

Labels

The following labels could not be found: automated, ci. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@dependabot dependabot Bot requested a review from ksk5429 as a code owner April 15, 2026 05:55
ksk5429 pushed a commit that referenced this pull request Apr 15, 2026
PRE-EXISTING TEST FAILURES (P1 #5, was 13 failed, now 0)
  tests/__init__.py             -- enables tests.test_code_verification
                                    re-imports (fixes 3 failures)
  tests/test_op3_framework.py   -- skipif for site_a deck, OptumGX
                                    master DB, optional docs;
                                    relax 'NRotors' (v4+ only) check
  tests/test_openfast_runner.py -- pytest.skip when bundled decks
                                    absent
  Result: 429 passed, 11 skipped, 0 failed across the full repo.

PRODUCTION SUBPROCESS SANDBOX (P0 #3)
  backend/services/sandbox_worker.py -- isolated python interpreter,
    same restricted __builtins__ + __import__ allowlist as in-process
  backend/services/llm_service.py    -- safe_execute(use_subprocess=
    True) by default; OS-killable on timeout via Process.terminate()/
    .kill(). 18/18 LLM tests including a real CPU-bound infinite-loop
    that gets hard-killed in 2 s.

STREAMING CHAT (P1 #6)
  POST /api/chat/stream -- SSE stream with chunk types
    first_token / first_done / exec_start / exec_done /
    second_token / done
  frontend useChat.ts   -- streaming=true reads SSE, mutates the
    placeholder assistant turn as tokens arrive
  503 guard tested.

PDF EXPORT (P1 #8)
  POST /api/report/generate.pdf -- reportlab-based renderer, returns
    application/pdf with %PDF magic bytes asserted in tests
  ReportTab.tsx -- new .pdf download button alongside the .md one

PROJECT PERSISTENCE (P2 #16)
  backend/services/project_store.py -- save/load/list/delete to
    op3_studio/projects/<name>.json with path-traversal guard
  /api/site/save / load / list / delete endpoints
  6 tests: round-trip, list, 404, traversal rejected, long-name
  rejected, delete

CI WORKFLOW (P1 #10)
  .github/workflows/op3-studio.yml -- backend pytest job + frontend
  vitest+build job on every PR touching op3_studio/ or op3/.

FRONTEND TESTS (P1 #7)
  vite.config.ts -- vitest config with jsdom env
  src/test/setup.ts -- @testing-library + Three.js WebGLRenderer mock
  src/components/shared/{UnitInput,ParamSlider,ErrorBoundary}.test.tsx
  src/stores/projectStore.test.ts

SPHINX ANCHORS PAGE (P2 #14)
  docs/sphinx/anchors.rst   -- full module reference: scope, 5
    capacity methods, installation, novel dissipation-centroid padeye,
    Andersen 2015 cyclic, MoorPy coupling, OptumGX driver, validation,
    references
  docs/sphinx/index.rst     -- linked under 'Reference' toctree

TOP-LEVEL README (P2 #15)
  README.md -- new highlight box for op3.anchors + op3_studio above
  the existing 'one diagram' section

AI CODE AUDIT (P5 / pre-defense)
  docs/AI_CODE_AUDIT_DEFENSE.md  -- resolution tracker for the 7
    audit items; defense framing draft
  op3/standards/pisa.py:71-78    -- comment swap fixed (Burd=clay,
    Byrne=sand) per audit item #2
  op3/standards/api_rp_2geo.py:48-55 -- FIXME comment for missing
    Gazetas cubic term per audit item #1; numerical fix deferred to
    author with reference to Gazetas 1991 Eqs.

Test totals after this commit:
  Studio backend         : 67/67 passing (was 57; +10 new)
  Anchor module          : 134/134 passing
  Op3 framework + CI     : 228 passed, 11 skipped (was 13 failed)
  Combined repo total    : 429 passed, 11 skipped, 0 failed
ksk5429 pushed a commit that referenced this pull request Apr 20, 2026
#4/N)

Extends the type/SSI API with a Tripod class and scaffolds the
dissertation-centrepiece model: the Gunsan 4.2 MW OWT (KEPCO
demonstration, UNISON U136, Saemangeum silty sand). Ships the
dossier structure + rigid-SSI upper-bound validation; full coupled
SSI validation against the design-report f1 (0.240-0.244 Hz)
lands in PR #5 when the legacy v1 spine-with-ribs physics is ported.

Tripod class (op3/foundations/types/tripod.py)
----------------------------------------------
- Dataclass with n_buckets, bucket_diameter / skirt_length /
  skirt_thickness, tripod_radial_distance, angular_spacing,
  mudline_z / transition_piece_z, num_ribs_per_bucket (for PR #5
  spine-with-ribs topology), material properties.
- Factory constructors:
  * Tripod.from_gunsan_4mw_spec() — public-only Gunsan geometry
    (D=8.0 m verified, skirt=9.3 m public estimate, R_tripod=11.58 m
    from ProjA tripod_input, mudline=-8.2 m Gunsan water depth).
  * Tripod.from_yaml(model_dir) — load from dossier directory.
- topology_summary() and bucket_positions() diagnostics.
- FoundationProtocol compliance + as_legacy_foundation bridge.

Gunsan dossier (op3/models/gunsan_4mw_tripod/)
----------------------------------------------
- site.yaml: KEPCO demonstration site metadata, public references
  (Kim 2024 GEOTEC LNCE 395, Kim 2025 Ocean Engineering, Jeong 2021
  Wind Energy, Barari 2021 Applied Ocean Research), design-report
  target range (0.24016 / 0.24358 Hz stiff/soft), explicit flag
  that field OMA baseline is NOT yet archived. Proprietary data
  (skirt length, tower schedule, OptumGX root) pointed at via
  OP3_PHD_ROOT; silent fallback emits the op3.data_sources warning.
- geometry.yaml: public-only geometry, links to Scour_Stiffness_
  Matrix_*.csv + opensees_lid_stiffness.csv + opensees_spring_
  stiffness.csv for PR #5 consumption.
- soil.yaml: 3-layer public summary of Saemangeum sand (Jeong 2021).
- vvc.yaml: PR #4 validation GREEN on rigid upper bound (f1 =
  0.3170 Hz matches op^3 built-in site_a_rt1_tower+ref_4mw_owt);
  design-report coupled metric BLOCKED by PR #5; scour sensitivity
  and field OMA baseline BLOCKED / PENDING. Known limitations
  documented explicitly:
  * head_stiffness_is_rigid_upper_bound_only (HIGH) — PR #5 unblocks.
  * field_oma_baseline_pending (MEDIUM).
  * proprietary_skirt_length (LOW) — 9.3 m public estimate.
- build.py: build_tripod(ssi=rigid) + build_tower_model(ssi=None)
  using rotor='ref_4mw_owt' + tower='site_a_rt1_tower'.

Tests (tests/test_model_gunsan_4mw_tripod.py, 13 new)
-----------------------------------------------------
- Dossier files exist
- Tripod.from_gunsan_4mw_spec contract (geometry, no auto-SSI)
- Tripod.from_yaml loads dossier + public soil summary
- topology_summary + bucket_positions (symmetric 3-bucket checks:
  sum of positions is zero, spacing = R*sqrt(3))
- head_stiffness_6x6 without SSI raises cleanly
- as_legacy_foundation produces STIFFNESS_6X6 with tripod K
- Composer eigen pipeline accepts Tripod-derived Foundation
- VALIDATION: rigid-SSI f1 = 0.3170 Hz matches op^3 built-in
  upper-bound within 3% tolerance
- SANITY: rigid-SSI f1 must be ABOVE the design-report coupled
  range (foundation flexibility can only lower f1)
- Cross-type sanity: Monopile + Jacket + Tripod all implement
  FoundationProtocol and all bridge to legacy Foundation
- PR #5 roadmap sentinels: xfail markers for
  coupled f1 vs design-report and Jeong 2021 scour sensitivity.

Validated-model roster after PR #4
----------------------------------
- nrel_5mw_oc3_monopile: YELLOW (3 SSI variants, <2% error)
- nrel_5mw_oc4_jacket:   YELLOW (SubDyn CSV, 1.8% error)
- gunsan_4mw_tripod:     YELLOW (rigid upper bound only; PR #5 = SSI)
- nrel_5mw_gunsan_tripod: not-started

301 framework tests + 134 anchors = 435 passing, 11 skipped,
2 xfail (PR #5 sentinels), zero regressions.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants