Skip to content

Commit 1c154f7

Browse files
openshift-pipelines-botopenshift-pipelines-bot
authored andcommitted
[bot] Update next from tektoncd/chains to 0c9284f
$ git diff --stat 0c9284f740d672930274efbe75033df55dc78515..ab93ad44dcfeb860b6648a91328acd218a71dfab .github/workflows/codeql.yml | 8 +- .github/workflows/go-coverage.yml | 65 - .github/workflows/kind-e2e.yaml | 26 +- .github/workflows/lint.yaml | 4 +- .github/workflows/reusable-e2e.yaml | 30 +- .github/workflows/test-on-crc.yaml | 76 + .github/workflows/test-on-microshift.yaml | 69 - .golangci.yaml | 73 +- OWNERS | 2 - README.md | 10 +- config/100-deployment.yaml | 20 - docs/config.md | 8 +- docs/metrics.md | 22 +- docs/predicate/slsa/v2.md | 4 +- docs/signing.md | 2 +- go.mod | 315 +- go.sum | 1594 +- pkg/artifacts/signable.go | 41 + pkg/artifacts/signable_test.go | 197 +- pkg/chains/annotations.go | 46 +- pkg/chains/annotations_test.go | 160 +- pkg/chains/constants.go | 37 + pkg/chains/formats/slsa/attest/attest.go | 7 +- pkg/chains/formats/slsa/extract/extract.go | 53 +- pkg/chains/formats/slsa/extract/v1beta1/extract.go | 200 + .../formats/slsa/extract/v1beta1/extract_test.go | 366 + .../build_definition/build_definition_test.go | 10 +- .../external_parameters_test.go | 8 +- .../internal_parameters_test.go | 4 +- .../formats/slsa/internal/material/material.go | 51 + .../slsa/internal/material/material_test.go | 90 +- .../slsa/internal/material/v1beta1/material.go | 341 + .../internal/material/v1beta1/material_test.go | 624 + .../resolved_dependencies/resolved_dependencies.go | 23 + .../resolved_dependencies_test.go | 99 +- .../formats/slsa/internal/results/results.go | 4 +- .../formats/slsa/internal/results/results_test.go | 18 +- .../pipeline-v1/taskrun-multiple-subjects.json | 5 - .../pipeline-v1beta1/pipelinerun-childrefs.json | 129 + .../testdata/pipeline-v1beta1/pipelinerun1.json | 388 + .../pipelinerun_structured_results.json | 264 + .../taskrun-multiple-subjects.json | 56 + .../slsa/testdata/pipeline-v1beta1/taskrun1.json | 136 + .../slsa/testdata/pipeline-v1beta1/taskrun2.json | 105 + .../taskrun3.json | 2 +- .../taskrun4.json | 2 +- .../taskrun5.json | 0 pkg/chains/formats/slsa/v1/intotoite6.go | 27 +- pkg/chains/formats/slsa/v1/intotoite6_test.go | 94 +- .../formats/slsa/v1/pipelinerun/pipelinerun.go | 30 +- .../formats/slsa/v1/pipelinerun/provenance_test.go | 188 +- pkg/chains/formats/slsa/v1/taskrun/buildconfig.go | 8 +- .../formats/slsa/v1/taskrun/buildconfig_test.go | 10 +- .../formats/slsa/v1/taskrun/provenance_test.go | 97 +- pkg/chains/formats/slsa/v1/taskrun/taskrun.go | 14 +- .../internal/pipelinerun/pipelinerun_test.go | 6 +- .../slsa/v2alpha3/internal/taskrun/taskrun_test.go | 2 +- pkg/chains/formats/slsa/v2alpha3/slsav2_test.go | 24 +- .../v2alpha4/internal/pipelinerun/pipelinerun.go | 4 +- .../internal/pipelinerun/pipelinerun_test.go | 52 +- .../slsa/v2alpha4/internal/taskrun/taskrun.go | 8 +- .../slsa/v2alpha4/internal/taskrun/taskrun_test.go | 12 +- pkg/chains/formats/slsa/v2alpha4/slsav2_test.go | 16 +- pkg/chains/objects/objects.go | 364 +- pkg/chains/signing.go | 44 +- pkg/chains/signing/x509/x509.go | 2 +- pkg/chains/signing/x509/x509_test.go | 6 +- pkg/chains/signing_test.go | 60 - pkg/chains/storage/docdb/docdb_test.go | 6 +- pkg/chains/storage/gcs/gcs.go | 44 +- pkg/chains/storage/gcs/gcs_test.go | 1 + pkg/chains/storage/grafeas/grafeas_test.go | 59 +- pkg/chains/storage/oci/attestation.go | 5 +- pkg/chains/storage/oci/attestation_test.go | 111 - pkg/chains/storage/oci/legacy.go | 4 +- pkg/chains/storage/oci/oci_test.go | 22 +- pkg/chains/storage/oci/simple.go | 5 +- pkg/chains/storage/oci/simple_test.go | 110 - pkg/chains/storage/pubsub/pubsub_test.go | 12 +- pkg/chains/storage/tekton/tekton.go | 39 +- pkg/chains/storage/tekton/tekton_test.go | 159 +- pkg/chains/verifier.go | 12 +- pkg/config/config.go | 10 +- pkg/config/config_test.go | 87 - pkg/config/store_test.go | 102 - pkg/internal/objectloader/objectloader.go | 29 +- pkg/metrics/common.go | 45 - pkg/patch/patch.go | 51 +- pkg/patch/patch_test.go | 25 +- pkg/pipelinerunmetrics/metrics.go | 77 +- pkg/pipelinerunmetrics/metrics_test.go | 60 +- pkg/reconciler/filter.go | 19 +- pkg/reconciler/taskrun/controller.go | 2 +- pkg/reconciler/taskrun/taskrun.go | 14 - pkg/taskrunmetrics/metrics.go | 77 +- pkg/taskrunmetrics/metrics_test.go | 62 +- pkg/test/tekton/tekton.go | 27 + release/README.md | 8 + release/publish.yaml | 11 +- release/release-pipeline.yaml | 16 +- releases.md | 7 - test/clients.go | 2 +- test/{microshift_test.sh => crc_test.sh} | 26 +- test/e2e-common.sh | 6 +- test/e2e-tests.sh | 13 +- test/e2e_test.go | 108 +- test/examples_test.go | 93 +- test/test_utils.go | 53 +- test/testdata/slsa/v1/pipeline-output-image.json | 2 +- test/testdata/slsa/v1/task-output-image.json | 2 +- test/testdata/slsa/v2/task-output-image.json | 2 +- .../pipeline-with-object-type-hinting.json | 2 +- .../v2alpha4/pipeline-with-repeated-results.json | 25 +- .../v2alpha4/task-with-object-type-hinting.json | 2 +- test/testdata/spire.yaml | 41 +- vendor/cel.dev/expr/MODULE.bazel | 10 +- vendor/cel.dev/expr/eval.pb.go | Bin 15803 -> 15041 bytes .../go/.release-please-manifest-individual.json | 18 +- .../go/.release-please-manifest-submodules.json | 316 +- .../go/.release-please-manifest.json | 2 +- vendor/cloud.google.com/go/CHANGES.md | 58 - vendor/cloud.google.com/go/CONTRIBUTING.md | 29 +- vendor/cloud.google.com/go/README.md | 34 +- vendor/cloud.google.com/go/auth/CHANGES.md | 37 - vendor/cloud.google.com/go/auth/auth.go | 4 +- .../cloud.google.com/go/auth/credentials/detect.go | 3 +- .../go/auth/credentials/filetypes.go | 2 - .../go/auth/credentials/impersonate/user.go | 1 - .../go/auth/grpctransport/directpath.go | 31 +- .../go/auth/grpctransport/grpctransport.go | 5 +- .../go/auth/internal/transport/cba.go | 24 + vendor/cloud.google.com/go/civil/civil.go | 500 - .../go/compute/metadata/CHANGES.md | 14 - .../go/compute/metadata/metadata.go | 194 +- .../go/compute/metadata/syscheck.go | 4 +- .../go/compute/metadata/syscheck_linux.go | 4 +- .../go/compute/metadata/syscheck_windows.go | 3 +- vendor/cloud.google.com/go/go.work | 11 - vendor/cloud.google.com/go/go.work.sum | 17 +- vendor/cloud.google.com/go/iam/CHANGES.md | 16 - .../go/internal/.repo-metadata-full.json | 376 +- .../cloud.google.com/go/internal/fields/fields.go | 482 - vendor/cloud.google.com/go/internal/fields/fold.go | 154 - .../go/internal/protostruct/protostruct.go | 56 - .../go/kms/apiv1/autokey_admin_client.go | 4 +- .../go/kms/apiv1/autokey_client.go | 4 +- vendor/cloud.google.com/go/kms/apiv1/ekm_client.go | 4 +- vendor/cloud.google.com/go/kms/apiv1/helpers.go | 4 - .../go/kms/apiv1/key_management_client.go | 4 +- .../go/kms/apiv1/kmspb/autokey.pb.go | 9 +- .../go/kms/apiv1/kmspb/autokey_admin.pb.go | 172 +- .../go/kms/apiv1/kmspb/ekm_service.pb.go | 11 +- .../go/kms/apiv1/kmspb/resources.pb.go | 11 +- .../go/kms/apiv1/kmspb/service.pb.go | 23 +- vendor/cloud.google.com/go/kms/internal/version.go | 2 +- vendor/cloud.google.com/go/longrunning/CHANGES.md | 7 - .../go/monitoring/internal/version.go | 2 +- .../go/release-please-config-individual.json | 8 - .../go/release-please-config-yoshi-submodules.json | 24 - vendor/cloud.google.com/go/spanner/CHANGES.md | 1431 - vendor/cloud.google.com/go/spanner/README.md | 116 - .../go/spanner/admin/database/apiv1/auxiliary.go | 636 - .../admin/database/apiv1/auxiliary_go123.go | 57 - .../go/spanner/admin/database/apiv1/backup.go | 61 - .../go/spanner/admin/database/apiv1/database.go | 120 - .../admin/database/apiv1/database_admin_client.go | 4104 --- .../admin/database/apiv1/databasepb/backup.pb.go | 2282 -- .../apiv1/databasepb/backup_schedule.pb.go | 951 - .../admin/database/apiv1/databasepb/common.pb.go | 522 - .../apiv1/databasepb/spanner_database_admin.pb.go | 5025 --- .../go/spanner/admin/database/apiv1/doc.go | 84 - .../go/spanner/admin/database/apiv1/helpers.go | 106 - .../go/spanner/admin/database/apiv1/init.go | 41 - .../go/spanner/admin/database/apiv1/path_funcs.go | 49 - .../go/spanner/admin/database/apiv1/version.go | 23 - .../cloud.google.com/go/spanner/apiv1/auxiliary.go | 69 - .../go/spanner/apiv1/auxiliary_go123.go | 32 - vendor/cloud.google.com/go/spanner/apiv1/doc.go | 84 - .../cloud.google.com/go/spanner/apiv1/helpers.go | 106 - vendor/cloud.google.com/go/spanner/apiv1/info.go | 24 - .../go/spanner/apiv1/path_funcs.go | 53 - .../go/spanner/apiv1/spanner_client.go | 2321 -- .../go/spanner/apiv1/spanner_client_options.go | 25 - .../go/spanner/apiv1/spannerpb/change_stream.pb.go | 1545 - .../spanner/apiv1/spannerpb/commit_response.pb.go | 303 - .../go/spanner/apiv1/spannerpb/keys.pb.go | 445 - .../go/spanner/apiv1/spannerpb/mutation.pb.go | 452 - .../go/spanner/apiv1/spannerpb/query_plan.pb.go | 536 - .../go/spanner/apiv1/spannerpb/result_set.pb.go | 702 - .../go/spanner/apiv1/spannerpb/spanner.pb.go | 4998 --- .../go/spanner/apiv1/spannerpb/transaction.pb.go | 1098 - .../go/spanner/apiv1/spannerpb/type.pb.go | 606 - .../cloud.google.com/go/spanner/apiv1/version.go | 23 - vendor/cloud.google.com/go/spanner/batch.go | 498 - vendor/cloud.google.com/go/spanner/client.go | 1493 - vendor/cloud.google.com/go/spanner/doc.go | 357 - .../cloud.google.com/go/spanner/emulator_test.sh | 51 - vendor/cloud.google.com/go/spanner/errors.go | 243 - vendor/cloud.google.com/go/spanner/grpc_client.go | 382 - vendor/cloud.google.com/go/spanner/grpc_dp.go | 24 - .../go/spanner/internal/version.go | 18 - vendor/cloud.google.com/go/spanner/key.go | 444 - vendor/cloud.google.com/go/spanner/metrics.go | 709 - .../go/spanner/metrics_monitoring_exporter.go | 409 - vendor/cloud.google.com/go/spanner/mutation.go | 522 - vendor/cloud.google.com/go/spanner/ot_metrics.go | 271 - vendor/cloud.google.com/go/spanner/pdml.go | 170 - vendor/cloud.google.com/go/spanner/protoutils.go | 178 - vendor/cloud.google.com/go/spanner/read.go | 946 - .../go/spanner/request_id_header.go | 289 - vendor/cloud.google.com/go/spanner/retry.go | 166 - vendor/cloud.google.com/go/spanner/row.go | 589 - vendor/cloud.google.com/go/spanner/session.go | 2019 -- .../cloud.google.com/go/spanner/sessionclient.go | 467 - vendor/cloud.google.com/go/spanner/statement.go | 84 - vendor/cloud.google.com/go/spanner/stats.go | 377 - .../cloud.google.com/go/spanner/timestampbound.go | 242 - vendor/cloud.google.com/go/spanner/trace.go | 75 - vendor/cloud.google.com/go/spanner/transaction.go | 2333 -- vendor/cloud.google.com/go/spanner/value.go | 5955 ---- vendor/cloud.google.com/go/storage/CHANGES.md | 94 - vendor/cloud.google.com/go/storage/TESTING.md | 53 - vendor/cloud.google.com/go/storage/bucket.go | 14 +- vendor/cloud.google.com/go/storage/client.go | 8 +- vendor/cloud.google.com/go/storage/doc.go | 109 +- .../cloud.google.com/go/storage/emulator_test.sh | 3 +- .../go/storage/experimental/experimental.go | 16 +- vendor/cloud.google.com/go/storage/grpc_client.go | 1204 +- vendor/cloud.google.com/go/storage/grpc_reader.go | 7 +- vendor/cloud.google.com/go/storage/grpc_writer.go | 681 +- vendor/cloud.google.com/go/storage/http_client.go | 31 +- .../go/storage/internal/apiv2/doc.go | 10 +- .../go/storage/internal/apiv2/helpers.go | 4 - .../go/storage/internal/apiv2/storage_client.go | 16 +- .../storage/internal/apiv2/storagepb/storage.pb.go | 5816 ++-- .../go/storage/internal/experimental.go | 5 - .../go/storage/internal/version.go | 2 +- vendor/cloud.google.com/go/storage/invoke.go | 22 +- vendor/cloud.google.com/go/storage/option.go | 16 - vendor/cloud.google.com/go/storage/reader.go | 22 +- vendor/cloud.google.com/go/storage/storage.go | 44 +- vendor/cloud.google.com/go/storage/trace.go | 17 +- vendor/cloud.google.com/go/storage/writer.go | 34 +- .../Azure/azure-sdk-for-go/sdk/azcore/CHANGELOG.md | 19 - .../arm/internal/resource/resource_identifier.go | 34 +- .../Azure/azure-sdk-for-go/sdk/azcore/ci.yml | 2 - .../sdk/azcore/internal/exported/exported.go | 7 +- .../sdk/azcore/internal/exported/request.go | 6 +- .../sdk/azcore/internal/shared/constants.go | 2 +- .../azure-sdk-for-go/sdk/azcore/policy/policy.go | 2 +- .../sdk/azcore/runtime/policy_bearer_token.go | 18 +- .../azure-sdk-for-go/sdk/azidentity/CHANGELOG.md | 42 - .../azure-sdk-for-go/sdk/azidentity/README.md | 18 +- .../sdk/azidentity/TOKEN_CACHING.MD | 11 +- .../sdk/azidentity/TROUBLESHOOTING.md | 12 +- .../azure-sdk-for-go/sdk/azidentity/assets.json | 2 +- .../azure-sdk-for-go/sdk/azidentity/azidentity.go | 5 - .../sdk/azidentity/azure_cli_credential.go | 10 +- .../azidentity/azure_developer_cli_credential.go | 11 +- .../Azure/azure-sdk-for-go/sdk/azidentity/ci.yml | 2 +- .../sdk/azidentity/confidential_client.go | 2 +- .../sdk/azidentity/default_azure_credential.go | 164 +- .../sdk/azidentity/environment_credential.go | 17 +- .../azure-sdk-for-go/sdk/azidentity/errors.go | 2 + .../Azure/azure-sdk-for-go/sdk/azidentity/go.work | 2 +- .../sdk/azidentity/managed-identity-matrix.json | 4 +- .../sdk/azidentity/managed_identity_client.go | 437 +- .../sdk/azidentity/managed_identity_credential.go | 28 +- .../sdk/azidentity/public_client.go | 2 +- .../sdk/azidentity/test-resources-post.ps1 | 6 +- .../sdk/azidentity/username_password_credential.go | 12 +- .../azure-sdk-for-go/sdk/azidentity/version.go | 2 +- .../sdk/internal/errorinfo/errorinfo.go | 12 +- .../Azure/azure-sdk-for-go/sdk/internal/log/log.go | 2 +- .../sdk/internal/temporal/resource.go | 51 +- .../sdk/security/keyvault/azkeys/CHANGELOG.md | 18 - .../sdk/security/keyvault/azkeys/_metadata.json | 4 - .../sdk/security/keyvault/azkeys/assets.json | 2 +- .../sdk/security/keyvault/azkeys/ci.yml | 1 - .../sdk/security/keyvault/azkeys/client.go | 254 +- .../sdk/security/keyvault/azkeys/constants.go | 28 +- .../sdk/security/keyvault/azkeys/models.go | 18 - .../sdk/security/keyvault/azkeys/models_serde.go | 55 - .../sdk/security/keyvault/azkeys/options.go | 5 - .../security/keyvault/azkeys/platform-matrix.json | 8 +- .../sdk/security/keyvault/azkeys/responses.go | 6 - .../keyvault/azkeys/test-resources-post.ps1 | 33 +- .../sdk/security/keyvault/azkeys/tsp-location.yaml | 3 +- .../sdk/security/keyvault/azkeys/version.go | 2 +- .../sdk/security/keyvault/internal/CHANGELOG.md | 10 - .../security/keyvault/internal/challenge_policy.go | 3 + .../sdk/security/keyvault/internal/constants.go | 5 +- .../sdk/security/keyvault/internal/doc.go | 3 + .../security/keyvault/internal/fake_challenge.go | 36 - .../sdk/security/keyvault/internal/parse.go | 4 +- vendor/github.com/Azure/go-ansiterm/LICENSE | 21 - vendor/github.com/Azure/go-ansiterm/README.md | 12 - vendor/github.com/Azure/go-ansiterm/SECURITY.md | 41 - vendor/github.com/Azure/go-ansiterm/constants.go | 188 - vendor/github.com/Azure/go-ansiterm/context.go | 7 - .../Azure/go-ansiterm/csi_entry_state.go | 49 - .../Azure/go-ansiterm/csi_param_state.go | 38 - .../Azure/go-ansiterm/escape_intermediate_state.go | 36 - .../github.com/Azure/go-ansiterm/escape_state.go | 47 - .../github.com/Azure/go-ansiterm/event_handler.go | 90 - .../github.com/Azure/go-ansiterm/ground_state.go | 24 - .../Azure/go-ansiterm/osc_string_state.go | 23 - vendor/github.com/Azure/go-ansiterm/parser.go | 151 - .../Azure/go-ansiterm/parser_action_helpers.go | 99 - .../github.com/Azure/go-ansiterm/parser_actions.go | 119 - vendor/github.com/Azure/go-ansiterm/states.go | 71 - vendor/github.com/Azure/go-ansiterm/utilities.go | 21 - .../github.com/Azure/go-ansiterm/winterm/ansi.go | 196 - vendor/github.com/Azure/go-ansiterm/winterm/api.go | 327 - .../Azure/go-ansiterm/winterm/attr_translation.go | 100 - .../Azure/go-ansiterm/winterm/cursor_helpers.go | 101 - .../Azure/go-ansiterm/winterm/erase_helpers.go | 84 - .../Azure/go-ansiterm/winterm/scroll_helper.go | 118 - .../Azure/go-ansiterm/winterm/utilities.go | 9 - .../Azure/go-ansiterm/winterm/win_event_handler.go | 743 - .../apps/managedidentity/azure_ml.go | 28 - .../apps/managedidentity/cloud_shell.go | 37 - .../apps/managedidentity/managedidentity.go | 717 - .../apps/managedidentity/servicefabric.go | 25 - .../grpc-gcp-go/grpcgcp/README.md | 18 - .../GoogleCloudPlatform/grpc-gcp-go/grpcgcp/doc.go | 129 - .../grpc-gcp-go/grpcgcp/gcp_balancer.go | 581 - .../grpc-gcp-go/grpcgcp/gcp_interceptor.go | 130 - .../grpc-gcp-go/grpcgcp/gcp_logger.go | 98 - .../grpc-gcp-go/grpcgcp/gcp_multiendpoint.go | 408 - .../grpc-gcp-go/grpcgcp/gcp_picker.go | 276 - .../grpc-gcp-go/grpcgcp/grpc_gcp/codegen.sh | 6 - .../grpc-gcp-go/grpcgcp/grpc_gcp/grpc_gcp.pb.go | 638 - .../grpc-gcp-go/grpcgcp/grpc_gcp/grpc_gcp.proto | 129 - .../grpc-gcp-go/grpcgcp/mockgen.sh | 4 - .../grpc-gcp-go/grpcgcp/multiendpoint/endpoint.go | 54 - .../grpcgcp/multiendpoint/multiendpoint.go | 306 - .../grpc-gcp-go/grpcgcp/test_config.json | 29 - .../exporter/metric/metric.go | 40 +- .../exporter/metric/option.go | 18 +- .../exporter/metric/version.go | 2 +- vendor/github.com/IBM/sarama/.golangci.yml | 157 +- vendor/github.com/IBM/sarama/Dockerfile.kafka | 2 +- .../IBM/sarama/describe_client_quotas_request.go | 2 +- vendor/github.com/IBM/sarama/docker-compose.yml | 2 +- vendor/github.com/IBM/sarama/metrics.go | 6 +- vendor/github.com/IBM/sarama/real_decoder.go | 2 +- vendor/github.com/IBM/sarama/renovate.json | 6 - vendor/github.com/ProtonMail/go-crypto/AUTHORS | 3 + .../github.com/ProtonMail/go-crypto/CONTRIBUTORS | 3 + vendor/github.com/ProtonMail/go-crypto/LICENSE | 27 + vendor/github.com/ProtonMail/go-crypto/PATENTS | 22 + .../ProtonMail/go-crypto/bitcurves/bitcurve.go | 381 + .../ProtonMail/go-crypto/brainpool/brainpool.go | 134 + .../ProtonMail/go-crypto/brainpool/rcurve.go | 83 + vendor/github.com/ProtonMail/go-crypto/eax/eax.go | 162 + .../ProtonMail/go-crypto/eax/eax_test_vectors.go | 58 + .../ProtonMail/go-crypto/eax/random_vectors.go | 131 + .../go-crypto/internal/byteutil/byteutil.go | 90 + vendor/github.com/ProtonMail/go-crypto/ocb/ocb.go | 313 + .../ProtonMail/go-crypto/ocb/random_vectors.go | 136 + .../go-crypto/ocb/rfc7253_test_vectors_suite_a.go | 78 + .../go-crypto/ocb/rfc7253_test_vectors_suite_b.go | 25 + .../go-crypto/openpgp/aes/keywrap/keywrap.go | 153 + .../ProtonMail/go-crypto/openpgp/armor/armor.go | 183 + .../ProtonMail/go-crypto/openpgp/armor/encode.go | 206 + .../ProtonMail/go-crypto/openpgp/canonical_text.go | 71 + .../ProtonMail/go-crypto/openpgp/ecdh/ecdh.go | 206 + .../ProtonMail/go-crypto/openpgp/ecdsa/ecdsa.go | 80 + .../go-crypto/openpgp/ed25519/ed25519.go | 115 + .../ProtonMail/go-crypto/openpgp/ed448/ed448.go | 119 + .../ProtonMail/go-crypto/openpgp/eddsa/eddsa.go | 91 + .../go-crypto/openpgp/elgamal/elgamal.go | 124 + .../ProtonMail/go-crypto/openpgp/errors/errors.go | 180 + .../ProtonMail/go-crypto/openpgp/hash.go | 24 + .../go-crypto/openpgp/internal/algorithm/aead.go | 65 + .../go-crypto/openpgp/internal/algorithm/cipher.go | 97 + .../go-crypto/openpgp/internal/algorithm/hash.go | 143 + .../go-crypto/openpgp/internal/ecc/curve25519.go | 171 + .../go-crypto/openpgp/internal/ecc/curve_info.go | 143 + .../go-crypto/openpgp/internal/ecc/curves.go | 48 + .../go-crypto/openpgp/internal/ecc/ed25519.go | 120 + .../go-crypto/openpgp/internal/ecc/ed448.go | 119 + .../go-crypto/openpgp/internal/ecc/generic.go | 149 + .../go-crypto/openpgp/internal/ecc/x448.go | 107 + .../openpgp/internal/encoding/encoding.go | 27 + .../go-crypto/openpgp/internal/encoding/mpi.go | 91 + .../go-crypto/openpgp/internal/encoding/oid.go | 88 + .../ProtonMail/go-crypto/openpgp/key_generation.go | 456 + .../ProtonMail/go-crypto/openpgp/keys.go | 901 + .../ProtonMail/go-crypto/openpgp/keys_test_data.go | 538 + .../go-crypto/openpgp/packet/aead_config.go | 67 + .../go-crypto/openpgp/packet/aead_crypter.go | 250 + .../go-crypto/openpgp/packet/aead_encrypted.go | 100 + .../go-crypto/openpgp/packet/compressed.go | 161 + .../ProtonMail/go-crypto/openpgp/packet/config.go | 410 + .../go-crypto/openpgp/packet/config_v5.go | 7 + .../go-crypto/openpgp/packet/encrypted_key.go | 584 + .../ProtonMail/go-crypto/openpgp/packet/literal.go | 91 + .../ProtonMail/go-crypto/openpgp/packet/marker.go | 33 + .../go-crypto/openpgp/packet/notation.go | 29 + .../ProtonMail/go-crypto/openpgp/packet/ocfb.go | 137 + .../go-crypto/openpgp/packet/one_pass_signature.go | 157 + .../ProtonMail/go-crypto/openpgp/packet/opaque.go | 170 + .../ProtonMail/go-crypto/openpgp/packet/packet.go | 675 + .../go-crypto/openpgp/packet/packet_sequence.go | 222 + .../go-crypto/openpgp/packet/packet_unsupported.go | 24 + .../ProtonMail/go-crypto/openpgp/packet/padding.go | 26 + .../go-crypto/openpgp/packet/private_key.go | 1191 + .../openpgp/packet/private_key_test_data.go | 12 + .../go-crypto/openpgp/packet/public_key.go | 1120 + .../openpgp/packet/public_key_test_data.go | 24 + .../ProtonMail/go-crypto/openpgp/packet/reader.go | 209 + .../go-crypto/openpgp/packet/recipient.go | 15 + .../go-crypto/openpgp/packet/signature.go | 1509 + .../openpgp/packet/symmetric_key_encrypted.go | 331 + .../openpgp/packet/symmetrically_encrypted.go | 94 + .../openpgp/packet/symmetrically_encrypted_aead.go | 168 + .../openpgp/packet/symmetrically_encrypted_mdc.go | 256 + .../go-crypto/openpgp/packet/userattribute.go | 100 + .../ProtonMail/go-crypto/openpgp/packet/userid.go | 166 + .../ProtonMail/go-crypto/openpgp/read.go | 619 + .../go-crypto/openpgp/read_write_test_data.go | 457 + .../ProtonMail/go-crypto/openpgp/s2k/s2k.go | 436 + .../ProtonMail/go-crypto/openpgp/s2k/s2k_cache.go | 26 + .../ProtonMail/go-crypto/openpgp/s2k/s2k_config.go | 129 + .../ProtonMail/go-crypto/openpgp/write.go | 620 + .../ProtonMail/go-crypto/openpgp/x25519/x25519.go | 221 + .../ProtonMail/go-crypto/openpgp/x448/x448.go | 229 + vendor/github.com/antlr4-go/antlr/v4/antlrdoc.go | 8 +- vendor/github.com/antlr4-go/antlr/v4/atn.go | 8 +- vendor/github.com/antlr4-go/antlr/v4/atn_config.go | 3 + .../github.com/antlr4-go/antlr/v4/input_stream.go | 2 +- vendor/github.com/antlr4-go/antlr/v4/jcollect.go | 5 +- vendor/github.com/antlr4-go/antlr/v4/lexer.go | 2 +- .../github.com/antlr4-go/antlr/v4/ll1_analyzer.go | 1 - vendor/github.com/antlr4-go/antlr/v4/mutex.go | 41 - .../github.com/antlr4-go/antlr/v4/mutex_nomutex.go | 32 - .../antlr4-go/antlr/v4/parser_atn_simulator.go | 4 +- .../antlr4-go/antlr/v4/prediction_context.go | 60 +- vendor/github.com/antlr4-go/antlr/v4/recognizer.go | 2 +- vendor/github.com/antlr4-go/antlr/v4/statistics.go | 3 +- vendor/github.com/antlr4-go/antlr/v4/token.go | 82 +- vendor/github.com/antlr4-go/antlr/v4/utils.go | 53 - vendor/github.com/aws/aws-sdk-go-v2/aws/config.go | 12 - .../aws/aws-sdk-go-v2/aws/go_module_metadata.go | 2 +- .../aws/aws-sdk-go-v2/aws/retry/middleware.go | 2 +- .../aws/aws-sdk-go-v2/aws/signer/v4/stream.go | 2 +- .../aws/aws-sdk-go-v2/config/CHANGELOG.md | 59 - .../aws-sdk-go-v2/config/auth_scheme_preference.go | 19 - .../github.com/aws/aws-sdk-go-v2/config/config.go | 7 - .../aws/aws-sdk-go-v2/config/env_config.go | 14 - .../aws/aws-sdk-go-v2/config/go_module_metadata.go | 2 +- .../aws/aws-sdk-go-v2/config/load_options.go | 146 - .../aws/aws-sdk-go-v2/config/provider.go | 31 - .../github.com/aws/aws-sdk-go-v2/config/resolve.go | 31 - .../aws/aws-sdk-go-v2/config/shared_config.go | 16 - .../aws/aws-sdk-go-v2/credentials/CHANGELOG.md | 58 - .../credentials/go_module_metadata.go | 2 +- .../aws-sdk-go-v2/feature/ec2/imds/CHANGELOG.md | 38 - .../aws-sdk-go-v2/feature/ec2/imds/api_client.go | 8 +- .../feature/ec2/imds/go_module_metadata.go | 2 +- .../internal/configsources/CHANGELOG.md | 34 - .../internal/configsources/go_module_metadata.go | 2 +- .../internal/endpoints/awsrulesfn/partitions.go | 134 +- .../internal/endpoints/awsrulesfn/partitions.json | 70 +- .../internal/endpoints/v2/CHANGELOG.md | 34 - .../internal/endpoints/v2/go_module_metadata.go | 2 +- .../aws/aws-sdk-go-v2/service/ecr/CHANGELOG.md | 55 - .../aws/aws-sdk-go-v2/service/ecr/api_client.go | 31 - .../ecr/api_op_BatchCheckLayerAvailability.go | 3 - .../service/ecr/api_op_BatchDeleteImage.go | 3 - .../service/ecr/api_op_BatchGetImage.go | 3 - ...i_op_BatchGetRepositoryScanningConfiguration.go | 3 - .../service/ecr/api_op_CompleteLayerUpload.go | 3 - .../ecr/api_op_CreatePullThroughCacheRule.go | 38 +- .../service/ecr/api_op_CreateRepository.go | 3 - .../ecr/api_op_CreateRepositoryCreationTemplate.go | 3 - .../service/ecr/api_op_DeleteLifecyclePolicy.go | 3 - .../ecr/api_op_DeletePullThroughCacheRule.go | 9 - .../service/ecr/api_op_DeleteRegistryPolicy.go | 3 - .../service/ecr/api_op_DeleteRepository.go | 3 - .../ecr/api_op_DeleteRepositoryCreationTemplate.go | 3 - .../service/ecr/api_op_DeleteRepositoryPolicy.go | 3 - .../ecr/api_op_DescribeImageReplicationStatus.go | 3 - .../ecr/api_op_DescribeImageScanFindings.go | 3 - .../service/ecr/api_op_DescribeImages.go | 15 +- .../ecr/api_op_DescribePullThroughCacheRules.go | 3 - .../service/ecr/api_op_DescribeRegistry.go | 3 - .../service/ecr/api_op_DescribeRepositories.go | 3 - .../api_op_DescribeRepositoryCreationTemplates.go | 3 - .../service/ecr/api_op_GetAccountSetting.go | 3 - .../service/ecr/api_op_GetAuthorizationToken.go | 6 - .../service/ecr/api_op_GetDownloadUrlForLayer.go | 3 - .../service/ecr/api_op_GetLifecyclePolicy.go | 3 - .../ecr/api_op_GetLifecyclePolicyPreview.go | 11 +- .../service/ecr/api_op_GetRegistryPolicy.go | 3 - .../ecr/api_op_GetRegistryScanningConfiguration.go | 3 - .../service/ecr/api_op_GetRepositoryPolicy.go | 3 - .../service/ecr/api_op_InitiateLayerUpload.go | 3 - .../aws-sdk-go-v2/service/ecr/api_op_ListImages.go | 3 - .../service/ecr/api_op_ListTagsForResource.go | 3 - .../service/ecr/api_op_PutAccountSetting.go | 3 - .../aws-sdk-go-v2/service/ecr/api_op_PutImage.go | 3 - .../ecr/api_op_PutImageScanningConfiguration.go | 3 - .../service/ecr/api_op_PutImageTagMutability.go | 3 - .../service/ecr/api_op_PutLifecyclePolicy.go | 3 - .../service/ecr/api_op_PutRegistryPolicy.go | 3 - .../ecr/api_op_PutRegistryScanningConfiguration.go | 3 - .../ecr/api_op_PutReplicationConfiguration.go | 3 - .../service/ecr/api_op_SetRepositoryPolicy.go | 3 - .../service/ecr/api_op_StartImageScan.go | 16 +- .../ecr/api_op_StartLifecyclePolicyPreview.go | 3 - .../service/ecr/api_op_TagResource.go | 3 - .../service/ecr/api_op_UntagResource.go | 3 - .../ecr/api_op_UpdatePullThroughCacheRule.go | 24 +- .../ecr/api_op_UpdateRepositoryCreationTemplate.go | 3 - .../service/ecr/api_op_UploadLayerPart.go | 3 - .../ecr/api_op_ValidatePullThroughCacheRule.go | 9 - .../aws/aws-sdk-go-v2/service/ecr/deserializers.go | 119 - .../aws/aws-sdk-go-v2/service/ecr/endpoints.go | 95 - .../aws/aws-sdk-go-v2/service/ecr/generated.json | 3 +- .../service/ecr/go_module_metadata.go | 2 +- .../service/ecr/internal/endpoints/endpoints.go | 36 - .../aws/aws-sdk-go-v2/service/ecr/serializers.go | 15 - .../aws/aws-sdk-go-v2/service/ecr/types/enums.go | 4 - .../aws/aws-sdk-go-v2/service/ecr/types/types.go | 20 +- .../aws/aws-sdk-go-v2/service/ecr/validators.go | 3 + .../aws-sdk-go-v2/service/ecrpublic/CHANGELOG.md | 31 - .../aws-sdk-go-v2/service/ecrpublic/api_client.go | 31 - .../api_op_BatchCheckLayerAvailability.go | 3 - .../service/ecrpublic/api_op_BatchDeleteImage.go | 3 - .../ecrpublic/api_op_CompleteLayerUpload.go | 3 - .../service/ecrpublic/api_op_CreateRepository.go | 3 - .../service/ecrpublic/api_op_DeleteRepository.go | 3 - .../ecrpublic/api_op_DeleteRepositoryPolicy.go | 3 - .../service/ecrpublic/api_op_DescribeImageTags.go | 3 - .../service/ecrpublic/api_op_DescribeImages.go | 3 - .../service/ecrpublic/api_op_DescribeRegistries.go | 3 - .../ecrpublic/api_op_DescribeRepositories.go | 3 - .../ecrpublic/api_op_GetAuthorizationToken.go | 3 - .../ecrpublic/api_op_GetRegistryCatalogData.go | 3 - .../ecrpublic/api_op_GetRepositoryCatalogData.go | 3 - .../ecrpublic/api_op_GetRepositoryPolicy.go | 3 - .../ecrpublic/api_op_InitiateLayerUpload.go | 3 - .../ecrpublic/api_op_ListTagsForResource.go | 3 - .../service/ecrpublic/api_op_PutImage.go | 3 - .../ecrpublic/api_op_PutRegistryCatalogData.go | 3 - .../ecrpublic/api_op_PutRepositoryCatalogData.go | 3 - .../ecrpublic/api_op_SetRepositoryPolicy.go | 3 - .../service/ecrpublic/api_op_TagResource.go | 3 - .../service/ecrpublic/api_op_UntagResource.go | 3 - .../service/ecrpublic/api_op_UploadLayerPart.go | 3 - .../aws-sdk-go-v2/service/ecrpublic/endpoints.go | 19 - .../aws-sdk-go-v2/service/ecrpublic/generated.json | 3 +- .../service/ecrpublic/go_module_metadata.go | 2 +- .../ecrpublic/internal/endpoints/endpoints.go | 23 - .../service/internal/accept-encoding/CHANGELOG.md | 8 - .../internal/accept-encoding/go_module_metadata.go | 2 +- .../service/internal/presigned-url/CHANGELOG.md | 34 - .../internal/presigned-url/go_module_metadata.go | 2 +- .../aws/aws-sdk-go-v2/service/kms/CHANGELOG.md | 68 - .../aws/aws-sdk-go-v2/service/kms/api_client.go | 96 +- .../service/kms/api_op_CancelKeyDeletion.go | 32 +- .../service/kms/api_op_ConnectCustomKeyStore.go | 43 +- .../service/kms/api_op_CreateAlias.go | 48 +- .../service/kms/api_op_CreateCustomKeyStore.go | 48 +- .../service/kms/api_op_CreateGrant.go | 50 +- .../aws-sdk-go-v2/service/kms/api_op_CreateKey.go | 131 +- .../aws-sdk-go-v2/service/kms/api_op_Decrypt.go | 61 +- .../service/kms/api_op_DeleteAlias.go | 32 +- .../service/kms/api_op_DeleteCustomKeyStore.go | 43 +- .../kms/api_op_DeleteImportedKeyMaterial.go | 51 +- .../service/kms/api_op_DeriveSharedSecret.go | 38 +- .../service/kms/api_op_DescribeCustomKeyStores.go | 40 +- .../service/kms/api_op_DescribeKey.go | 46 +- .../aws-sdk-go-v2/service/kms/api_op_DisableKey.go | 40 +- .../service/kms/api_op_DisableKeyRotation.go | 46 +- .../service/kms/api_op_DisconnectCustomKeyStore.go | 43 +- .../aws-sdk-go-v2/service/kms/api_op_EnableKey.go | 34 +- .../service/kms/api_op_EnableKeyRotation.go | 56 +- .../aws-sdk-go-v2/service/kms/api_op_Encrypt.go | 44 +- .../service/kms/api_op_GenerateDataKey.go | 46 +- .../service/kms/api_op_GenerateDataKeyPair.go | 54 +- .../api_op_GenerateDataKeyPairWithoutPlaintext.go | 54 +- .../kms/api_op_GenerateDataKeyWithoutPlaintext.go | 45 +- .../service/kms/api_op_GenerateMac.go | 38 +- .../service/kms/api_op_GenerateRandom.go | 37 +- .../service/kms/api_op_GetKeyPolicy.go | 32 +- .../service/kms/api_op_GetKeyRotationStatus.go | 59 +- .../service/kms/api_op_GetParametersForImport.go | 43 +- .../service/kms/api_op_GetPublicKey.go | 41 +- .../service/kms/api_op_ImportKeyMaterial.go | 152 +- .../service/kms/api_op_ListAliases.go | 36 +- .../aws-sdk-go-v2/service/kms/api_op_ListGrants.go | 38 +- .../service/kms/api_op_ListKeyPolicies.go | 32 +- .../service/kms/api_op_ListKeyRotations.go | 58 +- .../aws-sdk-go-v2/service/kms/api_op_ListKeys.go | 32 +- .../service/kms/api_op_ListResourceTags.go | 36 +- .../service/kms/api_op_ListRetirableGrants.go | 38 +- .../service/kms/api_op_PutKeyPolicy.go | 49 +- .../aws-sdk-go-v2/service/kms/api_op_ReEncrypt.go | 57 +- .../service/kms/api_op_ReplicateKey.go | 65 +- .../service/kms/api_op_RetireGrant.go | 47 +- .../service/kms/api_op_RevokeGrant.go | 44 +- .../service/kms/api_op_RotateKeyOnDemand.go | 68 +- .../service/kms/api_op_ScheduleKeyDeletion.go | 41 +- .../aws/aws-sdk-go-v2/service/kms/api_op_Sign.go | 74 +- .../service/kms/api_op_TagResource.go | 42 +- .../service/kms/api_op_UntagResource.go | 34 +- .../service/kms/api_op_UpdateAlias.go | 36 +- .../service/kms/api_op_UpdateCustomKeyStore.go | 39 +- .../service/kms/api_op_UpdateKeyDescription.go | 32 +- .../service/kms/api_op_UpdatePrimaryRegion.go | 36 +- .../aws/aws-sdk-go-v2/service/kms/api_op_Verify.go | 64 +- .../aws-sdk-go-v2/service/kms/api_op_VerifyMac.go | 38 +- .../aws/aws-sdk-go-v2/service/kms/auth.go | 28 +- .../aws/aws-sdk-go-v2/service/kms/deserializers.go | 237 +- .../aws/aws-sdk-go-v2/service/kms/doc.go | 28 +- .../service/kms/go_module_metadata.go | 2 +- .../service/kms/internal/endpoints/endpoints.go | 55 - .../aws/aws-sdk-go-v2/service/kms/options.go | 7 - .../aws/aws-sdk-go-v2/service/kms/serializers.go | 25 - .../aws/aws-sdk-go-v2/service/kms/types/enums.go | 92 +- .../aws/aws-sdk-go-v2/service/kms/types/errors.go | 9 +- .../aws/aws-sdk-go-v2/service/kms/types/types.go | 93 +- .../aws/aws-sdk-go-v2/service/sso/CHANGELOG.md | 44 - .../aws/aws-sdk-go-v2/service/sso/api_client.go | 96 +- .../service/sso/api_op_GetRoleCredentials.go | 30 - .../service/sso/api_op_ListAccountRoles.go | 30 - .../service/sso/api_op_ListAccounts.go | 30 - .../aws/aws-sdk-go-v2/service/sso/api_op_Logout.go | 30 - .../aws/aws-sdk-go-v2/service/sso/auth.go | 28 +- .../aws/aws-sdk-go-v2/service/sso/deserializers.go | 10 + .../service/sso/go_module_metadata.go | 2 +- .../service/sso/internal/endpoints/endpoints.go | 23 - .../aws/aws-sdk-go-v2/service/sso/options.go | 7 - .../aws/aws-sdk-go-v2/service/ssooidc/CHANGELOG.md | 48 - .../aws-sdk-go-v2/service/ssooidc/api_client.go | 96 +- .../service/ssooidc/api_op_CreateToken.go | 30 - .../service/ssooidc/api_op_CreateTokenWithIAM.go | 30 - .../service/ssooidc/api_op_RegisterClient.go | 30 - .../ssooidc/api_op_StartDeviceAuthorization.go | 30 - .../aws/aws-sdk-go-v2/service/ssooidc/auth.go | 28 +- .../aws-sdk-go-v2/service/ssooidc/deserializers.go | 10 + .../service/ssooidc/go_module_metadata.go | 2 +- .../ssooidc/internal/endpoints/endpoints.go | 23 - .../aws/aws-sdk-go-v2/service/ssooidc/options.go | 7 - .../aws/aws-sdk-go-v2/service/sts/CHANGELOG.md | 54 - .../aws/aws-sdk-go-v2/service/sts/api_client.go | 96 +- .../aws-sdk-go-v2/service/sts/api_op_AssumeRole.go | 30 - .../service/sts/api_op_AssumeRoleWithSAML.go | 30 - .../sts/api_op_AssumeRoleWithWebIdentity.go | 30 - .../aws-sdk-go-v2/service/sts/api_op_AssumeRoot.go | 30 - .../sts/api_op_DecodeAuthorizationMessage.go | 30 - .../service/sts/api_op_GetAccessKeyInfo.go | 30 - .../service/sts/api_op_GetCallerIdentity.go | 30 - .../service/sts/api_op_GetFederationToken.go | 30 - .../service/sts/api_op_GetSessionToken.go | 30 - .../aws/aws-sdk-go-v2/service/sts/auth.go | 28 +- .../aws/aws-sdk-go-v2/service/sts/deserializers.go | 9 + .../service/sts/go_module_metadata.go | 2 +- .../service/sts/internal/endpoints/endpoints.go | 31 - .../aws/aws-sdk-go-v2/service/sts/options.go | 7 - .../aws/aws-sdk-go/aws/auth/bearer/token.go | 5 +- .../github.com/aws/aws-sdk-go/aws/awserr/error.go | 83 +- .../github.com/aws/aws-sdk-go/aws/awsutil/doc.go | 3 - .../github.com/aws/aws-sdk-go/aws/client/client.go | 2 - .../aws-sdk-go/aws/client/metadata/client_info.go | 2 - .../aws/aws-sdk-go/aws/corehandlers/handlers.go | 2 - .../aws/aws-sdk-go/aws/credentials/credentials.go | 52 +- vendor/github.com/aws/aws-sdk-go/aws/crr/doc.go | 3 - vendor/github.com/aws/aws-sdk-go/aws/csm/doc.go | 61 +- .../aws/aws-sdk-go/aws/defaults/defaults.go | 3 - vendor/github.com/aws/aws-sdk-go/aws/doc.go | 35 +- .../aws/aws-sdk-go/aws/ec2metadata/service.go | 3 - .../github.com/aws/aws-sdk-go/aws/endpoints/doc.go | 3 - .../github.com/aws/aws-sdk-go/aws/request/doc.go | 3 - .../github.com/aws/aws-sdk-go/aws/session/doc.go | 731 +- .../github.com/aws/aws-sdk-go/aws/signer/v4/v4.go | 3 - vendor/github.com/aws/aws-sdk-go/aws/version.go | 2 +- .../aws/aws-sdk-go/service/dynamodb/doc.go | 3 - .../service/dynamodb/dynamodbattribute/doc.go | 3 - .../aws-sdk-go/service/dynamodb/expression/doc.go | 95 +- .../github.com/aws/aws-sdk-go/service/sso/doc.go | 3 - .../aws/aws-sdk-go/service/ssooidc/doc.go | 3 - .../github.com/aws/aws-sdk-go/service/sts/doc.go | 3 - vendor/github.com/aws/smithy-go/CHANGELOG.md | 24 +- vendor/github.com/aws/smithy-go/Makefile | 20 +- vendor/github.com/aws/smithy-go/README.md | 4 +- .../github.com/aws/smithy-go/endpoints/endpoint.go | 2 +- .../github.com/aws/smithy-go/go_module_metadata.go | 2 +- vendor/github.com/aws/smithy-go/modman.toml | 1 + .../aws/smithy-go/transport/http/interceptor.go | 321 - .../transport/http/interceptor_middleware.go | 325 - .../ecr-login/api/client.go | 2 +- .../ecr-login/config/log.go | 2 +- vendor/github.com/buildkite/agent/v3/api/agents.go | 57 +- vendor/github.com/buildkite/agent/v3/api/chunks.go | 4 +- vendor/github.com/buildkite/agent/v3/api/client.go | 133 +- vendor/github.com/buildkite/agent/v3/api/jobs.go | 29 +- vendor/github.com/buildkite/agent/v3/api/pings.go | 12 +- .../buildkite/agent/v3/internal/agenthttp/auth.go | 2 +- .../buildkite/agent/v3/internal/agenthttp/do.go | 11 +- vendor/github.com/buildkite/agent/v3/logger/log.go | 9 +- .../github.com/buildkite/agent/v3/version/VERSION | 2 +- .../buildkite/agent/v3/version/version.go | 4 + vendor/github.com/buildkite/go-pipeline/parser.go | 44 - .../buildkite/go-pipeline/step_command_matrix.go | 10 +- vendor/github.com/buildkite/roko/README.md | 2 + vendor/github.com/buildkite/roko/retrier.go | 18 +- vendor/github.com/cenkalti/backoff/v5/.gitignore | 25 - vendor/github.com/cenkalti/backoff/v5/CHANGELOG.md | 29 - vendor/github.com/cenkalti/backoff/v5/LICENSE | 20 - vendor/github.com/cenkalti/backoff/v5/README.md | 31 - vendor/github.com/cenkalti/backoff/v5/backoff.go | 66 - vendor/github.com/cenkalti/backoff/v5/error.go | 46 - .../github.com/cenkalti/backoff/v5/exponential.go | 118 - vendor/github.com/cenkalti/backoff/v5/retry.go | 139 - vendor/github.com/cenkalti/backoff/v5/ticker.go | 83 - vendor/github.com/cenkalti/backoff/v5/timer.go | 35 - vendor/github.com/cloudevents/sdk-go/v2/alias.go | 1 - .../cloudevents/sdk-go/v2/client/client.go | 13 +- .../cloudevents/sdk-go/v2/event/content_type.go | 12 - .../cloudevents/sdk-go/v2/event/datacodec/codec.go | 59 - .../cloudevents/sdk-go/v2/event/event_marshal.go | 19 +- .../cloudevents/sdk-go/v2/event/event_unmarshal.go | 17 +- .../sdk-go/v2/event/eventcontext_v03.go | 2 +- .../cloudevents/sdk-go/v2/event/eventcontext_v1.go | 2 +- .../cloudevents/sdk-go/v2/event/extensions.go | 2 +- .../cloudevents/sdk-go/v2/protocol/doc.go | 2 +- .../cloudevents/sdk-go/v2/protocol/http/options.go | 52 - .../sdk-go/v2/protocol/http/protocol.go | 25 +- .../sdk-go/v2/protocol/http/protocol_lifecycle.go | 4 +- vendor/github.com/cloudflare/circl/LICENSE | 57 + .../github.com/cloudflare/circl/dh/x25519/curve.go | 96 + .../cloudflare/circl/dh/x25519/curve_amd64.go | 30 + .../cloudflare/circl/dh/x25519/curve_amd64.h | 111 + .../cloudflare/circl/dh/x25519/curve_amd64.s | 156 + .../cloudflare/circl/dh/x25519/curve_generic.go | 85 + .../cloudflare/circl/dh/x25519/curve_noasm.go | 11 + .../github.com/cloudflare/circl/dh/x25519/doc.go | 19 + .../github.com/cloudflare/circl/dh/x25519/key.go | 47 + .../github.com/cloudflare/circl/dh/x25519/table.go | 268 + .../github.com/cloudflare/circl/dh/x448/curve.go | 104 + .../cloudflare/circl/dh/x448/curve_amd64.go | 30 + .../cloudflare/circl/dh/x448/curve_amd64.h | 111 + .../cloudflare/circl/dh/x448/curve_amd64.s | 193 + .../cloudflare/circl/dh/x448/curve_generic.go | 100 + .../cloudflare/circl/dh/x448/curve_noasm.go | 11 + vendor/github.com/cloudflare/circl/dh/x448/doc.go | 19 + vendor/github.com/cloudflare/circl/dh/x448/key.go | 46 + .../github.com/cloudflare/circl/dh/x448/table.go | 460 + .../cloudflare/circl/ecc/goldilocks/constants.go | 71 + .../cloudflare/circl/ecc/goldilocks/curve.go | 80 + .../cloudflare/circl/ecc/goldilocks/isogeny.go | 52 + .../cloudflare/circl/ecc/goldilocks/point.go | 171 + .../cloudflare/circl/ecc/goldilocks/scalar.go | 203 + .../cloudflare/circl/ecc/goldilocks/twist.go | 138 + .../cloudflare/circl/ecc/goldilocks/twistPoint.go | 135 + .../cloudflare/circl/ecc/goldilocks/twistTables.go | 216 + .../circl/ecc/goldilocks/twist_basemult.go | 62 + .../cloudflare/circl/internal/conv/conv.go | 140 + .../cloudflare/circl/internal/sha3/doc.go | 62 + .../cloudflare/circl/internal/sha3/hashes.go | 69 + .../cloudflare/circl/internal/sha3/keccakf.go | 391 + .../cloudflare/circl/internal/sha3/rc.go | 29 + .../cloudflare/circl/internal/sha3/sha3.go | 200 + .../cloudflare/circl/internal/sha3/sha3_s390x.s | 33 + .../cloudflare/circl/internal/sha3/shake.go | 119 + .../cloudflare/circl/internal/sha3/xor.go | 15 + .../cloudflare/circl/internal/sha3/xor_generic.go | 33 + .../circl/internal/sha3/xor_unaligned.go | 61 + .../github.com/cloudflare/circl/math/fp25519/fp.go | 205 + .../cloudflare/circl/math/fp25519/fp_amd64.go | 45 + .../cloudflare/circl/math/fp25519/fp_amd64.h | 351 + .../cloudflare/circl/math/fp25519/fp_amd64.s | 111 + .../cloudflare/circl/math/fp25519/fp_generic.go | 317 + .../cloudflare/circl/math/fp25519/fp_noasm.go | 13 + .../github.com/cloudflare/circl/math/fp448/fp.go | 164 + .../cloudflare/circl/math/fp448/fp_amd64.go | 43 + .../cloudflare/circl/math/fp448/fp_amd64.h | 591 + .../cloudflare/circl/math/fp448/fp_amd64.s | 74 + .../cloudflare/circl/math/fp448/fp_generic.go | 339 + .../cloudflare/circl/math/fp448/fp_noasm.go | 12 + .../cloudflare/circl/math/fp448/fuzzer.go | 75 + .../cloudflare/circl/math/mlsbset/mlsbset.go | 122 + .../cloudflare/circl/math/mlsbset/power.go | 64 + vendor/github.com/cloudflare/circl/math/primes.go | 34 + vendor/github.com/cloudflare/circl/math/wnaf.go | 84 + .../cloudflare/circl/sign/ed25519/ed25519.go | 453 + .../cloudflare/circl/sign/ed25519/modular.go | 175 + .../cloudflare/circl/sign/ed25519/mult.go | 180 + .../cloudflare/circl/sign/ed25519/point.go | 195 + .../cloudflare/circl/sign/ed25519/pubkey.go | 9 + .../cloudflare/circl/sign/ed25519/pubkey112.go | 7 + .../cloudflare/circl/sign/ed25519/signapi.go | 87 + .../cloudflare/circl/sign/ed25519/tables.go | 213 + .../cloudflare/circl/sign/ed448/ed448.go | 411 + .../cloudflare/circl/sign/ed448/signapi.go | 87 + vendor/github.com/cloudflare/circl/sign/sign.go | 110 + .../cncf/xds/go/xds/type/matcher/v3/matcher.pb.go | 221 +- .../go/xds/type/matcher/v3/matcher.pb.validate.go | 2 - vendor/github.com/docker/cli/AUTHORS | 31 +- vendor/github.com/docker/cli/cli/config/config.go | 9 +- .../docker/cli/cli/config/configfile/file.go | 17 +- .../cli/cli/config/credentials/file_store.go | 36 +- .../docker-credential-helpers/client/command.go | 25 +- .../github.com/emicklei/go-restful/v3/CHANGES.md | 5 +- vendor/github.com/emicklei/go-restful/v3/README.md | 2 +- vendor/github.com/emicklei/go-restful/v3/jsr311.go | 19 +- vendor/github.com/emicklei/go-restful/v3/route.go | 2 - vendor/github.com/fxamacker/cbor/v2/README.md | 607 +- vendor/github.com/fxamacker/cbor/v2/bytestring.go | 27 - vendor/github.com/fxamacker/cbor/v2/cache.go | 25 +- vendor/github.com/fxamacker/cbor/v2/common.go | 9 - vendor/github.com/fxamacker/cbor/v2/decode.go | 425 +- vendor/github.com/fxamacker/cbor/v2/doc.go | 51 +- vendor/github.com/fxamacker/cbor/v2/encode.go | 442 +- vendor/github.com/fxamacker/cbor/v2/encode_map.go | 10 +- .../fxamacker/cbor/v2/encode_map_go117.go | 60 + .../github.com/fxamacker/cbor/v2/omitzero_go124.go | 8 - .../fxamacker/cbor/v2/omitzero_pre_go124.go | 8 - vendor/github.com/fxamacker/cbor/v2/simplevalue.go | 29 - vendor/github.com/fxamacker/cbor/v2/stream.go | 4 +- .../github.com/fxamacker/cbor/v2/structfields.go | 18 +- vendor/github.com/fxamacker/cbor/v2/tag.go | 48 +- vendor/github.com/go-chi/chi/{v5 => }/.gitignore | 0 vendor/github.com/go-chi/chi/.travis.yml | 20 + vendor/github.com/go-chi/chi/{v5 => }/CHANGELOG.md | 157 +- .../github.com/go-chi/chi/{v5 => }/CONTRIBUTING.md | 12 +- vendor/github.com/go-chi/chi/{v5 => }/LICENSE | 0 vendor/github.com/go-chi/chi/{v5 => }/README.md | 180 +- vendor/github.com/go-chi/chi/{v5 => }/chain.go | 6 +- vendor/github.com/go-chi/chi/{v5 => }/chi.go | 51 +- vendor/github.com/go-chi/chi/{v5 => }/context.go | 82 +- .../go-chi/ https://github.com/tektoncd/chains/compare/0c9284f740d672930274efbe75033df55dc78515..ab93ad44dcfeb860b6648a91328acd218a71dfab
1 parent bfcb80b commit 1c154f7

File tree

3,722 files changed

+368233
-156082
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

3,722 files changed

+368233
-156082
lines changed

head

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
ab93ad44dcfeb860b6648a91328acd218a71dfab
1+
0c9284f740d672930274efbe75033df55dc78515

upstream/.github/workflows/codeql.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,11 @@ jobs:
4040

4141
steps:
4242
- name: Checkout repository
43-
uses: actions/checkout@v4
43+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
4444

4545
# Initializes the CodeQL tools for scanning.
4646
- name: Initialize CodeQL
47-
uses: github/codeql-action/init@v3
47+
uses: github/codeql-action/init@a8d1ac45b9a34d11fe398d5503176af0d06b303e # v3.30.7
4848
with:
4949
languages: ${{ matrix.language }}
5050
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -58,7 +58,7 @@ jobs:
5858
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
5959
# If this step fails, then you should remove it and run the build manually (see below)
6060
- name: Autobuild
61-
uses: github/codeql-action/autobuild@v3
61+
uses: github/codeql-action/autobuild@a8d1ac45b9a34d11fe398d5503176af0d06b303e # v3.30.7
6262

6363
# ℹ️ Command-line programs to run using the OS shell.
6464
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
@@ -71,6 +71,6 @@ jobs:
7171
# ./location_of_script_within_repo/buildscript.sh
7272

7373
- name: Perform CodeQL Analysis
74-
uses: github/codeql-action/analyze@v3
74+
uses: github/codeql-action/analyze@a8d1ac45b9a34d11fe398d5503176af0d06b303e # v3.30.7
7575
with:
7676
category: "/language:${{matrix.language}}"
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: Go coverage
2+
3+
permissions:
4+
contents: read
5+
6+
on:
7+
pull_request:
8+
branches: ["main"]
9+
push:
10+
branches: ["main"]
11+
# run at least once every 2 months to prevent the coverage artifact from expiring
12+
schedule:
13+
- cron: '14 3 1 */2 *'
14+
workflow_dispatch:
15+
16+
concurrency:
17+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
18+
cancel-in-progress: true
19+
20+
defaults:
21+
run:
22+
shell: bash
23+
24+
jobs:
25+
go-coverage:
26+
name: Go coverage
27+
runs-on: ubuntu-24.04
28+
permissions:
29+
pull-requests: write
30+
31+
steps:
32+
- name: Harden runner
33+
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
34+
with:
35+
egress-policy: audit
36+
37+
- name: Checkout
38+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
39+
with:
40+
path: ${{ github.workspace }}/src/github.com/tektoncd/chains
41+
42+
- name: Set up Go
43+
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
44+
with:
45+
go-version-file: "${{ github.workspace }}/src/github.com/tektoncd/chains/go.mod"
46+
47+
- name: Generate coverage
48+
working-directory: ${{ github.workspace }}/src/github.com/tektoncd/chains
49+
run: |
50+
go test -cover -coverprofile=coverage.txt ./... || true
51+
echo "Generated coverage profile"
52+
53+
- name: Archive coverage results
54+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
55+
with:
56+
name: code-coverage
57+
path: ${{ github.workspace }}/src/github.com/tektoncd/chains/coverage.txt
58+
59+
- name: Comment on PR
60+
if: github.event_name == 'pull_request'
61+
uses: fgrosse/go-coverage-report@8c1d1a09864211d258937b1b1a5b849f7e4f2682 # v1.2.0
62+
continue-on-error: true # This may fail if artifact on main branch does not exist (first run or expired)
63+
with:
64+
coverage-artifact-name: "code-coverage"
65+
coverage-file-name: "coverage.txt"

upstream/.github/workflows/kind-e2e.yaml

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ on:
66
- main
77
- release-*
88

9+
concurrency:
10+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
11+
cancel-in-progress: true
12+
913
defaults:
1014
run:
1115
shell: bash
@@ -17,26 +21,26 @@ jobs:
1721
fail-fast: false # Keep running if one leg fails.
1822
matrix:
1923
# Keep in sync with the list of supported releases: https://kubernetes.io/releases/
20-
# TODO: add 1.31.x once it is added in https://github.com/sigstore/scaffolding/releases
24+
# Add latest k8s-version once it is added in https://github.com/sigstore/scaffolding/releases
2125
k8s-version:
22-
- v1.28.x
23-
- v1.29.x
24-
- v1.30.x
26+
- v1.31.x
27+
- v1.32.x
28+
- v1.33.x
2529
uses: ./.github/workflows/reusable-e2e.yaml
2630
with:
2731
k8s-version: ${{ matrix.k8s-version }}
28-
pipelines-release: v0.50.1
32+
pipelines-release: v1.2.0 # Latest version
2933
pipelines-lts:
3034
strategy:
3135
fail-fast: false # Keep running if one leg fails.
3236
matrix:
3337
pipelines-release:
34-
# This should follow the list of versions from https://github.com/tektoncd/pipeline/blob/main/releases.md#release
35-
- v0.53.5 # LTS
36-
- v0.56.3 # LTS
37-
- v0.59.2 # LTS
38-
- v0.62.0
38+
# This should follow the list of versions from https://github.com/tektoncd/pipeline/blob/main/releases.md#release
39+
- v0.62.9 # LTS
40+
- v0.65.7 # LTS
41+
- v0.68.1 # LTS
42+
- v1.0.0 # LTS
3943
uses: ./.github/workflows/reusable-e2e.yaml
4044
with:
41-
k8s-version: v1.28.x
45+
k8s-version: v1.30.x # intersection of the latest version and scaffolding
4246
pipelines-release: ${{ matrix.pipelines-release }}

upstream/.github/workflows/lint.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@ jobs:
2424
steps:
2525
- uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
2626
with:
27-
go-version: "1.22"
27+
go-version: "1.23"
2828

2929
- uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.7
3030

3131
- name: golangci-lint
32-
uses: golangci/golangci-lint-action@v6.2.0
32+
uses: golangci/golangci-lint-action@4afd733a84b1f43292c63897423277bb7f4313a9 # v8.0.0
3333
with:
3434
# Optional: version of golangci-lint to use in form of v1.2 or v1.2.3 or `latest` to use the latest version
3535
version: latest

upstream/.github/workflows/reusable-e2e.yaml

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -27,35 +27,29 @@ jobs:
2727
GOFLAGS: -ldflags=-s -ldflags=-w
2828
KO_DOCKER_REPO: registry.local:5000/knative
2929
KOCACHE: ~/ko
30-
SIGSTORE_SCAFFOLDING_RELEASE_VERSION: "v0.7.12"
30+
SIGSTORE_SCAFFOLDING_RELEASE_VERSION: "v0.7.24"
3131
TEKTON_PIPELINES_RELEASE: "https://storage.googleapis.com/tekton-releases/pipeline/previous/${{ inputs.pipelines-release }}/release.yaml"
3232
# Note that we do not include the v prefix here so we can use it in all
3333
# the places this is used.
34-
TEKTON_CLI_RELEASE: "0.30.0"
34+
SKIP_INITIALIZE: true
3535

3636
steps:
3737
- name: Set up Go
3838
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
3939
with:
4040
go-version: 1.22.x
4141

42-
- uses: ko-build/[email protected]
42+
- uses: ko-build/setup-ko@d006021bd0c28d1ce33a07e7943d48b079944c8d # v0.9
4343
with:
4444
version: tip
4545

46-
- name: Install tkn cli
47-
run: |
48-
curl -Lo ./tkn_${{ env.TEKTON_CLI_RELEASE }}_Linux_x86_64.tar.gz https://github.com/tektoncd/cli/releases/download/v${{ env.TEKTON_CLI_RELEASE }}/tkn_${{ env.TEKTON_CLI_RELEASE }}_Linux_x86_64.tar.gz
49-
tar xvzf ./tkn_${{ env.TEKTON_CLI_RELEASE }}_Linux_x86_64.tar.gz tkn
50-
chmod u+x ./tkn
51-
5246
- name: Check out our repo
5347
uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.7
5448
with:
5549
path: ./src/github.com/tektoncd/chains
5650

5751
- name: Install mirror, kind, knative + sigstore
58-
uses: sigstore/scaffolding/actions/setup@main
52+
uses: sigstore/scaffolding/actions/setup@d40cf576f588d980142f0b8462c425d7b32f00b1 # v0.7.25
5953
with:
6054
k8s-version: ${{ inputs.k8s-version }}
6155
version: ${{ env.SIGSTORE_SCAFFOLDING_RELEASE_VERSION }}
@@ -72,12 +66,14 @@ jobs:
7266
# Restart so picks up the changes.
7367
kubectl -n tekton-pipelines delete po -l app=tekton-pipelines-controller
7468
75-
- name: Install all the everythings
69+
- name: Run integration tests
7670
working-directory: ./src/github.com/tektoncd/chains
77-
timeout-minutes: 10
7871
run: |
79-
ko apply -BRf ./config/
72+
./test/presubmit-tests.sh --integration-tests
8073
74+
75+
- name: Run tutorial taskrun
76+
run: |
8177
kubectl patch configmap/chains-config \
8278
--namespace tekton-chains \
8379
--type merge \
@@ -88,10 +84,8 @@ jobs:
8884
8985
# TODO(vaikas): Better way to find when the chains has picked up
9086
# the changes
91-
sleep 10
87+
sleep 20
9288
93-
- name: Run tutorial taskrun
94-
run: |
9589
kubectl create -f https://raw.githubusercontent.com/tektoncd/chains/main/examples/taskruns/task-output-image.yaml
9690
9791
# Sleep so the taskrun shows up.
@@ -103,7 +97,7 @@ jobs:
10397
echo "Waiting for Chains to do it's thing"
10498
for i in {1..10}
10599
do
106-
./tkn tr describe --last -o jsonpath="{.metadata.annotations.chains\.tekton\.dev/transparency}" > tektonentry
100+
tkn tr describe --last -o jsonpath="{.metadata.annotations.chains\.tekton\.dev/transparency}" > tektonentry
107101
108102
if [ -s ./tektonentry ]; then
109103
if grep --quiet rekor.rekor-system.svc ./tektonentry ; then
@@ -126,7 +120,7 @@ jobs:
126120
127121
- name: Collect diagnostics
128122
if: ${{ failure() }}
129-
uses: chainguard-dev/actions/kind-diag@9c0be1ee0103db886d1887d114ec97f8766b7ef8 # main
123+
uses: chainguard-dev/actions/kind-diag@5363dd9eb48083bbf7674a4bbe62d71c3b230edd # v1.1.2
130124
with:
131125
cluster-resources: nodes
132126
namespace-resources: pods,taskruns,jobs

upstream/.github/workflows/test-on-crc.yaml

Lines changed: 0 additions & 76 deletions
This file was deleted.
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: Test Chains on Microshift
2+
3+
permissions:
4+
contents: read
5+
6+
on:
7+
push:
8+
branches:
9+
- main
10+
11+
defaults:
12+
run:
13+
shell: bash
14+
15+
jobs:
16+
tekton-chains-e2e-tests-microshift:
17+
name: Run E2E Tests on Microshift
18+
runs-on: ubuntu-24.04
19+
strategy:
20+
fail-fast: false
21+
22+
env:
23+
SHELL: /bin/bash
24+
GOPATH: ${{ github.workspace }}
25+
KO_DOCKER_REPO: ko.local
26+
DOCKER_HOST: tcp://localhost:24816
27+
28+
steps:
29+
- name: Checkout
30+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
31+
with:
32+
path: ${{ github.workspace }}/src/github.com/tektoncd/chains
33+
34+
- uses: imjasonh/setup-ko@d006021bd0c28d1ce33a07e7943d48b079944c8d # v0.9
35+
36+
- name: Set up Go
37+
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
38+
with:
39+
cache-dependency-path: "${{ github.workspace }}/src/github.com/tektoncd/chains/go.sum"
40+
go-version-file: "${{ github.workspace }}/src/github.com/tektoncd/chains/go.mod"
41+
42+
- name: setup microshift
43+
run: |
44+
curl -L -o minc https://github.com/minc-org/minc/releases/latest/download/minc_linux_amd64
45+
chmod +x minc
46+
./minc create --log-level debug
47+
48+
- name: Install Tekton Chains and Run e2e tests
49+
working-directory: ${{ github.workspace }}/src/github.com/tektoncd/chains
50+
51+
run: |
52+
echo -e "\n************************ Install openshift client ************************\n"
53+
wget https://github.com/okd-project/okd/releases/download/4.19.0-okd-scos.6/openshift-client-linux-amd64-rhel9-4.19.0-okd-scos.6.tar.gz
54+
tar -xzvf openshift-client-linux-amd64-rhel9-4.19.0-okd-scos.6.tar.gz
55+
export PATH=${PATH}:${PWD}
56+
57+
echo -e "\n************************ Setup Podman ************************\n"
58+
sudo podman system service --time=0 tcp://localhost:24816 &
59+
sleep 7
60+
echo -e "\ntest the podman tcp connection\n"
61+
curl http://localhost:24816/_ping
62+
63+
echo -e "\n************************ Starting e2e ************************\n"
64+
oc adm policy add-scc-to-user anyuid -z tekton-pipelines-controller
65+
oc adm policy add-scc-to-user anyuid -z tekton-pipelines-webhook
66+
67+
export KUBECONFIG=$HOME/.kube/config
68+
69+
source ${{ github.workspace }}/src/github.com/tektoncd/chains/test/microshift_test.sh

0 commit comments

Comments
 (0)