Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 6 additions & 1 deletion .github/TEAM_MEMBERS
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
adamdotdevin
arvsrn
Brendonovich
fwang
Hona
Expand All @@ -7,11 +8,15 @@ jayair
jlongster
kitlangton
kommander
ludvigrask
MrMushrooooom
nexxeln
R44VC0RP
rekram1-node
thdxr
simonklee
Slickstef11
usrnk1
vimtor
starptech
StarpTech
smakosh
7 changes: 7 additions & 0 deletions .github/actions/setup-bun/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,13 @@ inputs:
runs:
using: "composite"
steps:
# node-gyp@latest (invoked via bunx for native install scripts) requires Node >=22;
# some runner images ship an older system Node on PATH
- name: Setup Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: "24"

- name: Get baseline download URL
id: bun-url
shell: bash
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/beta.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ on:

jobs:
sync:
if: github.repository == 'anomalyco/opencode'
runs-on: blacksmith-4vcpu-ubuntu-2404
permissions:
contents: write
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/close-issues.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ on:

jobs:
close:
if: github.repository == 'anomalyco/opencode'
runs-on: ubuntu-latest
permissions:
contents: read
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/close-prs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ on:

jobs:
close:
if: github.repository == 'anomalyco/opencode'
runs-on: ubuntu-latest
timeout-minutes: 240
permissions:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/compliance-close.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
owner: context.repo.owner,
repo: context.repo.repo,
path: '.github/TEAM_MEMBERS',
ref: 'dev',
ref: 'main',
});
const teamMembers = new Set(
Buffer.from(file.content, 'base64')
Expand Down Expand Up @@ -93,8 +93,8 @@ jobs:
}

const closeMessage = isPR
? 'This pull request has been automatically closed because it was not updated to meet our [contributing guidelines](../blob/dev/CONTRIBUTING.md) within the 2-hour window.\n\nFeel free to open a new pull request that follows our guidelines.'
: 'This issue has been automatically closed because it was not updated to meet our [contributing guidelines](../blob/dev/CONTRIBUTING.md) within the 2-hour window.\n\nFeel free to open a new issue that follows our issue templates.';
? 'This pull request has been automatically closed because it was not updated to meet our [contributing guidelines](../blob/main/CONTRIBUTING.md) within the 2-hour window.\n\nFeel free to open a new pull request that follows our guidelines.'
: 'This issue has been automatically closed because it was not updated to meet our [contributing guidelines](../blob/main/CONTRIBUTING.md) within the 2-hour window.\n\nFeel free to open a new issue that follows our issue templates.';

await github.rest.issues.createComment({
owner: context.repo.owner,
Expand Down
10 changes: 8 additions & 2 deletions .github/workflows/duplicate-issues.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:
jobs:
check-duplicates:
if: github.event.action == 'opened'
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ubuntu-latest
permissions:
contents: read
issues: write
Expand All @@ -29,6 +29,9 @@ jobs:
grep -qxiF "$LOGIN" .github/TEAM_MEMBERS; then
echo "skip=true" >> "$GITHUB_OUTPUT"
echo "Skipping issue automation for exempt author: $LOGIN ($ASSOCIATION)"
elif [ -z "${{ secrets.OPENCODE_API_KEY }}" ]; then
echo "skip=true" >> "$GITHUB_OUTPUT"
echo "Skipping: OPENCODE_API_KEY not configured"
else
echo "skip=false" >> "$GITHUB_OUTPUT"
fi
Expand Down Expand Up @@ -141,7 +144,7 @@ jobs:

recheck-compliance:
if: github.event.action == 'edited' && contains(github.event.issue.labels.*.name, 'needs:compliance')
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ubuntu-latest
permissions:
contents: read
issues: write
Expand All @@ -163,6 +166,9 @@ jobs:
grep -qxiF "$LOGIN" .github/TEAM_MEMBERS; then
echo "skip=true" >> "$GITHUB_OUTPUT"
echo "Skipping issue automation for exempt author: $LOGIN ($ASSOCIATION)"
elif [ -z "${{ secrets.OPENCODE_API_KEY }}" ]; then
echo "skip=true" >> "$GITHUB_OUTPUT"
echo "Skipping: OPENCODE_API_KEY not configured"
else
echo "skip=false" >> "$GITHUB_OUTPUT"
fi
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/pr-management.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:

jobs:
check-duplicates:
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
Expand All @@ -23,6 +23,9 @@ jobs:
if [ "$LOGIN" = "opencode-agent[bot]" ] || grep -qxF "$LOGIN" .github/TEAM_MEMBERS; then
echo "is_team=true" >> "$GITHUB_OUTPUT"
echo "Skipping: $LOGIN is a team member or bot"
elif [ -z "${{ secrets.OPENCODE_API_KEY }}" ]; then
echo "is_team=true" >> "$GITHUB_OUTPUT"
echo "Skipping: OPENCODE_API_KEY not configured"
else
echo "is_team=false" >> "$GITHUB_OUTPUT"
fi
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/pr-standards.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
owner: context.repo.owner,
repo: context.repo.repo,
path: '.github/TEAM_MEMBERS',
ref: 'dev'
ref: 'main'
});
const members = Buffer.from(file.content, 'base64').toString().split('\n').map(l => l.trim()).filter(Boolean);
if (members.includes(login)) {
Expand Down Expand Up @@ -102,7 +102,7 @@ jobs:

Where \`scope\` is the package name (e.g., \`app\`, \`desktop\`, \`opencode\`).

See [CONTRIBUTING.md](../blob/dev/CONTRIBUTING.md#pr-titles) for details.`);
See [CONTRIBUTING.md](../blob/main/CONTRIBUTING.md#pr-titles) for details.`);
return;
}

Expand Down Expand Up @@ -145,7 +145,7 @@ jobs:
1. Open an issue describing the bug/feature (if one doesn't exist)
2. Add \`Fixes #<number>\` or \`Closes #<number>\` to this PR description

See [CONTRIBUTING.md](../blob/dev/CONTRIBUTING.md#issue-first-policy) for details.`);
See [CONTRIBUTING.md](../blob/main/CONTRIBUTING.md#issue-first-policy) for details.`);
return;
}

Expand Down Expand Up @@ -179,7 +179,7 @@ jobs:
owner: context.repo.owner,
repo: context.repo.repo,
path: '.github/TEAM_MEMBERS',
ref: 'dev'
ref: 'main'
});
const members = Buffer.from(file.content, 'base64').toString().split('\n').map(l => l.trim()).filter(Boolean);
if (members.includes(login)) {
Expand All @@ -201,7 +201,7 @@ jobs:
const hasIssueSection = /### Issue for this PR/.test(body);

if (!hasWhatSection || !hasTypeSection || !hasVerifySection || !hasChecklistSection || !hasIssueSection) {
issues.push('PR description is missing required template sections. Please use the [PR template](../blob/dev/.github/pull_request_template.md).');
issues.push('PR description is missing required template sections. Please use the [PR template](../blob/main/.github/pull_request_template.md).');
}

// Check: "What does this PR do?" has real content (not just placeholder text)
Expand Down Expand Up @@ -293,7 +293,7 @@ jobs:
const existing = comments.find(c => c.body.includes(marker));

const body_text = `${marker}
This PR doesn't fully meet our [contributing guidelines](../blob/dev/CONTRIBUTING.md) and [PR template](../blob/dev/.github/pull_request_template.md).
This PR doesn't fully meet our [contributing guidelines](../blob/main/CONTRIBUTING.md) and [PR template](../blob/main/.github/pull_request_template.md).

**What needs to be fixed:**
${issues.map(i => `- ${i}`).join('\n')}
Expand Down
24 changes: 15 additions & 9 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
name: publish
run-name: "${{ format('release {0}', inputs.bump) }}"
run-name: "${{ (github.event_name == 'push' && github.ref_name == 'main' && 'release patch (auto)') || format('release {0}', inputs.version || inputs.bump) }}"

on:
push:
branches:
- main
- ci
- dev
- beta
Expand Down Expand Up @@ -33,7 +34,13 @@ permissions:
jobs:
version:
runs-on: ubuntu-latest
if: github.repository == 'theopenco/devpass-code'
# The release itself pushes a "sync release versions" commit back to main
# (with [skip ci]); the message check is a second guard against a release
# loop in case that commit ever reaches main through another path.
if: >-
github.repository == 'theopenco/devpass-code' &&
(github.event_name != 'push' || github.ref_name != 'main' ||
!contains(github.event.head_commit.message, 'sync release versions'))
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
with:
Expand All @@ -56,15 +63,16 @@ jobs:
echo "desktop=$([[ -n "$APPLE_CERTIFICATE" && -n "$AZURE_CLIENT_ID" ]] && echo true || echo false)" >> "$GITHUB_OUTPUT"

- name: Install OpenCode (changelog generation)
if: inputs.bump || inputs.version
if: inputs.bump || inputs.version || (github.event_name == 'push' && github.ref_name == 'main')
run: bun i -g opencode-ai

- id: version
run: |
./script/version.ts
env:
GH_TOKEN: ${{ secrets.RELEASE_TOKEN || github.token }}
OPENCODE_BUMP: ${{ inputs.bump }}
# Merges to main cut a patch release automatically.
OPENCODE_BUMP: ${{ inputs.bump || (github.event_name == 'push' && github.ref_name == 'main' && 'patch') || '' }}
OPENCODE_VERSION: ${{ inputs.version }}
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
GH_REPO: ${{ github.repository }}
Expand Down Expand Up @@ -207,7 +215,6 @@ jobs:

build-electron:
needs:
- build-cli
- version
if: github.repository == 'theopenco/devpass-code' && needs.version.outputs.desktop == 'true'
continue-on-error: false
Expand Down Expand Up @@ -301,10 +308,7 @@ jobs:
env:
OPENCODE_VERSION: ${{ needs.version.outputs.version }}
OPENCODE_CHANNEL: ${{ (github.ref_name == 'beta' && 'beta') || 'prod' }}
OPENCODE_CLI_ARTIFACT: ${{ (runner.os == 'Windows' && 'devpass-code-cli-windows') || 'devpass-code-cli' }}
RUST_TARGET: ${{ matrix.settings.target }}
GH_TOKEN: ${{ github.token }}
GITHUB_RUN_ID: ${{ github.run_id }}

- name: Build
run: bun run build
Expand Down Expand Up @@ -395,7 +399,9 @@ jobs:
- build-cli
- sign-cli-windows
- build-electron
if: always() && !failure() && !cancelled()
# needs.version check: sign/electron may legitimately skip (secrets absent),
# but nothing can publish when the version job itself was skipped.
if: always() && !failure() && !cancelled() && needs.version.result == 'success'
runs-on: ubuntu-latest
env:
AUR_KEY: ${{ secrets.AUR_KEY }}
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/triage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:

jobs:
triage:
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ubuntu-latest
permissions:
contents: read
issues: write
Expand All @@ -28,6 +28,9 @@ jobs:
grep -qxiF "$LOGIN" .github/TEAM_MEMBERS; then
echo "skip=true" >> "$GITHUB_OUTPUT"
echo "Skipping issue automation for exempt author: $LOGIN ($ASSOCIATION)"
elif [ -z "${{ secrets.OPENCODE_API_KEY }}" ]; then
echo "skip=true" >> "$GITHUB_OUTPUT"
echo "Skipping: OPENCODE_API_KEY not configured"
else
echo "skip=false" >> "$GITHUB_OUTPUT"
fi
Expand Down
2 changes: 1 addition & 1 deletion .opencode/command/translate.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: translate English to other languages
model: opencode/claude-opus-4-8
model: opencode/gpt-5.6-sol
---

run git diff and translate changed english doc and UI copy files to other international languages. Translate all languages in parallel to save time.
Expand Down
2 changes: 1 addition & 1 deletion .opencode/tool/github-triage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { tool } from "@opencode-ai/plugin"
const TEAM = {
tui: ["kommander", "simonklee"],
desktop_web: ["Hona", "Brendonovich"],
core: ["jlongster", "rekram1-node", "nexxeln", "kitlangton", "starptech"],
core: ["jlongster", "rekram1-node", "nexxeln", "kitlangton"],
inference: ["fwang", "MrMushrooooom", "starptech"],
windows: ["Hona"],
} as const
Expand Down
3 changes: 3 additions & 0 deletions artifacts/glm52-rise-video/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
node_modules
.remotion
out/frame-*.png
Loading
Loading