ci test
This commit is contained in:
parent
60d159afc1
commit
54edc4ec31
5 changed files with 148 additions and 19 deletions
50
.github/workflows/build.yml
vendored
Normal file
50
.github/workflows/build.yml
vendored
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
name: build
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- dev
|
||||||
|
|
||||||
|
concurrency: ${{ github.workflow }}-${{ github.ref }}
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
packages: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
- uses: oven-sh/setup-bun@v1
|
||||||
|
with:
|
||||||
|
bun-version: latest
|
||||||
|
|
||||||
|
- run: |
|
||||||
|
npm config set //registry.npmjs.org/:_authToken $NODE_AUTH_TOKEN
|
||||||
|
npm whoami
|
||||||
|
env:
|
||||||
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||||
|
|
||||||
|
- run: git fetch --force --tags
|
||||||
|
|
||||||
|
- uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: ">=1.23.2"
|
||||||
|
|
||||||
|
- name: Go Mod
|
||||||
|
run: go mod download
|
||||||
|
|
||||||
|
# TODO remove temporary workaround
|
||||||
|
- run: bun i --frozen-lockfile
|
||||||
|
- run: git reset --hard
|
||||||
|
- run: cd platform && bun tsc --noEmit
|
||||||
|
- run: ./platform/scripts/build
|
||||||
|
- uses: goreleaser/goreleaser-action@v6
|
||||||
|
with:
|
||||||
|
distribution: goreleaser
|
||||||
|
version: latest
|
||||||
|
args: build --snapshot --clean
|
||||||
39
.github/workflows/release.yml
vendored
Normal file
39
.github/workflows/release.yml
vendored
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
name: release
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- opencode
|
||||||
|
tags:
|
||||||
|
- "*"
|
||||||
|
|
||||||
|
concurrency: ${{ github.workflow }}-${{ github.ref }}
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
packages: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
goreleaser:
|
||||||
|
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.23.2"
|
||||||
|
|
||||||
|
- run: go mod download
|
||||||
|
- uses: goreleaser/goreleaser-action@v6
|
||||||
|
with:
|
||||||
|
distribution: goreleaser
|
||||||
|
version: latest
|
||||||
|
args: release --clean
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
AUR_KEY: ${{ secrets.AUR_KEY }}
|
||||||
|
|
@ -1,22 +1,20 @@
|
||||||
version: 2
|
version: 2
|
||||||
project_name: sst
|
project_name: opencode
|
||||||
before:
|
before:
|
||||||
hooks:
|
hooks:
|
||||||
- go mod tidy
|
|
||||||
- go test ./cmd/... ./pkg/...
|
|
||||||
builds:
|
builds:
|
||||||
- env:
|
- env:
|
||||||
- CGO_ENABLED=0
|
- CGO_ENABLED=0
|
||||||
goos:
|
goos:
|
||||||
- linux
|
- linux
|
||||||
- darwin
|
- darwin
|
||||||
main: ./cmd/sst
|
main: ./main.go
|
||||||
|
|
||||||
archives:
|
archives:
|
||||||
- format: tar.gz
|
- format: tar.gz
|
||||||
# this name template makes the OS and Arch compatible with the results of uname.
|
# this name template makes the OS and Arch compatible with the results of uname.
|
||||||
name_template: >-
|
name_template: >-
|
||||||
sst-
|
opencode-
|
||||||
{{- if eq .Os "darwin" }}mac-
|
{{- if eq .Os "darwin" }}mac-
|
||||||
{{- else if eq .Os "windows" }}windows-
|
{{- else if eq .Os "windows" }}windows-
|
||||||
{{- else if eq .Os "linux" }}linux-{{end}}
|
{{- else if eq .Os "linux" }}linux-{{end}}
|
||||||
|
|
@ -33,20 +31,20 @@ checksum:
|
||||||
snapshot:
|
snapshot:
|
||||||
name_template: "0.0.0-{{ .Timestamp }}"
|
name_template: "0.0.0-{{ .Timestamp }}"
|
||||||
aurs:
|
aurs:
|
||||||
- homepage: "https://github.com/sst/sst"
|
- homepage: "https://github.com/opencode-ai/opencode"
|
||||||
description: "Deploy anything"
|
description: "Deploy anything"
|
||||||
private_key: "{{ .Env.AUR_KEY }}"
|
private_key: "{{ .Env.AUR_KEY }}"
|
||||||
git_url: "ssh://aur@aur.archlinux.org/sst-bin.git"
|
git_url: "ssh://aur@aur.archlinux.org/opencode.git"
|
||||||
license: "MIT"
|
license: "MIT"
|
||||||
package: |-
|
package: |-
|
||||||
install -Dm755 ./sst "${pkgdir}/usr/bin/sst"
|
install -Dm755 ./opencode "${pkgdir}/usr/bin/opencode"
|
||||||
brews:
|
brews:
|
||||||
- repository:
|
- repository:
|
||||||
owner: sst
|
owner: opencode-ai
|
||||||
name: homebrew-tap
|
name: homebrew-tap
|
||||||
nfpms:
|
nfpms:
|
||||||
- maintainer: sst
|
- maintainer: opencode
|
||||||
description: the sst cli
|
description: terminal based agent that can build anything
|
||||||
formats:
|
formats:
|
||||||
- deb
|
- deb
|
||||||
- rpm
|
- rpm
|
||||||
|
|
@ -55,14 +53,6 @@ nfpms:
|
||||||
{{- if eq .Os "darwin" }}mac
|
{{- if eq .Os "darwin" }}mac
|
||||||
{{- else }}{{ .Os }}{{ end }}-{{ .Arch }}
|
{{- else }}{{ .Os }}{{ end }}-{{ .Arch }}
|
||||||
|
|
||||||
# scoop:
|
|
||||||
# bucket:
|
|
||||||
# owner: sst
|
|
||||||
# name: scoop-bucket
|
|
||||||
# homepage: "https://github.com/sst/ion"
|
|
||||||
# description: "sst cli"
|
|
||||||
# license: Apache 2.0
|
|
||||||
|
|
||||||
changelog:
|
changelog:
|
||||||
sort: asc
|
sort: asc
|
||||||
filters:
|
filters:
|
||||||
|
|
|
||||||
43
scripts/release
Executable file
43
scripts/release
Executable file
|
|
@ -0,0 +1,43 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Parse command line arguments
|
||||||
|
minor=false
|
||||||
|
while [ "$#" -gt 0 ]; do
|
||||||
|
case "$1" in
|
||||||
|
--minor) minor=true; shift 1;;
|
||||||
|
*) echo "Unknown parameter: $1"; exit 1;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
git fetch --force --tags
|
||||||
|
|
||||||
|
# Get the latest Git tag
|
||||||
|
latest_tag=$(git tag --sort=committerdate | grep -E '[0-9]' | tail -1)
|
||||||
|
|
||||||
|
# If there is no tag, exit the script
|
||||||
|
if [ -z "$latest_tag" ]; then
|
||||||
|
echo "No tags found"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Latest tag: $latest_tag"
|
||||||
|
|
||||||
|
# Split the tag into major, minor, and patch numbers
|
||||||
|
IFS='.' read -ra VERSION <<< "$latest_tag"
|
||||||
|
|
||||||
|
if [ "$minor" = true ]; then
|
||||||
|
# Increment the minor version and reset patch to 0
|
||||||
|
minor_number=${VERSION[1]}
|
||||||
|
let "minor_number++"
|
||||||
|
new_version="${VERSION[0]}.$minor_number.0"
|
||||||
|
else
|
||||||
|
# Increment the patch version
|
||||||
|
patch_number=${VERSION[2]}
|
||||||
|
let "patch_number++"
|
||||||
|
new_version="${VERSION[0]}.${VERSION[1]}.$patch_number"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "New version: $new_version"
|
||||||
|
|
||||||
|
git tag $new_version
|
||||||
|
git push --tags
|
||||||
7
scripts/snapshot
Executable file
7
scripts/snapshot
Executable file
|
|
@ -0,0 +1,7 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -e
|
||||||
|
export DOCKER_PUSH=true
|
||||||
|
./platform/scripts/build
|
||||||
|
goreleaser build --clean --snapshot --skip validate
|
||||||
|
cd sdk/js
|
||||||
|
bun run release
|
||||||
Loading…
Add table
Add a link
Reference in a new issue