# # █████ # ░░███ # ██████ ███████ ██████ # ███░░███░░░███░ ░░░░░███ # ░███ ░███ ░███ ███████ # ░███ ░███ ░███ ███ ███░░███ # ░░██████ ░░█████ ░░████████ # ░░░░░░ ░░░░░ ░░░░░░░░ # # Copyright (C) 2026 — 2026, Ota. All Rights Reserved. # # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # Licensed under the Apache License, Version 2.0. See LICENSE for the full license text. # You may not use this file except in compliance with that License. # Unless required by applicable law or agreed to in writing, software distributed under the # License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, # either express or implied. See the License for the specific language governing permissions # and limitations under the License. # # If you need additional information or have any questions, please email: os@ota.run version: 1 project: name: basic-go description: Minimal Go repo that shows Go toolchain ownership plus setup and verification tasks type: application toolchains: go: version: "1.24" tasks: setup: description: Download Go module dependencies run: go mod download requirements: toolchains: - go build: description: Build the Go packages in this module run: go build ./... depends_on: - setup requirements: toolchains: - go test: description: Run the Go test suite run: go test ./... depends_on: - setup requirements: toolchains: - go workflows: default: verify verify: description: Canonical Go toolchain setup and verification path setup: task: setup run: task: test notes: | Use this when the repo front door is dependency preparation plus test verification. `toolchains.go` keeps Go runtime ownership under one toolchain contract instead of splitting it across `runtimes`, `tools`, and duplicate checks. agent: entrypoint: setup default_task: test safe_tasks: - setup - build - test verify_after_changes: - test writable_paths: - docs - tests protected_paths: - ota.yaml notes: | Use `ota validate` before changes and `ota up --workflow verify` to prepare the repo path. Keep Go ownership under `toolchains.go` and use `ota run test` as the main verification step for Go changes.