diff --git a/.circleci/config.yml b/.circleci/config.yml
index 7a85648..765306b 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -2,8 +2,8 @@
# syntax, such as anchors, will be fixed automatically.
version: 2.1
orbs:
- shared: getoutreach/shared@2.18.0
- queue: eddiewebb/queue@1.8.4
+ shared: getoutreach/shared@2.24.0
+ queue: eddiewebb/queue@2.2.1
parameters:
rebuild_cache:
@@ -122,7 +122,24 @@ workflows:
## <>
## <>
- - shared/docker:
+ - shared/docker_stitch:
+ context: *contexts
+ requires:
+ - shared/docker_amd64
+ - shared/docker_arm64
+ filters:
+ branches:
+ ignore: *release_branches
+ tags:
+ only: /v\d+(\.\d+)*(-.*)*/
+ - shared/docker_amd64:
+ context: *contexts
+ filters:
+ branches:
+ ignore: *release_branches
+ tags:
+ only: /v\d+(\.\d+)*(-.*)*/
+ - shared/docker_arm64:
context: *contexts
filters:
branches:
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 066c467..cde2158 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -8,6 +8,7 @@ updates:
# stencil-golang managed dependencies
ignore:
- dependency-name: github.com/getoutreach/gobox
+ - dependency-name: github.com/getoutreach/stencil-golang/pkg
- dependency-name: github.com/getoutreach/services
- dependency-name: github.com/getoutreach/datastores/v2
- dependency-name: github.com/getoutreach/mint
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
index afb5dd9..ccb63a0 100644
--- a/.github/pull_request_template.md
+++ b/.github/pull_request_template.md
@@ -1,16 +1,17 @@
+Please read [CONTRIBUTING.md](CONTRIBUTING.md) for additional information on contributing to this repository!
## What this PR does / why we need it
-
## Jira ID
@@ -22,8 +23,6 @@
## Notes for your reviewers
-
-
diff --git a/.gitignore b/.gitignore
index 3d372ef..e414a7d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -61,6 +61,9 @@ Pulumi.*.yaml
# Documentation output
/apidocs
+# Terraform lock files
+.terraform.lock.hcl
+
### Start ignores inserted by other modules
### End ignores inserted by other modules
diff --git a/.tool-versions b/.tool-versions
index d1afcfe..9414e93 100644
--- a/.tool-versions
+++ b/.tool-versions
@@ -4,10 +4,10 @@
# you are reducing compatibility guarantees.
## <>
## <>
-golang 1.19.11
-terraform 1.4.4
+nodejs 18.17.1
protoc 21.5
-nodejs 18.14.1
+golang 1.21.5
+terraform 1.5.7
# Note: Versions in this block do not override the default versions above
# but sometimes you have to declare additional versions of the same tool
# while leaving the 'default' version intact for the infra.
diff --git a/.vscode/launch.json b/.vscode/launch.json
index caaed99..b4175fe 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -36,16 +36,16 @@
"to": "/home/dev/app"
},
// Maps the go module cache on the host to the persistent volume used by devspaces.
- // See the value of `go env GOMODCACHE` on the host and devspace.
+ // These should be the respective values of `go env GOMODCACHE`.
{
- "from": "${env:HOME}/.asdf/installs/golang/1.19.11/packages/pkg/mod",
- "to": "/tmp/cache/go/mod/"
+ "from": "${env:HOME}/.asdf/installs/golang/1.21.5/packages/pkg/mod",
+ "to": "/home/dev/.asdf/installs/golang/1.21.5/packages/pkg/mod"
},
{
// Maps the standard library location on the host to the location in the devspace.
// This enables debugging standard library code.
- "from": "${env:HOME}/.asdf/installs/golang/1.19.11/go/src",
- "to": "/home/dev/.asdf/installs/golang/1.19.11/go/src"
+ "from": "${env:HOME}/.asdf/installs/golang/1.21.5/go/src",
+ "to": "/home/dev/.asdf/installs/golang/1.21.5/go/src"
}
]
},
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 8b2f154..4ea5c26 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -14,6 +14,7 @@
},
"go.buildTags": "or_dev",
"go.testTags": "or_test,or_int,or_e2e",
+ "files.trimTrailingWhitespace": true,
// This prevents 99% of issues with linters :)
"editor.formatOnSave": true,
"shellcheck.customArgs": ["-P", "SCRIPTDIR", "-x"],
diff --git a/go.mod b/go.mod
index 0f402fa..78fc80a 100644
--- a/go.mod
+++ b/go.mod
@@ -3,7 +3,7 @@ module github.com/getoutreach/goql
go 1.19
require (
- github.com/getoutreach/gobox v1.71.0
+ github.com/getoutreach/gobox v1.73.2
github.com/google/go-cmp v0.5.9
github.com/pkg/errors v0.9.1
)
diff --git a/go.sum b/go.sum
index d932cd3..9714453 100644
--- a/go.sum
+++ b/go.sum
@@ -1,7 +1,7 @@
-github.com/getoutreach/gobox v1.71.0 h1:5T3G94y6aG7lqnfzXzMhuR/hw0VnNGwU7VQLml+Lwsw=
-github.com/getoutreach/gobox v1.71.0/go.mod h1:NMFEug44bFUQnpGTS9vov/WsZK36fnQFLDl+3p/yeas=
+github.com/getoutreach/gobox v1.73.2 h1:LDTPzWHj37d/GsYCPJIHHais+f+7aUP8ZS9YuU+qJXU=
+github.com/getoutreach/gobox v1.73.2/go.mod h1:Kx002WFAj+lUVqo7LLxSaQ1w2Mcqg1gefd+qQKr/QGM=
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o=
+gotest.tools/v3 v3.5.0 h1:Ljk6PdHdOhAb5aDMWXjDLMMhph+BpztA4v1QdqEW2eY=
diff --git a/scripts/golangci.yml b/scripts/golangci.yml
index 7c29fd0..925ff63 100644
--- a/scripts/golangci.yml
+++ b/scripts/golangci.yml
@@ -9,18 +9,42 @@ linters-settings:
govet:
check-shadowing: true
revive:
- confidence: 0
+ rules:
+ # Enable the default golint rules. We must include these because
+ # we configure a single rule, which disables the default rules.
+ - name: blank-imports
+ - name: context-as-argument
+ - name: context-keys-type
+ - name: dot-imports
+ - name: error-return
+ - name: error-strings
+ - name: error-naming
+ - name: exported
+ - name: increment-decrement
+ - name: var-naming
+ - name: var-declaration
+ - name: package-comments
+ - name: range
+ - name: receiver-naming
+ - name: time-naming
+ - name: unexported-return
+ - name: indent-error-flow
+ - name: errorf
+ - name: empty-block
+ - name: superfluous-else
+ - name: unreachable-code
+ - name: redefines-builtin-id
+ # While we agree with this rule, right now it would break too many
+ # projects. So, we disable it by default.
+ - name: unused-parameter
+ disabled: true
gocyclo:
min-complexity: 25
- maligned:
- suggest-new: true
dupl:
threshold: 100
goconst:
min-len: 3
min-occurrences: 3
- misspell:
- locale: US
lll:
line-length: 140
gocritic:
@@ -84,7 +108,6 @@ issues:
linters:
- gocyclo
- errcheck
- - dupl
- gosec
- funlen
- gochecknoglobals # Globals in test files are tolerated.
diff --git a/service.yaml b/service.yaml
index 8391723..b3fedaa 100644
--- a/service.yaml
+++ b/service.yaml
@@ -1,26 +1,16 @@
name: goql
-reportingTeam: end-ades
-description: A GraphQL client package written in Go.
-oss: true
-slack: orexservice-notifications
-library: true
-circleAPIKey: ""
-lintroller: bronze
-tracing: honeycomb
-metrics: datadog
-releaseType: semver
-deployTo:
- environments: []
arguments:
circleAPIKey: ""
commands: []
ciOptions:
skipDocker: true
+ skipE2e: true
commitGuard: false
dependencies:
optional: []
required: []
description: A GraphQL client package written in Go.
+ go-protoc-imports: []
grpcClients: []
kubernetes:
groups: []
@@ -35,28 +25,53 @@ arguments:
releaseOptions:
allowMajorVersions: false
enablePrereleases: false
+ prereleasesBranch: ""
reportingTeam: end-ades
resources: {}
service: false
+ slack: orexservice-notifications
+ terraform:
+ datadog:
+ grpc:
+ evaluationWindow: ""
+ latency:
+ percentiles:
+ highTraffic: 0
+ lowTraffic: 0
+ thresholds:
+ highTraffic: 0
+ lowTraffic: 0
+ lowTrafficCountThreshold: 0
+ qos:
+ thresholds:
+ highTraffic: 0
+ lowTraffic: 0
+ tags: []
+ http:
+ evaluationWindow: ""
+ percentiles:
+ highTraffic: 0
+ lowTraffic: 0
+ thresholds:
+ highTraffic: 0
+ lowCount: 0
+ lowTraffic: 0
+ pods:
+ thresholds:
+ availableLowCount: 0
tracing: opentelemetry
tutorial: false
+ validation: false
vaultSecrets:
- deploy/honeycomb_new/%(environment)s/honeycomb
- deploy/launchdarkly/%(environment)s/launchdarkly
- deploy/mint/%(environment)s/validation/mint-validator-payload
- deploy/flagship-shared-secret/%(environment)s/authn-flagship-payload
modules:
+ - name: github.com/getoutreach/stencil-discovery
+ - name: github.com/getoutreach/stencil-base
+ - name: github.com/getoutreach/stencil-golang
- name: github.com/getoutreach/stencil-outreach
- name: github.com/getoutreach/stencil-circleci
- name: github.com/getoutreach/stencil-actions
- - name: github.com/getoutreach/stencil-base
- - name: github.com/getoutreach/stencil-golang
-opsLevel:
- serviceTier: 0
- lifecycle: ""
- confluenceSpaceKey: ""
- pagerDutyLink: ""
- datadogDashboards:
- mainLink: ""
- custom: []
- designDocumentLink: ""
+migrated: true
diff --git a/stencil.lock b/stencil.lock
index 6a0930c..ccbce04 100644
--- a/stencil.lock
+++ b/stencil.lock
@@ -1,26 +1,26 @@
-version: v1.36.0
+version: v1.37.2
modules:
- name: github.com/getoutreach/devbase
url: https://github.com/getoutreach/devbase
- version: v2.18.0
+ version: v2.24.0
- name: github.com/getoutreach/stencil-actions
url: https://github.com/getoutreach/stencil-actions
version: v0.3.0
- name: github.com/getoutreach/stencil-base
url: https://github.com/getoutreach/stencil-base
- version: v0.12.0
+ version: v0.15.0
- name: github.com/getoutreach/stencil-circleci
url: https://github.com/getoutreach/stencil-circleci
- version: v1.10.0
+ version: v1.12.0
- name: github.com/getoutreach/stencil-discovery
url: https://github.com/getoutreach/stencil-discovery
- version: v1.8.0
+ version: v1.8.1
- name: github.com/getoutreach/stencil-golang
url: https://github.com/getoutreach/stencil-golang
- version: v1.13.2
+ version: v1.18.0
- name: github.com/getoutreach/stencil-outreach
url: https://github.com/getoutreach/stencil-outreach
- version: v0.12.2
+ version: v0.19.1
- name: github.com/getoutreach/stencil-pipeline
url: https://github.com/getoutreach/stencil-pipeline
version: v1.1.0
@@ -76,27 +76,18 @@ files:
- name: .vscode/settings.json
template: .vscode/settings.json.tpl
module: github.com/getoutreach/stencil-golang
- - name: CONTRIBUTING.md
- template: CONTRIBUTING.md.tpl
- module: github.com/getoutreach/stencil-base
- name: LICENSE
template: LICENSE.tpl
module: github.com/getoutreach/stencil-base
- name: Makefile
template: Makefile.tpl
module: github.com/getoutreach/stencil-golang
- - name: README.md
- template: README.md.tpl
- module: github.com/getoutreach/stencil-base
- name: devenv.yaml
template: devenv.yaml.tpl
module: github.com/getoutreach/stencil-golang
- name: go.mod
template: go.mod.tpl
module: github.com/getoutreach/stencil-golang
- - name: opslevel.yml
- template: opslevel.yml.tpl
- module: github.com/getoutreach/stencil-outreach
- name: package.json
template: package.json.tpl
module: github.com/getoutreach/stencil-base