🛟 Updated.
fc963c0 parent: 179df39 modified
.github/workflows/ci.yml +15 -18 | @@ -27,38 +27,35 @@ jobs: | ||
| 27 | 27 | env: |
| 28 | 28 | DEBIAN_FRONTEND: noninteractive |
| 29 | 29 | steps: |
| 30 | - # First, with bash only: the JavaScript actions below (checkout, | |
| 31 | - # setup-go, setup-node) run inside this container on Rickub's runner and | |
| 32 | - # need node there; checkout needs git, bindings-check runs git diff. | |
| 33 | - - name: Install the system packages (node, git, C compiler, GTK 4, WebKitGTK 6, procps) | |
| 30 | + # Everything is installed with bash: on Rickub's runner, JavaScript | |
| 31 | + # actions run inside this container and setup-go did not read go.mod. | |
| 32 | + # Only actions/checkout is used, once node is there. | |
| 33 | + - name: Install the system packages (node, npm, git, C compiler, GTK 4, WebKitGTK 6, procps) | |
| 34 | 34 | run: | |
| 35 | 35 | apt-get update -qq |
| 36 | 36 | apt-get install -y -qq --no-install-recommends \ |
| 37 | - ca-certificates curl git nodejs build-essential pkg-config \ | |
| 37 | + ca-certificates curl git nodejs npm build-essential pkg-config \ | |
| 38 | 38 | libgtk-4-dev libwebkitgtk-6.0-dev procps |
| 39 | 39 | git config --global --add safe.directory "$GITHUB_WORKSPACE" |
| 40 | + node --version | |
| 40 | 41 | |
| 41 | 42 | - name: Checkout |
| 42 | 43 | uses: actions/checkout@v4 |
| 43 | 44 | |
| 44 | - - name: Set up Go | |
| 45 | - uses: actions/setup-go@v5 | |
| 46 | - with: | |
| 47 | - go-version-file: go.mod | |
| 48 | - cache: true | |
| 49 | - | |
| 50 | - - name: Set up Node | |
| 51 | - uses: actions/setup-node@v4 | |
| 52 | - with: | |
| 53 | - node-version: "22" | |
| 45 | + - name: Install Go (version from go.mod) | |
| 46 | + run: | | |
| 47 | + version="$(awk '/^go /{print $2}' go.mod)" | |
| 48 | + arch="$(dpkg --print-architecture)" | |
| 49 | + curl -fsSL "https://go.dev/dl/go${version}.linux-${arch}.tar.gz" | tar -C /usr/local -xz | |
| 50 | + echo "/usr/local/go/bin" >> "$GITHUB_PATH" | |
| 51 | + echo "$(/usr/local/go/bin/go env GOPATH)/bin" >> "$GITHUB_PATH" | |
| 52 | + /usr/local/go/bin/go version | |
| 54 | 53 | |
| 55 | 54 | - name: Install pnpm (version from frontend/package.json) |
| 56 | 55 | run: npm install -g "$(node -p "require('./frontend/package.json').packageManager")" |
| 57 | 56 | |
| 58 | 57 | - name: Install the Wails CLI |
| 59 | - run: | | |
| 60 | - go install github.com/wailsapp/wails/v3/cmd/wails3@v3.0.0 | |
| 61 | - echo "$(go env GOPATH)/bin" >> "$GITHUB_PATH" | |
| 58 | + run: go install github.com/wailsapp/wails/v3/cmd/wails3@v3.0.0 | |
| 62 | 59 | |
| 63 | 60 | - name: Bindings are up to date |
| 64 | 61 | run: make bindings-check |
| @@ -27,38 +27,35 @@ jobs: | |||
| 27 | env: | 27 | env: |
| 28 | DEBIAN_FRONTEND: noninteractive | 28 | DEBIAN_FRONTEND: noninteractive |
| 29 | steps: | 29 | steps: |
| 30 | - # First, with bash only: the JavaScript actions below (checkout, | 30 | + # Everything is installed with bash: on Rickub's runner, JavaScript |
| 31 | - # setup-go, setup-node) run inside this container on Rickub's runner and | 31 | + # actions run inside this container and setup-go did not read go.mod. |
| 32 | - # need node there; checkout needs git, bindings-check runs git diff. | 32 | + # Only actions/checkout is used, once node is there. |
| 33 | - - name: Install the system packages (node, git, C compiler, GTK 4, WebKitGTK 6, procps) | 33 | + - name: Install the system packages (node, npm, git, C compiler, GTK 4, WebKitGTK 6, procps) |
| 34 | run: | | 34 | run: | |
| 35 | apt-get update -qq | 35 | apt-get update -qq |
| 36 | apt-get install -y -qq --no-install-recommends \ | 36 | apt-get install -y -qq --no-install-recommends \ |
| 37 | - ca-certificates curl git nodejs build-essential pkg-config \ | 37 | + ca-certificates curl git nodejs npm build-essential pkg-config \ |
| 38 | libgtk-4-dev libwebkitgtk-6.0-dev procps | 38 | libgtk-4-dev libwebkitgtk-6.0-dev procps |
| 39 | git config --global --add safe.directory "$GITHUB_WORKSPACE" | 39 | git config --global --add safe.directory "$GITHUB_WORKSPACE" |
| 40 | + node --version | ||
| 40 | 41 | ||
| 41 | - name: Checkout | 42 | - name: Checkout |
| 42 | uses: actions/checkout@v4 | 43 | uses: actions/checkout@v4 |
| 43 | 44 | ||
| 44 | - - name: Set up Go | 45 | + - name: Install Go (version from go.mod) |
| 45 | - uses: actions/setup-go@v5 | 46 | + run: | |
| 46 | - with: | 47 | + version="$(awk '/^go /{print $2}' go.mod)" |
| 47 | - go-version-file: go.mod | 48 | + arch="$(dpkg --print-architecture)" |
| 48 | - cache: true | 49 | + curl -fsSL "https://go.dev/dl/go${version}.linux-${arch}.tar.gz" | tar -C /usr/local -xz |
| 49 | - | 50 | + echo "/usr/local/go/bin" >> "$GITHUB_PATH" |
| 50 | - - name: Set up Node | 51 | + echo "$(/usr/local/go/bin/go env GOPATH)/bin" >> "$GITHUB_PATH" |
| 51 | - uses: actions/setup-node@v4 | 52 | + /usr/local/go/bin/go version |
| 52 | - with: | ||
| 53 | - node-version: "22" | ||
| 54 | 53 | ||
| 55 | - name: Install pnpm (version from frontend/package.json) | 54 | - name: Install pnpm (version from frontend/package.json) |
| 56 | run: npm install -g "$(node -p "require('./frontend/package.json').packageManager")" | 55 | run: npm install -g "$(node -p "require('./frontend/package.json').packageManager")" |
| 57 | 56 | ||
| 58 | - name: Install the Wails CLI | 57 | - name: Install the Wails CLI |
| 59 | - run: | | 58 | + run: go install github.com/wailsapp/wails/v3/cmd/wails3@v3.0.0 |
| 60 | - go install github.com/wailsapp/wails/v3/cmd/wails3@v3.0.0 | ||
| 61 | - echo "$(go env GOPATH)/bin" >> "$GITHUB_PATH" | ||
| 62 | 59 | ||
| 63 | - name: Bindings are up to date | 60 | - name: Bindings are up to date |
| 64 | run: make bindings-check | 61 | run: make bindings-check |
modified
.memory/history.md +1 -0 | @@ -158,3 +158,4 @@ | ||
| 158 | 158 | - **Owner's report**: the CI had never been seen; 3 runs (push branch, PR, push main) failed in `make lint-go`: Wails v3 cgo needs `GtkFileDialog` (GTK >= 4.10); Rickub's `ubuntu-latest` has an older GTK (likely 22.04). Frontend and bindings steps passed. |
| 159 | 159 | - **Fix**: the job runs in a `container: ubuntu:26.04` (same system as the dev sandbox, where make check passes); installs git, build-essential, pkg-config, libgtk-4-dev, libwebkitgtk-6.0-dev, procps, ca-certificates, curl as root (no sudo); `safe.directory` for git. To be confirmed by the next run. |
| 160 | 160 | - **CI follow-up**: `node: command not found` — Rickub's runner runs JavaScript actions inside the job container; `nodejs` added to the first (bash-only) step. |
| 161 | +- **CI follow-up 2**: `actions/setup-go` on Rickub ignored `go-version-file` and found no Go. setup-go and setup-node removed: Go installed from go.dev (version from go.mod, dpkg arch), node and npm from Ubuntu 26.04 (node 22.22); only actions/checkout kept. | |
| @@ -158,3 +158,4 @@ | |||
| 158 | - **Owner's report**: the CI had never been seen; 3 runs (push branch, PR, push main) failed in `make lint-go`: Wails v3 cgo needs `GtkFileDialog` (GTK >= 4.10); Rickub's `ubuntu-latest` has an older GTK (likely 22.04). Frontend and bindings steps passed. | 158 | - **Owner's report**: the CI had never been seen; 3 runs (push branch, PR, push main) failed in `make lint-go`: Wails v3 cgo needs `GtkFileDialog` (GTK >= 4.10); Rickub's `ubuntu-latest` has an older GTK (likely 22.04). Frontend and bindings steps passed. |
| 159 | - **Fix**: the job runs in a `container: ubuntu:26.04` (same system as the dev sandbox, where make check passes); installs git, build-essential, pkg-config, libgtk-4-dev, libwebkitgtk-6.0-dev, procps, ca-certificates, curl as root (no sudo); `safe.directory` for git. To be confirmed by the next run. | 159 | - **Fix**: the job runs in a `container: ubuntu:26.04` (same system as the dev sandbox, where make check passes); installs git, build-essential, pkg-config, libgtk-4-dev, libwebkitgtk-6.0-dev, procps, ca-certificates, curl as root (no sudo); `safe.directory` for git. To be confirmed by the next run. |
| 160 | - **CI follow-up**: `node: command not found` — Rickub's runner runs JavaScript actions inside the job container; `nodejs` added to the first (bash-only) step. | 160 | - **CI follow-up**: `node: command not found` — Rickub's runner runs JavaScript actions inside the job container; `nodejs` added to the first (bash-only) step. |
| 161 | +- **CI follow-up 2**: `actions/setup-go` on Rickub ignored `go-version-file` and found no Go. setup-go and setup-node removed: Go installed from go.dev (version from go.mod, dpkg arch), node and npm from Ubuntu 26.04 (node 22.22); only actions/checkout kept. | ||