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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions .github/actions/cleanup-stale/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Delete stale images

description: Delete stale images

inputs:
delay:
description: Delay before running the action (in seconds)
required: false
default: "0" # seconds
token:
description: A Github PAT token to fetch repository and delete packages (needs delete:packages permissions).
required: true

runs:
using: composite
steps:
- name: Delay # needed in case of retry to avoid triggering the rate limit of the Github API
if: ${{ inputs.delay != '0' }}
shell: bash
run: |
sleep ${{ inputs.delay }}

- name: Delete older than a month vnext and vnext-pr images
uses: snok/container-retention-policy@v2
with:
image-names: client-application
cut-off: One month ago UTC
account-type: org
org-name: plgd-dev
# matches both vnext-* and vnext-pr-* tags
filter-tags: vnext-*
skip-tags: main
token: ${{ inputs.token }}

- name: Set up Docker Buildx for delete untagged images action
uses: docker/setup-buildx-action@v3

- name: Login to GitHub Container Registry for delete untagged images action
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ inputs.token }}

- name: Delete untagged images with no dependency
uses: Chizkiyahu/delete-untagged-ghcr-action@v3
with:
repository: ${{ github.repository }}
repository_owner: ${{ github.repository_owner }}
token: ${{ inputs.token }}
owner_type: org
untagged_only: true
except_untagged_multiplatform: true
58 changes: 47 additions & 11 deletions .github/workflows/ghcr-cleanup.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@ jobs:
name: Delete images related to closed PR
runs-on: ubuntu-latest
steps:
- name: Delete images related to closed PR
- name: Delete images related to closed PR (1)
id: run-1
continue-on-error: true
uses: snok/container-retention-policy@v2
with:
image-names: client-application
Expand All @@ -20,18 +22,52 @@ jobs:
org-name: plgd-dev
filter-tags: vnext-pr${{ github.event.pull_request.number }}*
token: ${{ secrets.GHCR_CLEANUP_PAT }}
nightly-ghcr-cleanup:
if: ${{ github.event_name == 'schedule' }}
name: Delete old vnext images
runs-on: ubuntu-latest
steps:
- name: Delete older than a month vnext images
- name: Delete images related to closed PR (2)
id: run-2
if: ${{ steps.run-1.outcome == 'failure' }}
continue-on-error: true
uses: snok/container-retention-policy@v2
with:
image-names: client-application
cut-off: now UTC
account-type: org
org-name: plgd-dev
filter-tags: vnext-pr${{ github.event.pull_request.number }}*
token: ${{ secrets.GHCR_CLEANUP_PAT }}
- name: Delete images related to closed PR (3)
if: ${{ steps.run-2.outcome == 'failure' }}
uses: snok/container-retention-policy@v2
with:
image-names: client-application
cut-off: One month ago UTC
cut-off: now UTC
account-type: org
org-name: plgd-dev
filter-tags: vnext-*
skip-tags: vnext-pr*, main
token: ${{ secrets.GHCR_CLEANUP_PAT }}
filter-tags: vnext-pr${{ github.event.pull_request.number }}*
token: ${{ secrets.GHCR_CLEANUP_PAT }}
nightly-ghcr-cleanup:
if: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }}
name: Delete stale or untagged images
runs-on: ubuntu-latest
steps:
- name: Checkout local actions
uses: actions/checkout@v4
- name: Delete stale or untagged images (1)
id: run-1
continue-on-error: true
uses: ./.github/actions/cleanup-stale
with:
token: ${{ secrets.GHCR_CLEANUP_PAT }}
- name: Delete stale or untagged images (2)
id: run-2
if: ${{ steps.run-1.outcome == 'failure' }}
with:
token: ${{ secrets.GHCR_CLEANUP_PAT }}
delay: 60
continue-on-error: true
uses: ./.github/actions/cleanup-stale
- name: Delete stale or untagged images (3)
if: ${{ steps.run-2.outcome == 'failure' }}
uses: ./.github/actions/cleanup-stale
with:
token: ${{ secrets.GHCR_CLEANUP_PAT }}
delay: 60
2 changes: 1 addition & 1 deletion dependency/googleapis
Submodule googleapis updated 214 files
91 changes: 55 additions & 36 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,41 +3,41 @@ module github.com/plgd-dev/client-application
go 1.18

require (
cloud.google.com/go v0.110.10
cloud.google.com/go v0.111.0
github.com/apex/log v1.9.0
github.com/favadi/protoc-go-inject-tag v1.4.0
github.com/fullstorydev/grpchan v1.1.1
github.com/glendc/go-external-ip v0.1.0
github.com/golang-jwt/jwt/v4 v4.5.0
github.com/google/uuid v1.4.0
github.com/goreleaser/goreleaser v1.9.2
github.com/gorilla/handlers v1.5.1
github.com/gorilla/mux v1.8.0
github.com/grpc-ecosystem/grpc-gateway/v2 v2.18.0
github.com/gorilla/handlers v1.5.2
github.com/gorilla/mux v1.8.1
github.com/grpc-ecosystem/grpc-gateway/v2 v2.18.1
github.com/jellydator/ttlcache/v3 v3.1.0
github.com/jessevdk/go-flags v1.5.0
github.com/lestrrat-go/jwx v1.2.26
github.com/pion/dtls/v2 v2.2.8-0.20231026152330-9cc3df9c3369
github.com/plgd-dev/device/v2 v2.2.3-0.20231102140441-be15c594982e
github.com/plgd-dev/go-coap/v3 v3.1.6
github.com/plgd-dev/hub/v2 v2.13.1-0.20231103112740-d2a9b071272d
github.com/lestrrat-go/jwx v1.2.27
github.com/pion/dtls/v2 v2.2.8-0.20231201063746-dc751e3b2df9
github.com/plgd-dev/device/v2 v2.2.3-0.20231201123030-848022cce7d7
github.com/plgd-dev/go-coap/v3 v3.3.1-0.20231201115455-b5adef4fb2ee
github.com/plgd-dev/hub/v2 v2.14.1-0.20231201134621-229a574f786f
github.com/plgd-dev/kit/v2 v2.0.0-20211006190727-057b33161b90
github.com/stretchr/testify v1.8.4
go.opentelemetry.io/otel/trace v1.14.0
go.uber.org/atomic v1.11.0
go.uber.org/zap v1.24.0
google.golang.org/api v0.149.0
google.golang.org/api v0.153.0
google.golang.org/grpc v1.58.2
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0
google.golang.org/protobuf v1.31.0
google.golang.org/protobuf v1.31.1-0.20231027082548-f4a6c1f6e5c1
gopkg.in/yaml.v3 v3.0.1
)

require (
cloud.google.com/go/compute v1.23.3 // indirect
cloud.google.com/go/compute/metadata v0.2.3 // indirect
cloud.google.com/go/iam v1.1.3 // indirect
cloud.google.com/go/kms v1.15.3 // indirect
cloud.google.com/go/iam v1.1.5 // indirect
cloud.google.com/go/kms v1.15.5 // indirect
cloud.google.com/go/storage v1.30.1 // indirect
code.gitea.io/sdk/gitea v0.15.1 // indirect
github.com/AlekSi/pointer v1.2.0 // indirect
Expand Down Expand Up @@ -78,7 +78,7 @@ require (
github.com/aws/aws-sdk-go-v2/service/sts v1.7.0 // indirect
github.com/aws/smithy-go v1.8.0 // indirect
github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb // indirect
github.com/bufbuild/protocompile v0.6.0 // indirect
github.com/bufbuild/protocompile v0.7.0 // indirect
github.com/caarlos0/ctrlc v1.0.0 // indirect
github.com/caarlos0/env/v6 v6.9.2 // indirect
github.com/caarlos0/go-reddit/v3 v3.0.1 // indirect
Expand All @@ -95,10 +95,10 @@ require (
github.com/dsnet/golib/memfile v1.0.0 // indirect
github.com/emirpasic/gods v1.12.0 // indirect
github.com/fatih/color v1.13.0 // indirect
github.com/felixge/httpsnoop v1.0.3 // indirect
github.com/felixge/httpsnoop v1.0.4 // indirect
github.com/fsnotify/fsnotify v1.7.0 // indirect
github.com/fxamacker/cbor/v2 v2.5.0 // indirect
github.com/go-co-op/gocron v1.35.3 // indirect
github.com/go-co-op/gocron v1.36.0 // indirect
github.com/go-git/gcfg v1.5.0 // indirect
github.com/go-git/go-billy/v5 v5.3.1 // indirect
github.com/go-git/go-git/v5 v5.4.2 // indirect
Expand All @@ -107,8 +107,7 @@ require (
github.com/go-telegram-bot-api/telegram-bot-api v4.6.4+incompatible // indirect
github.com/gobwas/glob v0.2.3 // indirect
github.com/goccy/go-json v0.10.2 // indirect
github.com/golang-jwt/jwt/v5 v5.0.0 // indirect
github.com/golang/glog v1.1.2 // indirect
github.com/golang-jwt/jwt/v5 v5.2.0 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/golang/protobuf v1.5.3 // indirect
github.com/golang/snappy v0.0.4 // indirect
Expand All @@ -123,9 +122,9 @@ require (
github.com/goreleaser/chglog v0.1.2 // indirect
github.com/goreleaser/fileglob v1.3.0 // indirect
github.com/goreleaser/nfpm/v2 v2.15.1 // indirect
github.com/gorilla/websocket v1.5.0 // indirect
github.com/gorilla/websocket v1.5.1 // indirect
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // indirect
github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.0-rc.2 // indirect
github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.1 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-cleanhttp v0.5.1 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect
Expand All @@ -150,7 +149,7 @@ require (
github.com/lestrrat-go/httpcc v1.0.1 // indirect
github.com/lestrrat-go/httprc v1.0.4 // indirect
github.com/lestrrat-go/iter v1.0.2 // indirect
github.com/lestrrat-go/jwx/v2 v2.0.16 // indirect
github.com/lestrrat-go/jwx/v2 v2.0.18 // indirect
github.com/lestrrat-go/option v1.0.1 // indirect
github.com/mattn/go-colorable v0.1.9 // indirect
github.com/mattn/go-ieproxy v0.0.1 // indirect
Expand All @@ -168,7 +167,7 @@ require (
github.com/nats-io/nats.go v1.31.0 // indirect
github.com/nats-io/nkeys v0.4.6 // indirect
github.com/nats-io/nuid v1.0.1 // indirect
github.com/panjf2000/ants/v2 v2.8.2 // indirect
github.com/panjf2000/ants/v2 v2.9.0 // indirect
github.com/pion/logging v0.2.2 // indirect
github.com/pion/transport/v3 v3.0.1 // indirect
github.com/pkg/errors v0.9.1 // indirect
Expand All @@ -186,7 +185,7 @@ require (
github.com/tidwall/match v1.1.1 // indirect
github.com/tidwall/pretty v1.2.1 // indirect
github.com/tidwall/sjson v1.2.5 // indirect
github.com/ugorji/go/codec v1.2.11 // indirect
github.com/ugorji/go/codec v1.2.12 // indirect
github.com/ulikunitz/xz v0.5.10 // indirect
github.com/vincent-petithory/dataurl v1.0.0 // indirect
github.com/x448/float16 v0.8.4 // indirect
Expand All @@ -196,7 +195,7 @@ require (
github.com/xdg-go/scram v1.1.2 // indirect
github.com/xdg-go/stringprep v1.0.4 // indirect
github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a // indirect
go.mongodb.org/mongo-driver v1.12.1 // indirect
go.mongodb.org/mongo-driver v1.13.1 // indirect
go.opencensus.io v0.24.0 // indirect
go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo v0.40.0 // indirect
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.40.0 // indirect
Expand All @@ -210,55 +209,65 @@ require (
go.opentelemetry.io/proto/otlp v1.0.0 // indirect
go.uber.org/multierr v1.9.0 // indirect
gocloud.dev v0.24.0 // indirect
golang.org/x/crypto v0.14.0 // indirect
golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect
golang.org/x/net v0.17.0 // indirect
golang.org/x/oauth2 v0.13.0 // indirect
golang.org/x/sync v0.4.0 // indirect
golang.org/x/sys v0.13.0 // indirect
golang.org/x/text v0.13.0 // indirect
golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect
golang.org/x/crypto v0.16.0 // indirect
golang.org/x/exp v0.0.0-20231206192017-f3f8817b8deb // indirect
golang.org/x/net v0.19.0 // indirect
golang.org/x/oauth2 v0.15.0 // indirect
golang.org/x/sync v0.5.0 // indirect
golang.org/x/sys v0.15.0 // indirect
golang.org/x/text v0.14.0 // indirect
golang.org/x/time v0.5.0 // indirect
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
google.golang.org/appengine v1.6.8 // indirect
google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20231030173426-d783a09b4405 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405 // indirect
google.golang.org/genproto v0.0.0-20231120223509-83a465c0220f // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20231127180814-3a041ad873d4 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20231127180814-3a041ad873d4 // indirect
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
gopkg.in/mail.v2 v2.3.1 // indirect
gopkg.in/warnings.v0 v0.1.2 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
)

exclude (
// note github.com/klauspost/compress must be kept at v1.16.7 as long as golang1.18 is supported
// note github.com/klauspost/compress must be kept at v1.16.0 as long as golang1.18 is supported
github.com/klauspost/compress v1.17.0
github.com/klauspost/compress v1.17.1
github.com/klauspost/compress v1.17.2
github.com/klauspost/compress v1.17.3
github.com/klauspost/compress v1.17.4
// note: opentelemetry must be kept at v1.14.0 as long as golang1.18 is supported
go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo v0.41.0
go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo v0.41.1
go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo v0.42.0
go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo v0.43.0
go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo v0.44.0
go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo v0.45.0
go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo v0.46.0
go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo v0.46.1
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.41.0
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.41.1
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.42.0
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.43.0
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.44.0
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.45.0
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.0
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.1
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.41.0
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.41.1
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.42.0
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.43.0
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.44.0
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.0
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1
go.opentelemetry.io/otel v1.15.0
go.opentelemetry.io/otel v1.15.1
go.opentelemetry.io/otel v1.16.0
go.opentelemetry.io/otel v1.17.0
go.opentelemetry.io/otel v1.18.0
go.opentelemetry.io/otel v1.19.0
go.opentelemetry.io/otel v1.20.0
go.opentelemetry.io/otel v1.21.0
go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.15.0
go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.15.1
go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.16.0
Expand All @@ -269,30 +278,40 @@ exclude (
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.17.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.18.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.20.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.15.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.15.1
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.16.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.17.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.18.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.20.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0
go.opentelemetry.io/otel/metric v0.38.0
go.opentelemetry.io/otel/metric v0.38.1
go.opentelemetry.io/otel/metric v1.16.0
go.opentelemetry.io/otel/metric v1.17.0
go.opentelemetry.io/otel/metric v1.18.0
go.opentelemetry.io/otel/metric v1.19.0
go.opentelemetry.io/otel/metric v1.20.0
go.opentelemetry.io/otel/metric v1.21.0
go.opentelemetry.io/otel/sdk v1.15.0
go.opentelemetry.io/otel/sdk v1.15.1
go.opentelemetry.io/otel/sdk v1.16.0
go.opentelemetry.io/otel/sdk v1.17.0
go.opentelemetry.io/otel/sdk v1.18.0
go.opentelemetry.io/otel/sdk v1.19.0
go.opentelemetry.io/otel/sdk v1.20.0
go.opentelemetry.io/otel/sdk v1.21.0
go.opentelemetry.io/otel/trace v1.15.0
go.opentelemetry.io/otel/trace v1.15.1
go.opentelemetry.io/otel/trace v1.16.0
go.opentelemetry.io/otel/trace v1.17.0
go.opentelemetry.io/otel/trace v1.18.0
go.opentelemetry.io/otel/trace v1.19.0
go.opentelemetry.io/otel/trace v1.20.0
go.opentelemetry.io/otel/trace v1.21.0
// note: go.uber.org/multierr must be kept at v1.9.0 as long as golang1.18 is supported
go.uber.org/multierr v1.10.0
go.uber.org/multierr v1.11.0
Expand Down
Loading