mirror of
https://github.com/aljazceru/opencode.git
synced 2025-12-24 11:14:23 +01:00
Allows overriding the version when publishing releases instead of only using semantic bumping. This gives maintainers more control over release versioning for special cases or hotfixes.
75 lines
1.9 KiB
YAML
75 lines
1.9 KiB
YAML
name: publish
|
|
run-name: "${{ format('release {0}', inputs.bump) }}"
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
bump:
|
|
description: "Bump major, minor, or patch"
|
|
required: true
|
|
type: choice
|
|
options:
|
|
- major
|
|
- minor
|
|
- patch
|
|
version:
|
|
description: "Override version (optional)"
|
|
required: false
|
|
type: string
|
|
|
|
concurrency: ${{ github.workflow }}-${{ github.ref }}
|
|
|
|
permissions:
|
|
contents: write
|
|
packages: write
|
|
|
|
jobs:
|
|
publish:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- run: git fetch --force --tags
|
|
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version: ">=1.24.0"
|
|
cache: true
|
|
cache-dependency-path: go.sum
|
|
|
|
- uses: ./.github/actions/setup-bun
|
|
|
|
- name: Install makepkg
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y pacman-package-manager
|
|
- name: Setup SSH for AUR
|
|
run: |
|
|
mkdir -p ~/.ssh
|
|
echo "${{ secrets.AUR_KEY }}" > ~/.ssh/id_rsa
|
|
chmod 600 ~/.ssh/id_rsa
|
|
git config --global user.email "opencode@sst.dev"
|
|
git config --global user.name "opencode"
|
|
ssh-keyscan -H aur.archlinux.org >> ~/.ssh/known_hosts || true
|
|
|
|
- name: Install OpenCode
|
|
run: curl -fsSL https://opencode.ai/install | bash
|
|
|
|
- name: Setup npm auth
|
|
run: |
|
|
echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
|
|
|
|
- name: Publish
|
|
run: |
|
|
./script/publish.ts
|
|
env:
|
|
OPENCODE_BUMP: ${{ inputs.bump }}
|
|
OPENCODE_VERSION: ${{ inputs.version }}
|
|
OPENCODE_CHANNEL: latest
|
|
NPM_CONFIG_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
GITHUB_TOKEN: ${{ secrets.SST_GITHUB_TOKEN }}
|
|
AUR_KEY: ${{ secrets.AUR_KEY }}
|
|
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
|