Commit e34cbb8d66
Verified · cmc ci/build: success ci/lint: success
Layout: unified · split
.gitbay/ci.yml +16 −8
| @@ -45,13 +45,20 @@ jobs: | ||
| 45 | 45 | # orgo is installed from crates.io and takes minutes to compile, so it is |
| 46 | 46 | # rebuilt only when this version changes. Nothing bumps it automatically: |
| 47 | 47 | # raise it by hand, which is also how you find out orgo broke the site. |
| 48 | # | |
| 49 | # --root pins where it lands, like ruff and lychee below. Without it cargo | |
| 50 | # installs under whatever cargo home the runner sets, which is not $HOME: | |
| 51 | # the binary goes somewhere this file does not name, and the next run's | |
| 52 | # `cargo install` declines to repeat itself because its metadata already | |
| 53 | # records the version as installed. | |
| 48 | 54 | - | |
| 49 | 55 | set -eu |
| 50 | 56 | v=0.22.0 |
| 51 | if ! "$HOME/.cargo/bin/orgo" --version 2>/dev/null | grep -qx "orgo $v"; then | |
| 52 | "$HOME/.cargo/bin/cargo" install orgo --version "$v" --locked | |
| 57 | if ! "$HOME/tools/orgo/bin/orgo" --version 2>/dev/null | grep -qx "orgo $v"; then | |
| 58 | "$HOME/.cargo/bin/cargo" install orgo --version "$v" --locked \ | |
| 59 | --root "$HOME/tools/orgo" | |
| 53 | 60 | fi |
| 54 | "$HOME/.cargo/bin/orgo" --version | |
| 61 | "$HOME/tools/orgo/bin/orgo" --version | |
| 55 | 62 | python3 --version |
| 56 | 63 | |
| 57 | 64 | # build.py deploys with rsync when DEPLOY=true and ENV=prod. This build |
| @@ -74,7 +81,7 @@ jobs: | ||
| 74 | 81 | exit 1 |
| 75 | 82 | EOF |
| 76 | 83 | chmod +x .ci-bin/rsync |
| 77 | PATH="$PWD/.ci-bin:$HOME/.cargo/bin:$PATH" ENV=prod BUILD=true python3 build.py | |
| 84 | PATH="$PWD/.ci-bin:$HOME/tools/orgo/bin:$PATH" ENV=prod BUILD=true python3 build.py | |
| 78 | 85 | |
| 79 | 86 | - | |
| 80 | 87 | set -eu |
| @@ -99,10 +106,11 @@ jobs: | ||
| 99 | 106 | | sh -s -- -y --no-modify-path --profile minimal |
| 100 | 107 | fi |
| 101 | 108 | v=0.22.0 |
| 102 | if ! "$HOME/.cargo/bin/orgo" --version 2>/dev/null | grep -qx "orgo $v"; then | |
| 103 | "$HOME/.cargo/bin/cargo" install orgo --version "$v" --locked | |
| 109 | if ! "$HOME/tools/orgo/bin/orgo" --version 2>/dev/null | grep -qx "orgo $v"; then | |
| 110 | "$HOME/.cargo/bin/cargo" install orgo --version "$v" --locked \ | |
| 111 | --root "$HOME/tools/orgo" | |
| 104 | 112 | fi |
| 105 | "$HOME/.cargo/bin/orgo" --version | |
| 113 | "$HOME/tools/orgo/bin/orgo" --version | |
| 106 | 114 | |
| 107 | 115 | # Prebuilt release binary, checksum-verified, kept in $HOME between runs. |
| 108 | 116 | - | |
| @@ -125,7 +133,7 @@ jobs: | ||
| 125 | 133 | # URLs to /img/, which is served from a different docroot and would look |
| 126 | 134 | # like 198 broken links here. The development output keeps them absolute, |
| 127 | 135 | # so the image host gets checked for real. |
| 128 | - $HOME/.cargo/bin/orgo build content -o .build-dev --strict | |
| 136 | - $HOME/tools/orgo/bin/orgo build content -o .build-dev --strict | |
| 129 | 137 | |
| 130 | 138 | # Internal links are the half worth gating on: they are entirely within |
| 131 | 139 | # this repo, so a failure is always a real defect and always fixable here. |