Skip to content

Commit 15da269

Browse files
intel352claude
andcommitted
feat: complete openlms plugin with goreleaser, plugin.json, and CI
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 0471fd3 commit 15da269

40 files changed

Lines changed: 5505 additions & 0 deletions

.github/workflows/release.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Release
2+
on:
3+
push:
4+
tags: ["v*"]
5+
permissions:
6+
contents: write
7+
jobs:
8+
release:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v4
12+
with:
13+
fetch-depth: 0
14+
- uses: actions/setup-go@v5
15+
with:
16+
go-version: "1.24"
17+
- uses: goreleaser/goreleaser-action@v6
18+
with:
19+
version: "~> v2"
20+
args: release --clean
21+
env:
22+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
23+
- name: Sync manifest to registry
24+
if: success()
25+
env:
26+
GH_TOKEN: ${{ secrets.REGISTRY_PAT }}
27+
run: |
28+
git clone https://x-access-token:${GH_TOKEN}@github.com/GoCodeAlone/workflow-registry.git /tmp/registry
29+
mkdir -p /tmp/registry/plugins/openlms
30+
TAG=${GITHUB_REF#refs/tags/}
31+
VERSION=${TAG#v}
32+
jq --arg v "$VERSION" '.version = $v' plugin.json > /tmp/registry/plugins/openlms/manifest.json
33+
cd /tmp/registry
34+
git config user.name "github-actions[bot]"
35+
git config user.email "github-actions[bot]@users.noreply.github.com"
36+
git add plugins/openlms/manifest.json
37+
git diff --cached --quiet || git commit -m "chore: sync openlms plugin manifest v${VERSION}"
38+
git push

.goreleaser.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
version: 2
2+
project_name: workflow-plugin-openlms
3+
builds:
4+
- id: plugin
5+
main: ./cmd/workflow-plugin-openlms
6+
binary: workflow-plugin-openlms
7+
env: [CGO_ENABLED=0]
8+
goos: [linux, darwin]
9+
goarch: [amd64, arm64]
10+
ldflags: ["-s", "-w"]
11+
archives:
12+
- id: plugin
13+
builds: [plugin]
14+
name_template: "{{ .ProjectName }}-{{ .Os }}-{{ .Arch }}"
15+
format: tar.gz
16+
checksum:
17+
name_template: checksums.txt
18+
release:
19+
github:
20+
owner: GoCodeAlone
21+
name: workflow-plugin-openlms
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package main
2+
3+
import (
4+
"github.com/GoCodeAlone/workflow-plugin-openlms/internal"
5+
sdk "github.com/GoCodeAlone/workflow/plugin/external/sdk"
6+
)
7+
8+
var version = "dev"
9+
10+
func main() {
11+
sdk.Serve(internal.NewOpenLMSPlugin())
12+
}

go.mod

Lines changed: 183 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,183 @@
1+
module github.com/GoCodeAlone/workflow-plugin-openlms
2+
3+
go 1.26.0
4+
5+
require github.com/GoCodeAlone/workflow v0.3.30
6+
7+
require (
8+
cel.dev/expr v0.25.1 // indirect
9+
cloud.google.com/go v0.123.0 // indirect
10+
cloud.google.com/go/auth v0.18.1 // indirect
11+
cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect
12+
cloud.google.com/go/compute/metadata v0.9.0 // indirect
13+
cloud.google.com/go/iam v1.5.3 // indirect
14+
cloud.google.com/go/monitoring v1.24.3 // indirect
15+
cloud.google.com/go/storage v1.60.0 // indirect
16+
github.com/BurntSushi/toml v1.6.0 // indirect
17+
github.com/DataDog/datadog-go/v5 v5.4.0 // indirect
18+
github.com/GoCodeAlone/go-plugin v0.0.0-20260220090904-b4c35f0e4271 // indirect
19+
github.com/GoCodeAlone/modular v1.12.0 // indirect
20+
github.com/GoCodeAlone/modular/modules/auth v1.12.0 // indirect
21+
github.com/GoCodeAlone/modular/modules/eventbus/v2 v2.5.1 // indirect
22+
github.com/GoCodeAlone/yaegi v0.17.1 // indirect
23+
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.30.0 // indirect
24+
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.55.0 // indirect
25+
github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.55.0 // indirect
26+
github.com/IBM/sarama v1.47.0 // indirect
27+
github.com/Microsoft/go-winio v0.6.2 // indirect
28+
github.com/aws/aws-sdk-go-v2 v1.41.3 // indirect
29+
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.4 // indirect
30+
github.com/aws/aws-sdk-go-v2/config v1.32.7 // indirect
31+
github.com/aws/aws-sdk-go-v2/credentials v1.19.10 // indirect
32+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.18 // indirect
33+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.19 // indirect
34+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.19 // indirect
35+
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4 // indirect
36+
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.17 // indirect
37+
github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.33.6 // indirect
38+
github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.41.11 // indirect
39+
github.com/aws/aws-sdk-go-v2/service/codebuild v1.68.10 // indirect
40+
github.com/aws/aws-sdk-go-v2/service/ec2 v1.289.1 // indirect
41+
github.com/aws/aws-sdk-go-v2/service/ecs v1.72.0 // indirect
42+
github.com/aws/aws-sdk-go-v2/service/eks v1.80.0 // indirect
43+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.6 // indirect
44+
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.8 // indirect
45+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.18 // indirect
46+
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.17 // indirect
47+
github.com/aws/aws-sdk-go-v2/service/kinesis v1.38.0 // indirect
48+
github.com/aws/aws-sdk-go-v2/service/route53 v1.62.2 // indirect
49+
github.com/aws/aws-sdk-go-v2/service/s3 v1.96.0 // indirect
50+
github.com/aws/aws-sdk-go-v2/service/signin v1.0.6 // indirect
51+
github.com/aws/aws-sdk-go-v2/service/sso v1.30.11 // indirect
52+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.15 // indirect
53+
github.com/aws/aws-sdk-go-v2/service/sts v1.41.7 // indirect
54+
github.com/aws/smithy-go v1.24.2 // indirect
55+
github.com/beorn7/perks v1.0.1 // indirect
56+
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
57+
github.com/cenkalti/backoff/v5 v5.0.3 // indirect
58+
github.com/cespare/xxhash/v2 v2.3.0 // indirect
59+
github.com/cloudevents/sdk-go/v2 v2.16.2 // indirect
60+
github.com/cncf/xds/go v0.0.0-20251210132809-ee656c7534f5 // indirect
61+
github.com/containerd/errdefs v1.0.0 // indirect
62+
github.com/containerd/errdefs/pkg v0.3.0 // indirect
63+
github.com/containerd/log v0.1.0 // indirect
64+
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
65+
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
66+
github.com/digitalocean/godo v1.175.0 // indirect
67+
github.com/distribution/reference v0.6.0 // indirect
68+
github.com/docker/docker v28.5.2+incompatible // indirect
69+
github.com/docker/go-connections v0.6.0 // indirect
70+
github.com/docker/go-units v0.5.0 // indirect
71+
github.com/dustin/go-humanize v1.0.1 // indirect
72+
github.com/eapache/go-resiliency v1.7.0 // indirect
73+
github.com/eapache/queue v1.1.0 // indirect
74+
github.com/envoyproxy/go-control-plane/envoy v1.36.0 // indirect
75+
github.com/envoyproxy/protoc-gen-validate v1.3.0 // indirect
76+
github.com/fatih/color v1.18.0 // indirect
77+
github.com/felixge/httpsnoop v1.0.4 // indirect
78+
github.com/fsnotify/fsnotify v1.9.0 // indirect
79+
github.com/go-jose/go-jose/v4 v4.1.3 // indirect
80+
github.com/go-logr/logr v1.4.3 // indirect
81+
github.com/go-logr/stdr v1.2.2 // indirect
82+
github.com/golang-jwt/jwt/v5 v5.3.1 // indirect
83+
github.com/golobby/cast v1.3.3 // indirect
84+
github.com/google/go-querystring v1.1.0 // indirect
85+
github.com/google/s2a-go v0.1.9 // indirect
86+
github.com/google/uuid v1.6.0 // indirect
87+
github.com/googleapis/enterprise-certificate-proxy v0.3.11 // indirect
88+
github.com/googleapis/gax-go/v2 v2.17.0 // indirect
89+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0 // indirect
90+
github.com/hashicorp/errwrap v1.1.0 // indirect
91+
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
92+
github.com/hashicorp/go-hclog v1.6.3 // indirect
93+
github.com/hashicorp/go-multierror v1.1.1 // indirect
94+
github.com/hashicorp/go-retryablehttp v0.7.8 // indirect
95+
github.com/hashicorp/go-rootcerts v1.0.2 // indirect
96+
github.com/hashicorp/go-secure-stdlib/parseutil v0.2.0 // indirect
97+
github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 // indirect
98+
github.com/hashicorp/go-sockaddr v1.0.7 // indirect
99+
github.com/hashicorp/go-uuid v1.0.3 // indirect
100+
github.com/hashicorp/hcl v1.0.1-vault-7 // indirect
101+
github.com/hashicorp/vault/api v1.22.0 // indirect
102+
github.com/hashicorp/yamux v0.1.2 // indirect
103+
github.com/itchyny/gojq v0.12.18 // indirect
104+
github.com/itchyny/timefmt-go v0.1.7 // indirect
105+
github.com/jackc/pgpassfile v1.0.0 // indirect
106+
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
107+
github.com/jackc/pgx/v5 v5.7.5 // indirect
108+
github.com/jackc/puddle/v2 v2.2.2 // indirect
109+
github.com/jcmturner/aescts/v2 v2.0.0 // indirect
110+
github.com/jcmturner/dnsutils/v2 v2.0.0 // indirect
111+
github.com/jcmturner/gofork v1.7.6 // indirect
112+
github.com/jcmturner/gokrb5/v8 v8.4.4 // indirect
113+
github.com/jcmturner/rpc/v2 v2.0.3 // indirect
114+
github.com/json-iterator/go v1.1.13-0.20220915233716-71ac16282d12 // indirect
115+
github.com/klauspost/compress v1.18.4 // indirect
116+
github.com/mattn/go-colorable v0.1.14 // indirect
117+
github.com/mattn/go-isatty v0.0.20 // indirect
118+
github.com/mitchellh/go-homedir v1.1.0 // indirect
119+
github.com/mitchellh/go-testing-interface v1.14.1 // indirect
120+
github.com/mitchellh/mapstructure v1.5.0 // indirect
121+
github.com/moby/docker-image-spec v1.3.1 // indirect
122+
github.com/moby/sys/sequential v0.6.0 // indirect
123+
github.com/moby/term v0.5.2 // indirect
124+
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
125+
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
126+
github.com/morikuni/aec v1.1.0 // indirect
127+
github.com/nats-io/nats.go v1.49.0 // indirect
128+
github.com/nats-io/nkeys v0.4.15 // indirect
129+
github.com/nats-io/nuid v1.0.1 // indirect
130+
github.com/ncruces/go-strftime v1.0.0 // indirect
131+
github.com/oklog/run v1.2.0 // indirect
132+
github.com/opencontainers/go-digest v1.0.0 // indirect
133+
github.com/opencontainers/image-spec v1.1.1 // indirect
134+
github.com/pierrec/lz4/v4 v4.1.25 // indirect
135+
github.com/pkg/errors v0.9.1 // indirect
136+
github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect
137+
github.com/prometheus/client_golang v1.19.1 // indirect
138+
github.com/prometheus/client_model v0.6.2 // indirect
139+
github.com/prometheus/common v0.48.0 // indirect
140+
github.com/prometheus/procfs v0.12.0 // indirect
141+
github.com/rcrowley/go-metrics v0.0.0-20250401214520-65e299d6c5c9 // indirect
142+
github.com/redis/go-redis/v9 v9.18.0 // indirect
143+
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
144+
github.com/ryanuber/go-glob v1.0.0 // indirect
145+
github.com/spiffe/go-spiffe/v2 v2.6.0 // indirect
146+
github.com/xdg-go/pbkdf2 v1.0.0 // indirect
147+
github.com/xdg-go/scram v1.2.0 // indirect
148+
github.com/xdg-go/stringprep v1.0.4 // indirect
149+
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
150+
go.opentelemetry.io/contrib/detectors/gcp v1.39.0 // indirect
151+
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.63.0 // indirect
152+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.66.0 // indirect
153+
go.opentelemetry.io/otel v1.41.0 // indirect
154+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.40.0 // indirect
155+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.40.0 // indirect
156+
go.opentelemetry.io/otel/metric v1.41.0 // indirect
157+
go.opentelemetry.io/otel/sdk v1.41.0 // indirect
158+
go.opentelemetry.io/otel/sdk/metric v1.41.0 // indirect
159+
go.opentelemetry.io/otel/trace v1.41.0 // indirect
160+
go.opentelemetry.io/proto/otlp v1.9.0 // indirect
161+
go.uber.org/atomic v1.11.0 // indirect
162+
go.uber.org/multierr v1.11.0 // indirect
163+
go.uber.org/zap v1.27.1 // indirect
164+
golang.org/x/crypto v0.48.0 // indirect
165+
golang.org/x/exp v0.0.0-20260218203240-3dfff04db8fa // indirect
166+
golang.org/x/net v0.51.0 // indirect
167+
golang.org/x/oauth2 v0.35.0 // indirect
168+
golang.org/x/sync v0.20.0 // indirect
169+
golang.org/x/sys v0.41.0 // indirect
170+
golang.org/x/text v0.34.0 // indirect
171+
golang.org/x/time v0.14.0 // indirect
172+
google.golang.org/api v0.265.0 // indirect
173+
google.golang.org/genproto v0.0.0-20260128011058-8636f8732409 // indirect
174+
google.golang.org/genproto/googleapis/api v0.0.0-20260226221140-a57be14db171 // indirect
175+
google.golang.org/genproto/googleapis/rpc v0.0.0-20260226221140-a57be14db171 // indirect
176+
google.golang.org/grpc v1.79.1 // indirect
177+
google.golang.org/protobuf v1.36.11 // indirect
178+
gopkg.in/yaml.v3 v3.0.1 // indirect
179+
modernc.org/libc v1.67.6 // indirect
180+
modernc.org/mathutil v1.7.1 // indirect
181+
modernc.org/memory v1.11.0 // indirect
182+
modernc.org/sqlite v1.45.0 // indirect
183+
)

0 commit comments

Comments
 (0)