this repo has no description

ci: add spindle workflows for CI/CD

- Add build.yml for testing on push/PR
- Add conda-release.yml for publishing to prefix.dev on tag push
- Add recipe.release.yaml for CI builds using path source
- Add .pi/ and output/ to .gitignore

+132
+5
.gitignore
··· 381 381 # End of https://www.toptal.com/developers/gitignore/api/linux,macos,direnv,python,windows,pycharm+all,visualstudiocode,vim 382 382 383 383 .pixi 384 + 385 + # Build outputs 386 + output/ 387 + .pi/ 388 +
+38
.tangled/workflows/build.yml
··· 1 + # .tangled/workflows/build.yml 2 + # Spindle workflow for building and testing pixi-skills 3 + 4 + when: 5 + - event: ["push", "manual"] 6 + branch: ["main"] 7 + - event: ["pull_request"] 8 + branch: ["main"] 9 + 10 + engine: "nixery" 11 + 12 + clone: 13 + skip: false 14 + depth: 1 15 + submodules: false 16 + 17 + dependencies: 18 + nixpkgs: 19 + - pixi 20 + - rattler-build 21 + 22 + environment: 23 + CGO_ENABLED: "0" 24 + 25 + steps: 26 + - name: "Install dependencies" 27 + command: "pixi install" 28 + 29 + - name: "Run tests" 30 + command: "pixi run test" 31 + 32 + - name: "Run linters" 33 + command: "pixi run pre-commit-run" 34 + 35 + - name: "Build conda package (local)" 36 + command: | 37 + rattler-build build --recipe recipe/recipe.yaml --output-dir ./output 38 + ls -la output/*/
+48
.tangled/workflows/conda-release.yml
··· 1 + # .tangled/workflows/conda-release.yml 2 + # Build and publish conda package to prefix.dev 3 + 4 + when: 5 + - event: ["push"] 6 + tag: ["v*"] 7 + 8 + engine: "nixery" 9 + 10 + clone: 11 + skip: false 12 + depth: 1 13 + submodules: false 14 + 15 + dependencies: 16 + nixpkgs: 17 + - rattler-build 18 + - git 19 + 20 + environment: 21 + CGO_ENABLED: "0" 22 + 23 + steps: 24 + - name: "Get version from tag" 25 + command: | 26 + # Get tag name (remove refs/tags/ prefix) 27 + TAG=${GITEA_REF_NAME:-${GITHUB_REF_NAME:-unknown}} 28 + echo "Building from tag: ${TAG}" 29 + # Remove 'v' prefix if present 30 + VERSION=${TAG#v} 31 + echo "VERSION=${VERSION}" >> $GITEA_ENV 32 + echo "Package version: ${VERSION}" 33 + 34 + - name: "Update recipe version" 35 + command: | 36 + TAG=${GITEA_REF_NAME:-${GITHUB_REF_NAME:-unknown}} 37 + VERSION=${TAG#v} 38 + # Update version in release recipe 39 + sed -i "s/version: \"\"/version: \"${VERSION}\"/" recipe/recipe.release.yaml 40 + cat recipe/recipe.release.yaml 41 + 42 + - name: "Build conda package" 43 + command: | 44 + rattler-build build --recipe recipe/recipe.release.yaml --output-dir ./output 45 + 46 + - name: "Upload to prefix.dev" 47 + command: | 48 + rattler-build upload prefix --channel nandi-testing output/**/*.conda
+41
recipe/recipe.release.yaml
··· 1 + # Release recipe for CI builds 2 + # Uses git source instead of local path 3 + # Version is set during CI run from git tag 4 + 5 + package: 6 + name: pixi-skills 7 + version: "" # Set by CI from git tag 8 + 9 + source: 10 + # Git source - uses current checkout 11 + path: . 12 + 13 + build: 14 + number: 0 15 + script: 16 + - pip install . --no-build-isolation --no-deps -vv 17 + 18 + requirements: 19 + host: 20 + - python >=3.13 21 + - pip 22 + - hatchling 23 + run: 24 + - python >=3.13 25 + - typer >=0.12 26 + - rich >=13 27 + - questionary >=2 28 + - pyyaml >=6 29 + 30 + tests: 31 + - script: 32 + - pixi-skills --help 33 + - python: 34 + imports: 35 + - pixi_skills 36 + 37 + about: 38 + summary: Manage coding agent skills using pixi 39 + homepage: https://github.com/pavelzw/pixi-skills 40 + license: MIT 41 + license_file: LICENSE