Skip to content

Fix release tag authentication #63

Fix release tag authentication

Fix release tag authentication #63

Workflow file for this run

name: Verify Yield
on:
pull_request:
push:
branches: [main]
permissions:
contents: read
concurrency:
group: verify-yield-${{ github.ref }}
cancel-in-progress: true
jobs:
go:
name: Go and agent registration (${{ matrix.os }})
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
with:
go-version-file: go.mod
cache: true
- run: go test ./cmd/yskill
- run: go test ./...
- run: go build ./...
validate:
name: Release authority and full validation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
with:
go-version-file: go.mod
cache: true
- uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6
with:
node-version: "24"
cache: npm
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
with:
python-version: "3.12"
- uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2
with:
workspaces: |
sdk/rust
examples/data-migration
examples/library/rust
internal/conformance/testdata/skill-rs
- run: npm ci --ignore-scripts
- name: Verify release authority and package assembly
run: |
npm run test:release
node scripts/check-release-control.mjs
python -m unittest discover -s sdk/python -p 'test_*.py'
- name: Rerun first-party evaluations
working-directory: evals
run: |
npm ci
npm test
- name: Build and smoke-test the packed TypeScript SDK
working-directory: sdk/typescript
run: |
npm test
npm run build
tarball="$RUNNER_TEMP/$(npm pack --silent --pack-destination "$RUNNER_TEMP")"
smoke_dir="$(mktemp -d)"
cd "$smoke_dir"
npm init -y >/dev/null
npm install "$tarball" >/dev/null
node --input-type=module -e 'import { defineSkill } from "@operatorstack/yield"; if (typeof defineSkill !== "function") process.exit(1)'
- name: Vet and test four-language conformance
run: |
go vet ./...
go test ./...
- name: Run example workflow fixtures
run: |
go build -o "$RUNNER_TEMP/yskill" ./cmd/yskill
"$RUNNER_TEMP/yskill" test examples/investigate
"$RUNNER_TEMP/yskill" test examples/release-checklist
"$RUNNER_TEMP/yskill" test examples/env-doctor
"$RUNNER_TEMP/yskill" test examples/data-migration
YSKILL="$RUNNER_TEMP/yskill" "$RUNNER_TEMP/yskill" test examples/convert-skill
YSKILL="$RUNNER_TEMP/yskill" bash ./examples/library/test-all.sh