Skip to content

Bump docker/setup-qemu-action from 3 to 4#61

Open
dependabot[bot] wants to merge 1 commit intomasterfrom
dependabot/github_actions/docker/setup-qemu-action-4
Open

Bump docker/setup-qemu-action from 3 to 4#61
dependabot[bot] wants to merge 1 commit intomasterfrom
dependabot/github_actions/docker/setup-qemu-action-4

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot bot commented on behalf of github Apr 15, 2026

Bumps docker/setup-qemu-action from 3 to 4.

Release notes

Sourced from docker/setup-qemu-action's releases.

v4.0.0

Full Changelog: docker/setup-qemu-action@v3.7.0...v4.0.0

v3.7.0

Full Changelog: docker/setup-qemu-action@v3.6.0...v3.7.0

v3.6.0

Full Changelog: docker/setup-qemu-action@v3.5.0...v3.6.0

v3.5.0

Full Changelog: docker/setup-qemu-action@v3.4.0...v3.5.0

v3.4.0

Full Changelog: docker/setup-qemu-action@v3.3.0...v3.4.0

v3.3.0

Full Changelog: docker/setup-qemu-action@v3.2.0...v3.3.0

v3.2.0

Full Changelog: docker/setup-qemu-action@v3.1.0...v3.2.0

v3.1.0

... (truncated)

Commits
  • ce36039 Merge pull request #245 from crazy-max/node24
  • 6386344 node 24 as default runtime
  • 1ea3db7 Merge pull request #243 from docker/dependabot/npm_and_yarn/docker/actions-to...
  • b56a002 chore: update generated content
  • c43f02d build(deps): bump @​docker/actions-toolkit from 0.67.0 to 0.77.0
  • ce10c58 Merge pull request #244 from docker/dependabot/npm_and_yarn/actions/core-3.0.0
  • 429fc9d chore: update generated content
  • 060e5f8 build(deps): bump @​actions/core from 1.11.1 to 3.0.0
  • 44be13e Merge pull request #231 from docker/dependabot/npm_and_yarn/js-yaml-3.14.2
  • 1897438 chore: update generated content
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 3 to 4.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](docker/setup-qemu-action@v3...v4)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file github_actions Pull requests that update GitHub Actions code labels Apr 15, 2026
@dependabot @github
Copy link
Copy Markdown
Contributor Author

dependabot bot commented on behalf of github Apr 15, 2026

Assignees

The following users could not be added as assignees: Valentin-Kaiser. Either the username does not exist or it does not have the correct permissions to be added as an assignee.

Please fix the above issues or remove invalid values from dependabot.yml.

@github-actions
Copy link
Copy Markdown
Contributor

Super-linter summary

Language Validation result
BIOME_FORMAT Fail ❌
BIOME_LINT Fail ❌
CHECKOV Pass ✅
GITHUB_ACTIONS Pass ✅
GITHUB_ACTIONS_ZIZMOR Fail ❌
GITLEAKS Pass ✅
GIT_MERGE_CONFLICT_MARKERS Pass ✅
JSCPD Pass ✅
PRE_COMMIT Pass ✅
SPELL_CODESPELL Pass ✅
TRIVY Fail ❌
YAML Pass ✅
YAML_PRETTIER Fail ❌

Super-linter detected linting errors

For more information, see the GitHub Actions workflow run

Powered by Super-linter

BIOME_FORMAT
Checked 3 files in 13ms. No fixes applied.
Found 3 errors.proto/gen/generic_pb.d.ts format ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × Formatter would have printed the following content:

     1    │ - import·*·as·jspb·from·'google-protobuf'
     2    │ -
     3    │ -
        1 │ + import·*·as·jspb·from·"google-protobuf";
     4  2 │
     5  3 │   export class Empty extends jspb.Message {
     6    │ - ··serializeBinary():·Uint8Array;
     7    │ - ··toObject(includeInstance?:·boolean):·Empty.AsObject;
     8    │ - ··static·toObject(includeInstance:·boolean,·msg:·Empty):·Empty.AsObject;
     9    │ - ··static·serializeBinaryToWriter(message:·Empty,·writer:·jspb.BinaryWriter):·void;
    10    │ - ··static·deserializeBinary(bytes:·Uint8Array):·Empty;
    11    │ - ··static·deserializeBinaryFromReader(message:·Empty,·reader:·jspb.BinaryReader):·Empty;
        4 │ + → serializeBinary():·Uint8Array;
        5 │ + → toObject(includeInstance?:·boolean):·Empty.AsObject;
        6 │ + → static·toObject(includeInstance:·boolean,·msg:·Empty):·Empty.AsObject;
        7 │ + → static·serializeBinaryToWriter(
        8 │ + → → message:·Empty,
        9 │ + → → writer:·jspb.BinaryWriter,
       10 │ + → ):·void;
       11 │ + → static·deserializeBinary(bytes:·Uint8Array):·Empty;
       12 │ + → static·deserializeBinaryFromReader(
       13 │ + → → message:·Empty,
       14 │ + → → reader:·jspb.BinaryReader,
       15 │ + → ):·Empty;
    12 16 │   }
    13 17 │
    14 18 │   export namespace Empty {
    15    │ - ··export·type·AsObject·=·{
    16    │ - ··};
       19 │ + → export·type·AsObject·=·{};
    17 20 │   }
    18 21 │
    19 22 │   export class Optional extends jspb.Message {
    20    │ - ··getValue():·string;
    21    │ - ··setValue(value:·string):·Optional;
    22    │ - ··hasValue():·boolean;
    23    │ - ··clearValue():·Optional;
       23 │ + → getValue():·string;
       24 │ + → setValue(value:·string):·Optional;
       25 │ + → hasValue():·boolean;
       26 │ + → clearValue():·Optional;
    24 27 │
    25    │ - ··serializeBinary():·Uint8Array;
    26    │ - ··toObject(includeInstance?:·boolean):·Optional.AsObject;
    27    │ - ··static·toObject(includeInstance:·boolean,·msg:·Optional):·Optional.AsObject;
    28    │ - ··static·serializeBinaryToWriter(message:·Optional,·writer:·jspb.BinaryWriter):·void;
    29    │ - ··static·deserializeBinary(bytes:·Uint8Array):·Optional;
    30    │ - ··static·deserializeBinaryFromReader(message:·Optional,·reader:·jspb.BinaryReader):·Optional;
       28 │ + → serializeBinary():·Uint8Array;
       29 │ + → toObject(includeInstance?:·boolean):·Optional.AsObject;
       30 │ + → static·toObject(includeInstance:·boolean,·msg:·Optional):·Optional.AsObject;
       31 │ + → static·serializeBinaryToWriter(
       32 │ + → → message:·Optional,
       33 │ + → → writer:·jspb.BinaryWriter,
       34 │ + → ):·void;
       35 │ + → static·deserializeBinary(bytes:·Uint8Array):·Optional;
       36 │ + → static·deserializeBinaryFromReader(
       37 │ + → → message:·Optional,
       38 │ + → → reader:·jspb.BinaryReader,
       39 │ + → ):·Optional;
    31 40 │   }
    32 41 │
    33 42 │   export namespace Optional {
    34    │ - ··export·type·AsObject·=·{
    35    │ - ····value?:·string;
    36    │ - ··};
       43 │ + → export·type·AsObject·=·{
       44 │ + → → value?:·string;
       45 │ + → };
    37 46 │
    38    │ - ··export·const·enum·ValueCase·{
    39    │ - ····_VALUE_NOT_SET·=·0,
    40    │ - ····VALUE·=·1,
    41    │ - ··}
       47 │ + → export·const·enum·ValueCase·{
       48 │ + → → _VALUE_NOT_SET·=·0,
       49 │ + → → VALUE·=·1,
       50 │ + → }
    42 51 │   }
    43    │ -
    44 52 │


proto/gen/generic_pb.js format ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × Formatter would have printed the following content:

     12  12 │   // @ts-nocheck
     13  13 │
     14     │ - var·jspb·=·require('google-protobuf');
         14 │ + var·jspb·=·require("google-protobuf");
     15  15 │   var goog = jspb;
     16  16 │   var global =
     17     │ - ····(typeof·globalThis·!==·'undefined'·&&·globalThis)·||
     18     │ - ····(typeof·window·!==·'undefined'·&&·window)·||
     19     │ - ····(typeof·global·!==·'undefined'·&&·global)·||
     20     │ - ····(typeof·self·!==·'undefined'·&&·self)·||
     21     │ - ····(function·()·{·return·this;·}).call(null)·||
     22     │ - ····Function('return·this')();
         17 │ + → (typeof·globalThis·!==·"undefined"·&&·globalThis)·||
         18 │ + → (typeof·window·!==·"undefined"·&&·window)·||
         19 │ + → (typeof·global·!==·"undefined"·&&·global)·||
         20 │ + → (typeof·self·!==·"undefined"·&&·self)·||
         21 │ + → function·()·{
         22 │ + → → return·this;
         23 │ + → }.call(null)·||
         24 │ + → Function("return·this")();
     23  25 │
     24     │ - goog.exportSymbol('proto.generic.Empty',·null,·global);
     25     │ - goog.exportSymbol('proto.generic.Optional',·null,·global);
         26 │ + goog.exportSymbol("proto.generic.Empty",·null,·global);
         27 │ + goog.exportSymbol("proto.generic.Optional",·null,·global);
     26  28 │   /**
     27  29 │    * Generated by JsPbCodeGenerator.
    ······· │
     34  36 │    * @constructor
     35  37 │    */
     36     │ - proto.generic.Empty·=·function(opt_data)·{
     37     │ - ··jspb.Message.initialize(this,·opt_data,·0,·-1,·null,·null);
         38 │ + proto.generic.Empty·=·function·(opt_data)·{
         39 │ + → jspb.Message.initialize(this,·opt_data,·0,·-1,·null,·null);
     38  40 │   };
     39  41 │   goog.inherits(proto.generic.Empty, jspb.Message);
     40  42 │   if (goog.DEBUG && !COMPILED) {
     41     │ - ··/**
     42     │ - ···*·@public
     43     │ - ···*·@override
     44     │ - ···*/
     45     │ - ··proto.generic.Empty.displayName·=·'proto.generic.Empty';
         43 │ + → /**
         44 │ + → ·*·@public
         45 │ + → ·*·@override
         46 │ + → ·*/
         47 │ + → proto.generic.Empty.displayName·=·"proto.generic.Empty";
     46  48 │   }
     47  49 │   /**
    ······· │
     55  57 │    * @constructor
     56  58 │    */
     57     │ - proto.generic.Optional·=·function(opt_data)·{
     58     │ - ··jspb.Message.initialize(this,·opt_data,·0,·-1,·null,·null);
         59 │ + proto.generic.Optional·=·function·(opt_data)·{
         60 │ + → jspb.Message.initialize(this,·opt_data,·0,·-1,·null,·null);
     59  61 │   };
     60  62 │   goog.inherits(proto.generic.Optional, jspb.Message);
     61  63 │   if (goog.DEBUG && !COMPILED) {
     62     │ - ··/**
     63     │ - ···*·@public
     64     │ - ···*·@override
     65     │ - ···*/
     66     │ - ··proto.generic.Optional.displayName·=·'proto.generic.Optional';
         64 │ + → /**
         65 │ + → ·*·@public
         66 │ + → ·*·@override
         67 │ + → ·*/
         68 │ + → proto.generic.Optional.displayName·=·"proto.generic.Optional";
     67  69 │   }
     68  70 │
     69     │ -
     70     │ -
     71  71 │   if (jspb.Message.GENERATE_TO_OBJECT) {
     72     │ - /**
     73     │ - ·*·Creates·an·object·representation·of·this·proto.
     74     │ - ·*·Field·names·that·are·reserved·in·JavaScript·and·will·be·renamed·to·pb_name.
     75     │ - ·*·Optional·fields·that·are·not·set·will·be·set·to·undefined.
     76     │ - ·*·To·access·a·reserved·field·use,·foo.pb_<name>,·eg,·foo.pb_default.
     77     │ - ·*·For·the·list·of·reserved·names·please·see:
     78     │ - ·*·····net/proto2/compiler/js/internal/generator.cc#kKeyword.
     79     │ - ·*·@param·{boolean=}·opt_includeInstance·Deprecated.·whether·to·include·the
     80     │ - ·*·····JSPB·instance·for·transitional·soy·proto·support:
     81     │ - ·*·····http://goto/soy-param-migration
     82     │ - ·*·@return·{!Object}
     83     │ - ·*/
     84     │ - proto.generic.Empty.prototype.toObject·=·function(opt_includeInstance)·{
     85     │ - ··return·proto.generic.Empty.toObject(opt_includeInstance,·this);
     86     │ - };
     87     │ -
         72 │ + → /**
         73 │ + → ·*·Creates·an·object·representation·of·this·proto.
         74 │ + → ·*·Field·names·that·are·reserved·in·JavaScript·and·will·be·renamed·to·pb_name.
         75 │ + → ·*·Optional·fields·that·are·not·set·will·be·set·to·undefined.
         76 │ + → ·*·To·access·a·reserved·field·use,·foo.pb_<name>,·eg,·foo.pb_default.
         77 │ + → ·*·For·the·list·of·reserved·names·please·see:
         78 │ + → ·*·····net/proto2/compiler/js/internal/generator.cc#kKeyword.
         79 │ + → ·*·@param·{boolean=}·opt_includeInstance·Deprecated.·whether·to·include·the
         80 │ + → ·*·····JSPB·instance·for·transitional·soy·proto·support:
         81 │ + → ·*·····http://goto/soy-param-migration
         82 │ + → ·*·@return·{!Object}
         83 │ + → ·*/
         84 │ + → proto.generic.Empty.prototype.toObject·=·function·(opt_includeInstance)·{
         85 │ + → → return·proto.generic.Empty.toObject(opt_includeInstance,·this);
         86 │ + → };
     88  87 │
     89     │ - /**
     90     │ - ·*·Static·version·of·the·{@see·toObject}·method.
     91     │ - ·*·@param·{boolean|undefined}·includeInstance·Deprecated.·Whether·to·include
     92     │ - ·*·····the·JSPB·instance·for·transitional·soy·proto·support:
     93     │ - ·*·····http://goto/soy-param-migration
     94     │ - ·*·@param·{!proto.generic.Empty}·msg·The·msg·instance·to·transform.
     95     │ - ·*·@return·{!Object}
     96     │ - ·*·@suppress·{unusedLocalVariables}·f·is·only·used·for·nested·messages
     97     │ - ·*/
     98     │ - proto.generic.Empty.toObject·=·function(includeInstance,·msg)·{
     99     │ - ··var·f,·obj·=·{
    100     │ -
    101     │ - ··};
         88 │ + → /**
         89 │ + → ·*·Static·version·of·the·{@see·toObject}·method.
         90 │ + → ·*·@param·{boolean|undefined}·includeInstance·Deprecated.·Whether·to·include
         91 │ + → ·*·····the·JSPB·instance·for·transitional·soy·proto·support:
         92 │ + → ·*·····http://goto/soy-param-migration
         93 │ + → ·*·@param·{!proto.generic.Empty}·msg·The·msg·instance·to·transform.
         94 │ + → ·*·@return·{!Object}
         95 │ + → ·*·@suppress·{unusedLocalVariables}·f·is·only·used·for·nested·messages
         96 │ + → ·*/
         97 │ + → proto.generic.Empty.toObject·=·function·(includeInstance,·msg)·{
         98 │ + → → var·f,
         99 │ + → → → obj·=·{};
    102 100 │
    103     │ - ··if·(includeInstance)·{
    104     │ - ····obj.$jspbMessageInstance·=·msg;
    105     │ - ··}
    106     │ - ··return·obj;
    107     │ - };
        101 │ + → → if·(includeInstance)·{
        102 │ + → → → obj.$jspbMessageInstance·=·msg;
        103 │ + → → }
        104 │ + → → return·obj;
        105 │ + → };
    108 106 │   }
    109 107 │
    110     │ -
    111 108 │   /**
    112 109 │    * Deserializes binary data (in protobuf wire format).
    ······· │
    114 111 │    * @return {!proto.generic.Empty}
    115 112 │    */
    116     │ - proto.generic.Empty.deserializeBinary·=·function(bytes)·{
    117     │ - ··var·reader·=·new·jspb.BinaryReader(bytes);
    118     │ - ··var·msg·=·new·proto.generic.Empty;
  274 more lines truncated


renovate.json format ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × Formatter would have printed the following content:

     1  1 │   {
     2    │ - ··"$schema":·"https://docs.renovatebot.com/renovate-schema.json",
     3    │ - ··"extends":·[
     4    │ - ····"config:recommended"
     5    │ - ··],
     6    │ - ··"customManagers":·[
     7    │ - ····{
     8    │ - ······"customType":·"regex",
     9    │ - ······"description":·"Update·_VERSION·variables·in·Dockerfiles",
    10    │ - ······"fileMatch":·[
    11    │ - ········"(^|/|\\.)Dockerfile$",
    12    │ - ········"(^|/)Dockerfile\\.[^/]*$",
    13    │ - ········"(^|/)versions.env$"
    14    │ - ······],
    15    │ - ······"matchStrings":·[
    16    │ - ········"#·renovate:·datasource=(?<datasource>[a-z-]+?)(?:·depName=(?<depName>.+?))?·packageName=(?<packageName>.+?)(?:·versioning=(?<versioning>[a-z-]+?))?\\s(?:ENV|ARG)·.+?_VERSION=(?<currentValue>.+?)\\s"
    17    │ - ······]
    18    │ - ····},
    19    │ - ····{
    20    │ - ······"customType":·"regex",
    21    │ - ······"fileMatch":·["^Dockerfile$"],
    22    │ - ······"matchStrings":·[
    23    │ - ········"#\\s*renovate:\\s*?(release=(?<release>.*?))?\\s*depName=(?<depName>.*?)?\\s(?:ENV|ARG)·.*?_VERSION=(?<currentValue>.*)"
    24    │ - ······],
    25    │ - ······"registryUrlTemplate":·"https://deb.debian.org/debian?suite=stable&components=main,contrib,non-free&binaryArch=amd64",
    26    │ - ······"datasourceTemplate":·"deb"
    27    │ - ····}
    28    │ - ··],
    29    │ - ··"enabledManagers":·[
    30    │ - ····"dockerfile",
    31    │ - ····"custom.regex"
    32    │ - ··],
    33    │ - ··"groupName":·"all·dependencies",
    34    │ - ··"groupSlug":·"all"
        2 │ + → "$schema":·"https://docs.renovatebot.com/renovate-schema.json",
        3 │ + → "extends":·["config:recommended"],
        4 │ + → "customManagers":·[
        5 │ + → → {
        6 │ + → → → "customType":·"regex",
        7 │ + → → → "description":·"Update·_VERSION·variables·in·Dockerfiles",
        8 │ + → → → "fileMatch":·[
        9 │ + → → → → "(^|/|\\.)Dockerfile$",
       10 │ + → → → → "(^|/)Dockerfile\\.[^/]*$",
       11 │ + → → → → "(^|/)versions.env$"
       12 │ + → → → ],
       13 │ + → → → "matchStrings":·[
       14 │ + → → → → "#·renovate:·datasource=(?<datasource>[a-z-]+?)(?:·depName=(?<depName>.+?))?·packageName=(?<packageName>.+?)(?:·versioning=(?<versioning>[a-z-]+?))?\\s(?:ENV|ARG)·.+?_VERSION=(?<currentValue>.+?)\\s"
       15 │ + → → → ]
       16 │ + → → },
       17 │ + → → {
       18 │ + → → → "customType":·"regex",
       19 │ + → → → "fileMatch":·["^Dockerfile$"],
       20 │ + → → → "matchStrings":·[
       21 │ + → → → → "#\\s*renovate:\\s*?(release=(?<release>.*?))?\\s*depName=(?<depName>.*?)?\\s(?:ENV|ARG)·.*?_VERSION=(?<currentValue>.*)"
       22 │ + → → → ],
       23 │ + → → → "registryUrlTemplate":·"https://deb.debian.org/debian?suite=stable&components=main,contrib,non-free&binaryArch=amd64",
       24 │ + → → → "datasourceTemplate":·"deb"
       25 │ + → → }
       26 │ + → ],
       27 │ + → "enabledManagers":·["dockerfile",·"custom.regex"],
       28 │ + → "groupName":·"all·dependencies",
       29 │ + → "groupSlug":·"all"
    35 30 │   }
    36 31 │


format ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × Some errors were emitted while running checks.

BIOME_LINT
The number of diagnostics exceeds the limit allowed. Use --max-diagnostics to increase it.
Diagnostics not shown: 3.
Checked 3 files in 32ms. No fixes applied.
Found 7 errors.
Found 14 warnings.
Found 2 infos.proto/gen/generic_pb.js:165:9 lint/complexity/noUselessUndefinedInitialization  FIXABLE  ━━━━━━━━━━━

  i It's not necessary to initialize f to undefined.

    163 │  */
    164 │ proto.generic.Empty.serializeBinaryToWriter = function(message, writer) {
  > 165 │   var f = undefined;
        │         ^^^^^^^^^^^
    166 │ };
    167 │

  i A variable that is declared and not initialized to any value automatically gets the value of undefined.

  i Safe fix: Remove undefined initialization.

    165 │ ··var·f·=·undefined;
        │         -----------

proto/gen/generic_pb.d.ts:38:10 lint/suspicious/noConstEnum  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  ! The enum declaration should not be const

    36 │   };
    37 │
  > 38 │   export const enum ValueCase {
       │          ^^^^^^^^^^^^^^^^^^^^^^
  > 39 │     _VALUE_NOT_SET = 0,
  > 40 │     VALUE = 1,
  > 41 │   }
       │   ^
    42 │ }
    43 │

  i Const enums are not supported by bundlers and are incompatible with the 'isolatedModules' mode. Their use can lead to import inexistent values.

  i See TypeScript Docs for more details.

  i Safe fix: Turn the const enum into a regular enum.

    38 │ ··export·const·enum·ValueCase·{
       │          ------

proto/gen/generic_pb.d.ts:15:26 lint/complexity/noBannedTypes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  ! Don't use '{}' as a type.

    14 │ export namespace Empty {
  > 15 │   export type AsObject = {
       │                          ^
  > 16 │   };
       │   ^
    17 │ }
    18 │

  i '{}' accepts any non-nullish value, including non-object primitives like '123' and 'true'.
    - If you want a type meaning "any arbitrary object", use 'object' instead.
    - If you want a type meaning "any value", use 'unknown' instead.
    - If you want a type meaning "an object whose properties cannot be used", use '{ [k: keyof any]: never }' or 'Record<keyof any, never>' instead.
    - If you want a type meaning "an object that cannot contain any properties whatsoever", use '{ [uniqueSymbol]?: never }' with an unexported unique symbol in the same file.

  i If that's really what you want, use an inline disable comment.


proto/gen/generic_pb.js:98:32 lint/complexity/useArrowFunction  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━

  ! This function expression can be turned into an arrow function.

     96 │  * @suppress {unusedLocalVariables} f is only used for nested messages
     97 │  */
   > 98 │ proto.generic.Empty.toObject = function(includeInstance, msg) {
        │                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   > 99 │   var f, obj = {
         ...
  > 106 │   return obj;
  > 107 │ };
        │ ^
    108 │ }
    109 │

  i Function expressions that don't use this can be turned into arrow functions.

  i Safe fix: Use an arrow function instead.

     96  96 │    * @suppress {unusedLocalVariables} f is only used for nested messages
     97  97 │    */
     98     │ - proto.generic.Empty.toObject·=·function(includeInstance,·msg)·{
         98 │ + proto.generic.Empty.toObject·=·(includeInstance,·msg)·=>·{
     99  99 │     var f, obj = {
    100 100 │


proto/gen/generic_pb.js:99:7 lint/correctness/noUnusedVariables  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━

  ! This variable f is unused.

     97 │  */
     98 │ proto.generic.Empty.toObject = function(includeInstance, msg) {
   > 99 │   var f, obj = {
        │       ^
    100 │
    101 │   };

  i Unused variables are often the result of typos, incomplete refactors, or other sources of bugs.

  i Unsafe fix: If this is intentional, prepend f with an underscore.

     97  97 │    */
     98  98 │   proto.generic.Empty.toObject = function(includeInstance, msg) {
     99     │ - ··var·f,·obj·=·{
         99 │ + ··var·_f,·obj·=·{
    100 100 │
    101 101 │     };


proto/gen/generic_pb.js:116:41 lint/complexity/useArrowFunction  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━

  ! This function expression can be turned into an arrow function.

    114 │  * @return {!proto.generic.Empty}
    115 │  */
  > 116 │ proto.generic.Empty.deserializeBinary = function(bytes) {
        │                                         ^^^^^^^^^^^^^^^^^
  > 117 │   var reader = new jspb.BinaryReader(bytes);
  > 118 │   var msg = new proto.generic.Empty;
  > 119 │   return proto.generic.Empty.deserializeBinaryFromReader(msg, reader);
  > 120 │ };
        │ ^
    121 │

  i Function expressions that don't use this can be turned into arrow functions.

  i Safe fix: Use an arrow function instead.

    114 114 │    * @return {!proto.generic.Empty}
    115 115 │    */
    116     │ - proto.generic.Empty.deserializeBinary·=·function(bytes)·{
        116 │ + proto.generic.Empty.deserializeBinary·=·(bytes)·=>·{
    117 117 │     var reader = new jspb.BinaryReader(bytes);
    118 118 │     var msg = new proto.generic.Empty;


proto/gen/generic_pb.js:130:51 lint/complexity/useArrowFunction  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━

  ! This function expression can be turned into an arrow function.

    128 │  * @return {!proto.generic.Empty}
    129 │  */
  > 130 │ proto.generic.Empty.deserializeBinaryFromReader = function(msg, reader) {
        │                                                   ^^^^^^^^^^^^^^^^^^^^^^^
  > 131 │   while (reader.nextField()) {
         ...
  > 141 │   }
  > 142 │   return msg;
  > 143 │ };
        │ ^
    144 │

  i Function expressions that don't use this can be turned into arrow functions.

  i Safe fix: Use an arrow function instead.

    128 128 │    * @return {!proto.generic.Empty}
    129 129 │    */
    130     │ - proto.generic.Empty.deserializeBinaryFromReader·=·function(msg,·reader)·{
        130 │ + proto.generic.Empty.deserializeBinaryFromReader·=·(msg,·reader)·=>·{
    131 131 │     while (reader.nextField()) {
    132 132 │       if (reader.isEndGroup()) {


proto/gen/generic_pb.js:164:47 lint/complexity/useArrowFunction  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━

  ! This function expression can be turned into an arrow function.

    162 │  * @suppress {unusedLocalVariables} f is only used for nested messages
    163 │  */
  > 164 │ proto.generic.Empty.serializeBinaryToWriter = function(message, writer) {
        │                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  > 165 │   var f = undefined;
  > 166 │ };
        │ ^
    167 │

  i Function expressions that don't use this can be turned into arrow functions.

  i Safe fix: Use an arrow function instead.

    162 162 │    * @suppress {unusedLocalVariables} f is only used for nested messages
    163 163 │    */
    164     │ - proto.generic.Empty.serializeBinaryToWriter·=·function(message,·writer)·{
        164 │ + proto.generic.Empty.serializeBinaryToWriter·=·(message,·writer)·=>·{
    165 165 │     var f = undefined;
    166 166 │   };


proto/gen/generic_pb.js:164:56 lint/correctness/noUnusedFunctionParameters  FIXABLE  ━━━━━━━━━━━━━━━

  ! This parameter is unused.

    162 │  * @suppress {unusedLocalVariables} f is only used for nested messages
    163 │  */
  > 164 │ proto.generic.Empty.serializeBinaryToWriter = function(message, writer) {
        │                                                        ^^^^^^^
    165 │   var f = undefined;
    166 │ };

  i Unused parameters might be the result of an incomplete refactoring.

  i Unsafe fix: If this is intentional, prepend message with an underscore.

    162 162 │    * @suppress {unusedLocalVariables} f is only used for nested messages
    163 163 │    */
    164     │ - proto.generic.Empty.serializeBinaryToWriter·=·function(message,·writer)·{
        164 │ + proto.generic.Empty.serializeBinaryToWriter·=·function(_message,·writer)·{
    165 165 │     var f = undefined;
    166 166 │   };


proto/gen/generic_pb.js:164:65 lint/correctness/noUnusedFunctionParameters  FIXABLE  ━━━━━━━━━━━━━━━

  ! This parameter is unused.

    162 │  * @suppress {unusedLocalVariables} f is only used for nested messages
    163 │  */
  > 164 │ proto.generic.Empty.serializeBinaryToWriter = function(message, writer) {
        │                                                                 ^^^^^^
    165 │   var f = undefined;
    166 │ };

  i Unused parameters might be the result of an incomplete refactoring.

  i Unsafe fix: If this is intentional, prepend writer with an underscore.

    162 162 │    * @suppress {unusedLocalVariables} f is only used for nested messages
    163 163 │    */
    164     │ - proto.generic.Empty.serializeBinaryToWriter·=·function(message,·writer)·{
        164 │ + proto.generic.Empty.serializeBinaryToWriter·=·function(message,·_writer)·{
    165 165 │     var f = undefined;
    166 166 │   };


proto/gen/generic_pb.js:165:7 lint/correctness/noUnusedVariables  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━

  ! This variable f is unused.

    163 │  */
    164 │ proto.generic.Empty.serializeBinaryToWriter = function(message, writer) {
  > 165 │   var f = undefined;
        │       ^
    166 │ };
    167 │

  i Unused variables are often the result of typos, incomplete refactors, or other sources of bugs.

  i Unsafe fix: If this is intentional, prepend f with an underscore.

    163 163 │    */
    164 164 │   proto.generic.Empty.serializeBinaryToWriter = function(message, writer) {
    165     │ - ··var·f·=·undefined;
        165 │ + ··var·_f·=·undefined;
    166 166 │   };
    167 167 │


proto/gen/generic_pb.js:199:35 lint/complexity/useArrowFunction  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━

  ! This function expression can be turned into an arrow function.

    197 │  * @suppress {unusedLocalVariables} f is only used for nested messages
    198 │  */
  > 199 │ proto.generic.Optional.toObject = function(includeInstance, msg) {
        │                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  > 200 │   var f, obj = {
         ...
  > 207 │   return obj;
  > 208 │ };
        │ ^
    209 │ }
    210 │

  i Function expressions that don't use this can be turned into arrow functions.

  i Safe fix: Use an arrow function instead.

    197 197 │    * @suppress {unusedLocalVariables} f is only used for nested messages
    198 198 │    */
    199     │ - proto.generic.Optional.toObject·=·function(includeInstance,·msg)·{
        199 │ + proto.generic.Optional.toObject·=·(includeInstance,·msg)·=>·{
    200 200 │     var f, obj = {
    201 201 │   value: (f = jspb.Message.getField(msg, 1)) == null ? undefined : f


proto/gen/generic_pb.js:217:44 lint/complexity/useArrowFunction  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━

  ! This function expression can be turned into an arrow function.

    215 │  * @return {!proto.generic.Optional}
    216 │  */
  > 217 │ proto.generic.Optional.deserializeBinary = function(bytes) {
        │                                            ^^^^^^^^^^^^^^^^^
  > 218 │   var reader = new jspb.BinaryReader(bytes);
  > 219 │   var msg = new proto.generic.Optional;
  > 220 │   return proto.generic.Optional.deserializeBinaryFromReader(msg, reader);
  > 221 │ };
        │ ^
    222 │

  i Function expressions that don't use this can be turned into arrow functions.

  i Safe fix: Use an arrow function instead.

    215 215 │    * @return {!proto.generic.Optional}
    216 216 │    */
    217     │ - proto.generic.Optional.deserializeBinary·=·function(bytes)·{
        217 │ + proto.generic.Optional.deserializeBinary·=·(bytes)·=>·{
    218 218 │     var reader = new jspb.BinaryReader(bytes);
    219 219 │     var msg = new proto.generic.Optional;


proto/gen/generic_pb.js:135:5 lint/correctness/noInnerDeclarations ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × This var should be declared at the root of the enclosing function.

    133 │       break;
    134 │     }
  > 135 │     var field = reader.getFieldNumber();
        │     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    136 │     switch (field) {
    137 │     default:

  i The var is accessible in the whole body of the enclosing function.
    To avoid confusion, it should be declared at the root of the enclosing function.


proto/gen/generic_pb.js:201:9 lint/suspicious/noAssignInExpressions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × The assignment should not be in an expression.

    199 │ proto.generic.Optional.toObject = function(includeInstance, msg) {
    200 │   var f, obj = {
  > 201 │ value: (f = jspb.Message.getField(msg, 1)) == null ? undefined : f
        │         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    202 │   };
    203 │

  i The use of assignments in expressions is confusing.
    Expressions are often considered as side-effect free.


proto/gen/generic_pb.js:236:5 lint/correctness/noInnerDeclarations ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × This var should be declared at the root of the enclosing function.

    234 │       break;
    235 │     }
  > 236 │     var field = reader.getFieldNumber();
        │     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    237 │     switch (field) {
    238 │     case 1:

  i The var is accessible in the whole body of the enclosing function.
    To avoid confusion, it should be declared at the root of the enclosing function.


proto/gen/generic_pb.js:239:7 lint/correctness/noSwitchDeclarations  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━

  × Other switch clauses can erroneously access this declaration.
    Wrap the declaration in a block to restrict its access to the switch clause.

    237 │     switch (field) {
    238 │     case 1:
  > 239 │       var value = /** @type {string} */ (reader.readString());
        │       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    240 │       msg.setValue(value);
    241 │       break;

  i The declaration is defined in this switch clause:

    236 │     var field = reader.getFieldNumber();
    237 │     switch (field) {
  > 238 │     case 1:
        │     ^^^^^^^
  > 239 │       var value = /** @type {string} */ (reader.readString());
  > 240 │       msg.setValue(value);
  > 241 │       break;
        │       ^^^^^^
    242 │     default:
    243 │       reader.skipField();

  i Safe fix: Wrap the declaration in a block.

    236 236 │       var field = reader.getFieldNumber();
    237 237 │       switch (field) {
    238     │ - ····case·1:
        238 │ + ····case·1:·{
    239 239 │         var value = /** @type {string} */ (reader.readString());
    240 240 │         msg.setValue(value);
    241     │ - ······break;
        241 │ + ······break;
        242 │ + ····}
    242 243 │       default:
    243 244 │         reader.skipField();


proto/gen/generic_pb.js:239:7 lint/correctness/noInnerDeclarations ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × This var should be declared at the root of the enclosing function.

    237 │     switch (field) {
    238 │     case 1:
  > 239 │       var value = /** @type {string} */ (reader.readString());
        │       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    240 │       msg.setValue(value);
    241 │       break;

  i The var is accessible in the whole body of the enclosing function.
    To avoid confusion, it should be declared at the root of the enclosing function.


proto/gen/generic_pb.js:19:13 lint/correctness/noInvalidUseBeforeDeclaration ━━━━━━━━━━━━━━━━━━━━━━━

  × This variable is used before its declaration.

    17 │     (typeof globalThis !== 'undefined' && globalThis) ||
    18 │     (typeof window !== 'undefined' && window) ||
  > 19 │     (typeof global !== 'undefined' && global) ||
       │             ^^^^^^
    20 │     (typeof self !== 'undefined' && self) ||
    21 │     (function () { return this; }).call(null) ||

  i The variable is declared here:

    14 │ var jspb = require('google-protobuf');
    15 │ var goog = jspb;
  > 16 │ var global =
       │     ^^^^^^
    17 │     (typeof globalThis !== 'undefined' && globalThis) ||
    18 │     (typeof window !== 'undefined' && window) ||


proto/gen/generic_pb.js:19:39 lint/correctness/noInvalidUseBeforeDeclaration ━━━━━━━━━━━━━━━━━━━━━━━

  × This variable is used before its declaration.

    17 │     (typeof globalThis !== 'undefined' && globalThis) ||
    18 │     (typeof window !== 'undefined' && window) ||
  > 19 │     (typeof global !== 'undefined' && global) ||
       │                                       ^^^^^^
    20 │     (typeof self !== 'undefined' && self) ||
    21 │     (function () { return this; }).call(null) ||

  i The variable is declared here:

    14 │ var jspb = require('google-protobuf');
    15 │ var goog = jspb;
  > 16 │ var global =
       │     ^^^^^^
    17 │     (typeof globalThis !== 'undefined' && globalThis) ||
    18 │     (typeof window !== 'undefined' && window) ||


lint ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × Some warnings were emitted while running checks.

GITHUB_ACTIONS_ZIZMOR
�[1m�[96mhelp[artipacked]�[0m�[1m: credential persistence through GitHub Actions artifacts�[0m
  �[1m�[94m--> �[0m/github/workspace/.github/workflows/publish-docker.yml:19:9
   �[1m�[94m|�[0m
�[1m�[94m19�[0m �[1m�[94m|�[0m �[1m�[96m/�[0m         name: Checkout
�[1m�[94m20�[0m �[1m�[94m|�[0m �[1m�[96m|�[0m         uses: actions/checkout@v6
�[1m�[94m21�[0m �[1m�[94m|�[0m �[1m�[96m|�[0m         with:
�[1m�[94m22�[0m �[1m�[94m|�[0m �[1m�[96m|�[0m           fetch-depth: 0
   �[1m�[94m|�[0m �[1m�[96m|________________________^�[0m �[1m�[96mdoes not set persist-credentials: false�[0m
   �[1m�[94m|�[0m
   �[1m�[94m= �[0m�[1mnote�[0m: audit confidence → Low
   �[1m�[94m= �[0m�[1mnote�[0m: this finding has an auto-fix
   �[1m�[94m= �[0m�[1mhelp�[0m: audit documentation → �[32mhttps://docs.zizmor.sh/audits/#artipacked�[39m

�[1m�[91merror[unpinned-uses]�[0m�[1m: unpinned action reference�[0m
  �[1m�[94m--> �[0m/github/workspace/.github/workflows/publish-docker.yml:20:15
   �[1m�[94m|�[0m
�[1m�[94m20�[0m �[1m�[94m|�[0m         uses: actions/checkout@v6
   �[1m�[94m|�[0m               �[1m�[91m^^^^^^^^^^^^^^^^^^^�[0m �[1m�[91maction is not pinned to a hash (required by blanket policy)�[0m
   �[1m�[94m|�[0m
   �[1m�[94m= �[0m�[1mnote�[0m: audit confidence → High
   �[1m�[94m= �[0m�[1mnote�[0m: this finding has an auto-fix
   �[1m�[94m= �[0m�[1mhelp�[0m: audit documentation → �[32mhttps://docs.zizmor.sh/audits/#unpinned-uses�[39m

�[1m�[91merror[unpinned-uses]�[0m�[1m: unpinned action reference�[0m
  �[1m�[94m--> �[0m/github/workspace/.github/workflows/publish-docker.yml:26:15
   �[1m�[94m|�[0m
�[1m�[94m26�[0m �[1m�[94m|�[0m         uses: docker/metadata-action@v5
   �[1m�[94m|�[0m               �[1m�[91m^^^^^^^^^^^^^^^^^^^^^^^^^�[0m �[1m�[91maction is not pinned to a hash (required by blanket policy)�[0m
   �[1m�[94m|�[0m
   �[1m�[94m= �[0m�[1mnote�[0m: audit confidence → High
   �[1m�[94m= �[0m�[1mnote�[0m: this finding has an auto-fix
   �[1m�[94m= �[0m�[1mhelp�[0m: audit documentation → �[32mhttps://docs.zizmor.sh/audits/#unpinned-uses�[39m

�[1m�[91merror[unpinned-uses]�[0m�[1m: unpinned action reference�[0m
  �[1m�[94m--> �[0m/github/workspace/.github/workflows/publish-docker.yml:34:15
   �[1m�[94m|�[0m
�[1m�[94m34�[0m �[1m�[94m|�[0m         uses: docker/setup-qemu-action@v4
   �[1m�[94m|�[0m               �[1m�[91m^^^^^^^^^^^^^^^^^^^^^^^^^^^�[0m �[1m�[91maction is not pinned to a hash (required by blanket policy)�[0m
   �[1m�[94m|�[0m
   �[1m�[94m= �[0m�[1mnote�[0m: audit confidence → High
   �[1m�[94m= �[0m�[1mnote�[0m: this finding has an auto-fix
   �[1m�[94m= �[0m�[1mhelp�[0m: audit documentation → �[32mhttps://docs.zizmor.sh/audits/#unpinned-uses�[39m

�[1m�[91merror[unpinned-uses]�[0m�[1m: unpinned action reference�[0m
  �[1m�[94m--> �[0m/github/workspace/.github/workflows/publish-docker.yml:37:15
   �[1m�[94m|�[0m
�[1m�[94m37�[0m �[1m�[94m|�[0m         uses: docker/setup-buildx-action@v3
   �[1m�[94m|�[0m               �[1m�[91m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^�[0m �[1m�[91maction is not pinned to a hash (required by blanket policy)�[0m
   �[1m�[94m|�[0m
   �[1m�[94m= �[0m�[1mnote�[0m: audit confidence → High
   �[1m�[94m= �[0m�[1mnote�[0m: this finding has an auto-fix
   �[1m�[94m= �[0m�[1mhelp�[0m: audit documentation → �[32mhttps://docs.zizmor.sh/audits/#unpinned-uses�[39m

�[1m�[91merror[unpinned-uses]�[0m�[1m: unpinned action reference�[0m
  �[1m�[94m--> �[0m/github/workspace/.github/workflows/publish-docker.yml:41:15
   �[1m�[94m|�[0m
�[1m�[94m41�[0m �[1m�[94m|�[0m         uses: docker/login-action@v3
   �[1m�[94m|�[0m               �[1m�[91m^^^^^^^^^^^^^^^^^^^^^^�[0m �[1m�[91maction is not pinned to a hash (required by blanket policy)�[0m
   �[1m�[94m|�[0m
   �[1m�[94m= �[0m�[1mnote�[0m: audit confidence → High
   �[1m�[94m= �[0m�[1mnote�[0m: this finding has an auto-fix
   �[1m�[94m= �[0m�[1mhelp�[0m: audit documentation → �[32mhttps://docs.zizmor.sh/audits/#unpinned-uses�[39m

�[1m�[91merror[unpinned-uses]�[0m�[1m: unpinned action reference�[0m
  �[1m�[94m--> �[0m/github/workspace/.github/workflows/publish-docker.yml:48:15
   �[1m�[94m|�[0m
�[1m�[94m48�[0m �[1m�[94m|�[0m         uses: docker/build-push-action@v6
   �[1m�[94m|�[0m               �[1m�[91m^^^^^^^^^^^^^^^^^^^^^^^^^^^�[0m �[1m�[91maction is not pinned to a hash (required by blanket policy)�[0m
   �[1m�[94m|�[0m
   �[1m�[94m= �[0m�[1mnote�[0m: audit confidence → High
   �[1m�[94m= �[0m�[1mnote�[0m: this finding has an auto-fix
   �[1m�[94m= �[0m�[1mhelp�[0m: audit documentation → �[32mhttps://docs.zizmor.sh/audits/#unpinned-uses�[39m

�[32m11�[39m findings (�[1m�[93m4�[39m suppressed, �[92m7�[39m fixable�[0m): �[35m0�[39m informational, �[36m1�[39m low, �[33m0�[39m medium, �[31m6�[39m high🌈 zizmor v1.23.1
�[32m INFO�[0m �[1maudit�[0m�[2m:�[0m �[2mzizmor�[0m�[2m:�[0m 🌈 completed /github/workspace/.github/workflows/publish-docker.yml
TRIVY

Report Summary

┌────────────┬────────────┬─────────────────┬───────────────────┬─────────┐
│   Target   │    Type    │ Vulnerabilities │ Misconfigurations │ Secrets │
├────────────┼────────────┼─────────────────┼───────────────────┼─────────┤
│ Dockerfile │ dockerfile │        -        │         1         │    -    │
└────────────┴────────────┴─────────────────┴───────────────────┴─────────┘
Legend:
- '-': Not scanned
- '0': Clean (no security findings detected)


Dockerfile (dockerfile)
=======================
Tests: 27 (SUCCESSES: 26, FAILURES: 1)
Failures: 1 (UNKNOWN: 0, LOW: 0, MEDIUM: 0, HIGH: 1, CRITICAL: 0)

DS-0002 (HIGH): Specify at least 1 USER command in Dockerfile with non-root user as argument
════════════════════════════════════════
Running containers with 'root' user can lead to a container escape situation. It is a best practice to run containers as non-root users, which can be done by adding a 'USER' statement to the Dockerfile.

See https://avd.aquasec.com/misconfig/ds-0002
────────────────────────────────────────


YAML_PRETTIER
Checking formatting...[�[33mwarn�[39m] .github/workflows/publish-docker.yml
[�[33mwarn�[39m] Code style issues found in the above file. Run Prettier with --write to fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file github_actions Pull requests that update GitHub Actions code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant