Release: dev → main (first public release) #258
@@ -277,8 +277,8 @@ jobs:
|
|||||||
# build — no `set -e`, and every derivation falls back to UNAVAILABLE.
|
# build — no `set -e`, and every derivation falls back to UNAVAILABLE.
|
||||||
#
|
#
|
||||||
# What to watch across pushes, because this is what step 3 will trust:
|
# What to watch across pushes, because this is what step 3 will trust:
|
||||||
# * a push touching only agent/ moves the agent and leaves web and ml
|
# * a push touching only agent/ moves the agent and leaves web STILL.
|
||||||
# STILL. If web moves, its path set is too wide.
|
# If web moves, its path set is too wide.
|
||||||
# * a push touching only docs moves nothing.
|
# * a push touching only docs moves nothing.
|
||||||
# * a push touching the extension moves the extension AND web, since
|
# * a push touching the extension moves the extension AND web, since
|
||||||
# web bakes in the XPI. If web does not move, its set is too narrow:
|
# web bakes in the XPI. If web does not move, its set is too narrow:
|
||||||
@@ -561,8 +561,8 @@ jobs:
|
|||||||
# never be the reason an image does not ship.
|
# never be the reason an image does not ship.
|
||||||
#
|
#
|
||||||
# What it should say:
|
# What it should say:
|
||||||
# * a push touching only agent/ moves the agent and leaves web and ml
|
# * a push touching only agent/ moves the agent and leaves web STILL.
|
||||||
# STILL. If web moves, its path set is too wide.
|
# If web moves, its path set is too wide.
|
||||||
# * a push touching only docs moves nothing.
|
# * a push touching only docs moves nothing.
|
||||||
# * a push touching the extension moves the extension AND web, since
|
# * a push touching the extension moves the extension AND web, since
|
||||||
# web bakes in the XPI. If web does not move, its set is too narrow:
|
# web bakes in the XPI. If web does not move, its set is too narrow:
|
||||||
@@ -709,7 +709,7 @@ jobs:
|
|||||||
# Each artifact pays one rebuild, once.
|
# Each artifact pays one rebuild, once.
|
||||||
#
|
#
|
||||||
# This is what stops a push that touched only `agent/` from rebuilding
|
# This is what stops a push that touched only `agent/` from rebuilding
|
||||||
# web and ml, and a merge to main from rebuilding what dev already built.
|
# web, and a merge to main from rebuilding what dev already built.
|
||||||
#
|
#
|
||||||
# The failure direction is deliberate. An inspect that errors for ANY
|
# The failure direction is deliberate. An inspect that errors for ANY
|
||||||
# reason — network, auth, a registry hiccup — reads as a miss and the
|
# reason — network, auth, a registry hiccup — reads as a miss and the
|
||||||
@@ -1665,8 +1665,8 @@ jobs:
|
|||||||
# never be the reason an image does not ship.
|
# never be the reason an image does not ship.
|
||||||
#
|
#
|
||||||
# What it should say:
|
# What it should say:
|
||||||
# * a push touching only agent/ moves the agent and leaves web and ml
|
# * a push touching only agent/ moves the agent and leaves web STILL.
|
||||||
# STILL. If web moves, its path set is too wide.
|
# If web moves, its path set is too wide.
|
||||||
# * a push touching only docs moves nothing.
|
# * a push touching only docs moves nothing.
|
||||||
# * a push touching the extension moves the extension AND web, since
|
# * a push touching the extension moves the extension AND web, since
|
||||||
# web bakes in the XPI. If web does not move, its set is too narrow:
|
# web bakes in the XPI. If web does not move, its set is too narrow:
|
||||||
@@ -1751,7 +1751,7 @@ jobs:
|
|||||||
# Each artifact pays one rebuild, once.
|
# Each artifact pays one rebuild, once.
|
||||||
#
|
#
|
||||||
# This is what stops a push that touched only `agent/` from rebuilding
|
# This is what stops a push that touched only `agent/` from rebuilding
|
||||||
# web and ml, and a merge to main from rebuilding what dev already built.
|
# web, and a merge to main from rebuilding what dev already built.
|
||||||
#
|
#
|
||||||
# The failure direction is deliberate. An inspect that errors for ANY
|
# The failure direction is deliberate. An inspect that errors for ANY
|
||||||
# reason — network, auth, a registry hiccup — reads as a miss and the
|
# reason — network, auth, a registry hiccup — reads as a miss and the
|
||||||
|
|||||||
@@ -245,9 +245,9 @@ reasoning is note #3127 §5). Rolling back is `docker pull …:c-<sha>`.
|
|||||||
|
|
||||||
Each artifact still has a version, derived rather than chosen: the commit time
|
Each artifact still has a version, derived rather than chosen: the commit time
|
||||||
of the newest change to that artifact's *own* shipped files, as
|
of the newest change to that artifact's *own* shipped files, as
|
||||||
`YYYY.MM.DD.HHMM` UTC (rule 148). Four artifacts, four independent versions —
|
`YYYY.MM.DD.HHMM` UTC (rule 148). Three artifacts, three independent versions
|
||||||
a push touching only `agent/` re-versions the agent and leaves web and ml
|
— a push touching only `agent/` re-versions the agent and leaves web and the
|
||||||
alone, and CI skips the builds whose content did not move.
|
extension alone, and CI skips the builds whose content did not move.
|
||||||
|
|
||||||
Because no registry name carries it, the running instance's own report is the
|
Because no registry name carries it, the running instance's own report is the
|
||||||
only answer to "which build is this?". The foot of Settings shows
|
only answer to "which build is this?". The foot of Settings shows
|
||||||
|
|||||||
+1
-1
@@ -21,7 +21,7 @@ docker run --rm --gpus all nvidia/cuda:12.4.1-base-ubuntu22.04 nvidia-smi
|
|||||||
## 1. Get a token
|
## 1. Get a token
|
||||||
In FC: **Settings → Tagging → GPU agent → Generate token** (or Rotate). Copy it.
|
In FC: **Settings → Tagging → GPU agent → Generate token** (or Rotate). Copy it.
|
||||||
|
|
||||||
## 2. Pull (CI publishes it alongside the web/ml images)
|
## 2. Pull (CI publishes it alongside the web image)
|
||||||
```sh
|
```sh
|
||||||
docker pull git.fabledsword.com/bvandeusen/fabledcurator-agent:latest
|
docker pull git.fabledsword.com/bvandeusen/fabledcurator-agent:latest
|
||||||
```
|
```
|
||||||
|
|||||||
+4
-3
@@ -99,8 +99,8 @@ per `docs/process.md`'s "add deps to the image when used by >1 project".
|
|||||||
- **`scripts/artifacts.sh` is the same shape one level up: one definition per
|
- **`scripts/artifacts.sh` is the same shape one level up: one definition per
|
||||||
artifact of what it is built from, and the two values derived from it.**
|
artifact of what it is built from, and the two values derived from it.**
|
||||||
`revision` (12 hex of the newest commit touching that set) and `version`
|
`revision` (12 hex of the newest commit touching that set) and `version`
|
||||||
(`YYYY.MM.DD.HHMM` UTC, rule 148). Four artifacts, four independent answers,
|
(`YYYY.MM.DD.HHMM` UTC, rule 148). Three artifacts, three independent
|
||||||
so a push touching only `agent/` leaves web and ml alone.
|
answers, so a push touching only `agent/` leaves web and the extension alone.
|
||||||
`tests/test_artifact_paths.py` reads each Dockerfile and asserts every COPY
|
`tests/test_artifact_paths.py` reads each Dockerfile and asserts every COPY
|
||||||
source is covered, so adding a COPY without updating the script fails CI.
|
source is covered, so adding a COPY without updating the script fails CI.
|
||||||
- **A file that DECIDES an artifact's identity belongs in its set even though it
|
- **A file that DECIDES an artifact's identity belongs in its set even though it
|
||||||
@@ -153,7 +153,8 @@ per `docs/process.md`'s "add deps to the image when used by >1 project".
|
|||||||
layer store at all**, where the old `docker` driver at least reused whatever
|
layer store at all**, where the old `docker` driver at least reused whatever
|
||||||
the runner's dockerd happened to hold. Measured on run 4896, the first builds
|
the runner's dockerd happened to hold. Measured on run 4896, the first builds
|
||||||
after the driver moved: web 3m44s (was 2m23s), ml 3m49s (was 3m20s), agent
|
after the driver moved: web 3m44s (was 2m23s), ml 3m49s (was 3m20s), agent
|
||||||
11m12s (was 9m26s) — every one slower. A `:buildcache` tag is read by every
|
11m12s (was 9m26s) — every one slower. (`ml` was its own build then; #4311
|
||||||
|
retired it once it became the same bytes as web under a second name.) A `:buildcache` tag is read by every
|
||||||
build that runs, is one moving ref per image, holds cache blobs rather than a
|
build that runs, is one moving ref per image, holds cache blobs rather than a
|
||||||
shippable artifact, and is overwritten in place, so it is not a return of the
|
shippable artifact, and is overwritten in place, so it is not a return of the
|
||||||
per-version tags milestone 318 withdrew (#3114).
|
per-version tags milestone 318 withdrew (#3114).
|
||||||
|
|||||||
@@ -58,7 +58,12 @@ import pytest
|
|||||||
|
|
||||||
ROOT = Path(__file__).resolve().parent.parent
|
ROOT = Path(__file__).resolve().parent.parent
|
||||||
|
|
||||||
ARTIFACTS = ("web", "ml", "agent", "extension")
|
# `ml` was here until #4311. It was never a separate artifact — the same
|
||||||
|
# Dockerfile and context as `web`, published under a second image name — and
|
||||||
|
# the name is gone now that the stack referencing it is collapsing onto the
|
||||||
|
# consolidated image. The celery LANE called `ml` is a different thing and
|
||||||
|
# stays; only the image name went.
|
||||||
|
ARTIFACTS = ("web", "agent", "extension")
|
||||||
|
|
||||||
# 12 hex chars — the prefix build.yml stamps and compares.
|
# 12 hex chars — the prefix build.yml stamps and compares.
|
||||||
_REVISION = re.compile(r"^[0-9a-f]{12}$")
|
_REVISION = re.compile(r"^[0-9a-f]{12}$")
|
||||||
|
|||||||
Reference in New Issue
Block a user