From 356d3d7745cdb868ca39db3c284026c4c862973c Mon Sep 17 00:00:00 2001 From: jcant0n Date: Mon, 3 Aug 2026 10:46:09 +0200 Subject: [PATCH] docs: point at the latest release, and only ask for natives that exist The README named a specific tag, so it went stale the moment upstream published anything and had to be edited on every bump. GitHub's /releases/latest never does. But a link to "latest" under the words "generated from this release" would have been a lie between bumps, so the sentence now says what is true: the binding tracks the latest stable release, and the revision actually vendored lives in binding.yml, which the CD maintains. Also stops asking for native artifacts when the job that builds them was skipped. It is skipped whenever the release has not moved -- most runs, and every republish of work already merged -- and downloading artifacts that were never produced fails the step and takes the publish with it. --- .github/workflows/CD.yml | 7 ++++++- README.md | 8 ++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/.github/workflows/CD.yml b/.github/workflows/CD.yml index 40ad813..ac0f14c 100644 --- a/.github/workflows/CD.yml +++ b/.github/workflows/CD.yml @@ -79,7 +79,12 @@ jobs: revision: ${{ github.run_number }} # Every artifact already carries its final repository path, so unpacking # them over the tree is the whole mapping. - natives-artifact-pattern: "natives-*" + # + # Asked for only when the natives job actually ran. It is skipped whenever + # the release has not moved -- most runs, and every republish of work already + # merged -- and asking for artifacts that were never produced fails the + # download and takes the publish with it. + natives-artifact-pattern: ${{ needs.natives.result == 'success' && 'natives-*' || '' }} force-publish: ${{ inputs.force-publish || false }} publish-enabled: ${{ !inputs.skip-assets-publishing }} enable-email-notifications: true diff --git a/README.md b/README.md index 67a8d24..b464b01 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,12 @@ # MeshOptimizer.NET This repository contains low-level bindings for MeshOptimizer used in Evergine. -This binding is generated from the MeshOptimizer release: -[https://github.com/zeux/meshoptimizer/releases/tag/v1.2](https://github.com/zeux/meshoptimizer/releases/tag/v1.2) + +This binding tracks the [latest stable MeshOptimizer release](https://github.com/zeux/meshoptimizer/releases/latest), +header and native libraries together. The exact revision currently vendored is +recorded in [`binding.yml`](binding.yml) as `upstream.release.current`, which the +CD rewrites when it brings in a newer release — so there is one place to look and +nothing here to keep up to date by hand. [![CI](https://github.com/EvergineTeam/Meshoptimizer.NET/actions/workflows/CI.yml/badge.svg)](https://github.com/EvergineTeam/Meshoptimizer.NET/actions/workflows/CI.yml) [![CD](https://github.com/EvergineTeam/Meshoptimizer.NET/actions/workflows/CD.yml/badge.svg)](https://github.com/EvergineTeam/Meshoptimizer.NET/actions/workflows/CD.yml)