From c81eca9904376045343235b8264c7d74097c501b Mon Sep 17 00:00:00 2001 From: Giteabot Date: Fri, 8 May 2026 11:30:53 -0700 Subject: [PATCH 1/6] chore(deps): update action dependencies (#37603) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [actions/labeler](https://redirect.github.com/actions/labeler) | action | minor | `v6.0.1` → `v6.1.0` | | [aws-actions/configure-aws-credentials](https://redirect.github.com/aws-actions/configure-aws-credentials) | action | patch | `v6.1.0` → `v6.1.1` | | [docker.elastic.co/elasticsearch/elasticsearch](https://www.elastic.co/products/elasticsearch) ([source](https://redirect.github.com/elastic/elasticsearch)) | service | patch | `8.19.14` → `8.19.15` | | [renovatebot/github-action](https://redirect.github.com/renovatebot/github-action) | action | patch | `v46.1.12` → `v46.1.13` | --- ### Release Notes
actions/labeler (actions/labeler) ### [`v6.1.0`](https://redirect.github.com/actions/labeler/releases/tag/v6.1.0) [Compare Source](https://redirect.github.com/actions/labeler/compare/v6.0.1...v6.1.0) #### Enhancements - Add changed-files-labels-limit and max-files-changed configuration options to cap the number of labels added by [@​bluca](https://redirect.github.com/bluca) in [#​923](https://redirect.github.com/actions/labeler/pull/923) #### Bug Fixes - Improve Labeler Action documentation and permission error handling by [@​chiranjib-swain](https://redirect.github.com/chiranjib-swain) in [#​897](https://redirect.github.com/actions/labeler/pull/897) - Preserve manually added labels during workflow runs and refine label synchronization logic by [@​chiranjib-swain](https://redirect.github.com/chiranjib-swain) in [#​917](https://redirect.github.com/actions/labeler/pull/917) #### Dependency Updates - Upgrade brace-expansion from 1.1.11 to 1.1.12 and document breaking changes in v6 by [@​dependabot](https://redirect.github.com/dependabot) in [#​877](https://redirect.github.com/actions/labeler/pull/877) - Upgrade minimatch from 10.0.1 to 10.2.3 by [@​dependabot](https://redirect.github.com/dependabot) in [#​926](https://redirect.github.com/actions/labeler/pull/926) - Upgrade dependencies ([@​actions/core](https://redirect.github.com/actions/core), [@​actions/github](https://redirect.github.com/actions/github), js-yaml, minimatch, [@​typescript-eslint](https://redirect.github.com/typescript-eslint)) by [@​Copilot](https://redirect.github.com/Copilot) in [#​934](https://redirect.github.com/actions/labeler/pull/934) #### New Contributors - [@​chiranjib-swain](https://redirect.github.com/chiranjib-swain) made their first contribution in [#​897](https://redirect.github.com/actions/labeler/pull/897) - [@​bluca](https://redirect.github.com/bluca) made their first contribution in [#​923](https://redirect.github.com/actions/labeler/pull/923) - [@​Copilot](https://redirect.github.com/Copilot) made their first contribution in [#​934](https://redirect.github.com/actions/labeler/pull/934) **Full Changelog**:
aws-actions/configure-aws-credentials (aws-actions/configure-aws-credentials) ### [`v6.1.1`](https://redirect.github.com/aws-actions/configure-aws-credentials/releases/tag/v6.1.1) [Compare Source](https://redirect.github.com/aws-actions/configure-aws-credentials/compare/v6.1.0...v6.1.1) ##### What's Changed - chore(deps-dev): bump esbuild from 0.27.4 to 0.28.0 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​1722](https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1722) - chore(deps-dev): bump [@​types/node](https://redirect.github.com/types/node) from 25.5.0 to 25.5.2 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​1723](https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1723) - chore(deps-dev): bump [@​smithy/property-provider](https://redirect.github.com/smithy/property-provider) from 4.2.12 to 4.2.13 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​1724](https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1724) - chore(deps): bump proxy-agent from 8.0.0 to 8.0.1 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​1726](https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1726) - chore(deps): bump [@​smithy/node-http-handler](https://redirect.github.com/smithy/node-http-handler) from 4.5.1 to 4.5.2 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​1725](https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1725) - chore(deps): bump [@​aws-sdk/client-sts](https://redirect.github.com/aws-sdk/client-sts) from 3.1020.0 to 3.1025.0 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​1727](https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1727) - chore(deps): bump basic-ftp from 5.2.0 to 5.2.1 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​1728](https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1728) - chore(deps): bump basic-ftp from 5.2.1 to 5.2.2 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​1729](https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1729) - chore(deps-dev): bump [@​types/node](https://redirect.github.com/types/node) from 25.5.2 to 25.6.0 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​1730](https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1730) - chore(deps-dev): bump [@​aws-sdk/credential-provider-env](https://redirect.github.com/aws-sdk/credential-provider-env) from 3.972.24 to 3.972.25 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​1733](https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1733) - chore(deps): bump [@​aws-sdk/client-sts](https://redirect.github.com/aws-sdk/client-sts) from 3.1025.0 to 3.1030.0 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​1732](https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1732) - chore(deps-dev): bump [@​biomejs/biome](https://redirect.github.com/biomejs/biome) from 2.4.10 to 2.4.11 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​1734](https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1734) - chore(deps): bump basic-ftp from 5.2.2 to 5.3.0 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​1736](https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1736) - chore(deps-dev): bump memfs from 4.57.1 to 4.57.2 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​1737](https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1737) - chore(deps-dev): bump typescript from 6.0.2 to 6.0.3 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​1740](https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1740) - chore(deps-dev): bump [@​smithy/property-provider](https://redirect.github.com/smithy/property-provider) from 4.2.13 to 4.2.14 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​1741](https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1741) - chore(deps-dev): bump [@​aws-sdk/credential-provider-env](https://redirect.github.com/aws-sdk/credential-provider-env) from 3.972.25 to 3.972.28 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​1742](https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1742) - chore(deps): bump [@​aws-sdk/client-sts](https://redirect.github.com/aws-sdk/client-sts) from 3.1030.0 to 3.1033.0 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​1743](https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1743) - chore(deps-dev): bump [@​biomejs/biome](https://redirect.github.com/biomejs/biome) from 2.4.11 to 2.4.12 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​1739](https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1739) - chore(deps-dev): bump [@​biomejs/biome](https://redirect.github.com/biomejs/biome) from 2.4.12 to 2.4.13 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​1747](https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1747) - chore(deps): bump postcss from 8.5.6 to 8.5.12 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​1752](https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1752) - chore(deps): bump [@​smithy/node-http-handler](https://redirect.github.com/smithy/node-http-handler) from 4.6.0 to 4.6.1 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​1750](https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1750) - chore(deps-dev): bump [@​aws-sdk/credential-provider-env](https://redirect.github.com/aws-sdk/credential-provider-env) from 3.972.28 to 3.972.32 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​1751](https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1751) - chore(deps): bump [@​aws-sdk/client-sts](https://redirect.github.com/aws-sdk/client-sts) from 3.1033.0 to 3.1038.0 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​1749](https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1749) - chore: release 6.1.1 by [@​lehmanmj](https://redirect.github.com/lehmanmj) in [#​1757](https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1757) **Full Changelog**:
elastic/elasticsearch (docker.elastic.co/elasticsearch/elasticsearch) ### [`v8.19.15`](https://redirect.github.com/elastic/elasticsearch/releases/tag/v8.19.15): Elasticsearch 8.19.15 [Compare Source](https://redirect.github.com/elastic/elasticsearch/compare/v8.19.14...v8.19.15) Downloads: Release notes:
renovatebot/github-action (renovatebot/github-action) ### [`v46.1.13`](https://redirect.github.com/renovatebot/github-action/releases/tag/v46.1.13) [Compare Source](https://redirect.github.com/renovatebot/github-action/compare/v46.1.12...v46.1.13) ##### Documentation - update references to renovatebot/github-action to v46.1.12 ([a871d4d](https://redirect.github.com/renovatebot/github-action/commit/a871d4d5460d222ef1b9b6d9c7c9a9224e582780)) ##### Miscellaneous Chores - **deps:** update dependency [@​commitlint/cli](https://redirect.github.com/commitlint/cli) to v20.5.2 ([67a74d1](https://redirect.github.com/renovatebot/github-action/commit/67a74d123d2876d138af089da96b130b49963b52)) - **deps:** update pnpm to v10.33.1 ([5932d6c](https://redirect.github.com/renovatebot/github-action/commit/5932d6c4e6423886397f74fa3e1f43f75d08b639)) - **deps:** update pnpm to v10.33.2 ([580c97f](https://redirect.github.com/renovatebot/github-action/commit/580c97f45b94ac6c4cf344cae6557fa67ffcf1e6)) ##### Build System - **deps:** lock file maintenance ([d044e7d](https://redirect.github.com/renovatebot/github-action/commit/d044e7df57b284a83ba0184247f960f00ca99d19)) ##### Continuous Integration - **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.159.1 ([a7db9c3](https://redirect.github.com/renovatebot/github-action/commit/a7db9c38fdfec235881c95a3f634d0e98351a897)) - **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.159.2 ([f9133ef](https://redirect.github.com/renovatebot/github-action/commit/f9133ef80db08316ae9064a6639804e2781bf4ac)) - **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.160.0 ([212d525](https://redirect.github.com/renovatebot/github-action/commit/212d52574e89808037dd90d27dad2a1ea2f69f22)) - **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.160.1 ([e3443ce](https://redirect.github.com/renovatebot/github-action/commit/e3443ceef9af4bfb10853b55f8a23c5625289bb8)) - **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.160.2 ([833041b](https://redirect.github.com/renovatebot/github-action/commit/833041bb68593fa1d2e2704abedd40037914481b)) - **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.160.4 ([60cc865](https://redirect.github.com/renovatebot/github-action/commit/60cc8654e18da2e1d7164c13b1437fcf26a1dce8)) - **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.160.5 ([2c7567a](https://redirect.github.com/renovatebot/github-action/commit/2c7567a8f829497ca73badab029c722f61e0c561)) - **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.160.6 ([35caad2](https://redirect.github.com/renovatebot/github-action/commit/35caad2c6a948000e0be2215db7dcdbf0c183541))
--- This PR has been generated by [Mend Renovate](https://redirect.github.com/renovatebot/renovate). Co-authored-by: Nicolas Co-authored-by: Lunny Xiao --- .github/workflows/cron-renovate.yml | 2 +- .github/workflows/pull-db-tests.yml | 4 ++-- .github/workflows/pull-labeler.yml | 2 +- .github/workflows/release-nightly.yml | 2 +- .github/workflows/release-tag-rc.yml | 2 +- .github/workflows/release-tag-version.yml | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/cron-renovate.yml b/.github/workflows/cron-renovate.yml index 9ebe1fec32..7e9a00450b 100644 --- a/.github/workflows/cron-renovate.yml +++ b/.github/workflows/cron-renovate.yml @@ -21,7 +21,7 @@ jobs: timeout-minutes: 30 steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - uses: renovatebot/github-action@f66d8679fcfcfa051abde6e7a623007173bf5164 # v46.1.12 + - uses: renovatebot/github-action@79dc0ba74dc3de28db0a7aeb1d0b95d5bf5fde2a # v46.1.13 with: renovate-version: ${{ env.RENOVATE_VERSION }} configurationFile: renovate.json5 diff --git a/.github/workflows/pull-db-tests.yml b/.github/workflows/pull-db-tests.yml index b750a9c264..a3f4efdc16 100644 --- a/.github/workflows/pull-db-tests.yml +++ b/.github/workflows/pull-db-tests.yml @@ -105,7 +105,7 @@ jobs: runs-on: ubuntu-latest services: elasticsearch: - image: docker.elastic.co/elasticsearch/elasticsearch:8.19.14 + image: docker.elastic.co/elasticsearch/elasticsearch:8.19.15 env: discovery.type: single-node xpack.security.enabled: false @@ -184,7 +184,7 @@ jobs: options: >- --mount type=tmpfs,destination=/bitnami/mysql/data elasticsearch: - image: docker.elastic.co/elasticsearch/elasticsearch:8.19.14 + image: docker.elastic.co/elasticsearch/elasticsearch:8.19.15 env: discovery.type: single-node xpack.security.enabled: false diff --git a/.github/workflows/pull-labeler.yml b/.github/workflows/pull-labeler.yml index f9e2e5e07b..b27fc32cdb 100644 --- a/.github/workflows/pull-labeler.yml +++ b/.github/workflows/pull-labeler.yml @@ -15,6 +15,6 @@ jobs: contents: read pull-requests: write steps: - - uses: actions/labeler@634933edcd8ababfe52f92936142cc22ac488b1b # v6.0.1 + - uses: actions/labeler@f27b608878404679385c85cfa523b85ccb86e213 # v6.1.0 with: sync-labels: true diff --git a/.github/workflows/release-nightly.yml b/.github/workflows/release-nightly.yml index e1fd87b759..be216a48e8 100644 --- a/.github/workflows/release-nightly.yml +++ b/.github/workflows/release-nightly.yml @@ -52,7 +52,7 @@ jobs: echo "Cleaned name is ${REF_NAME}" echo "branch=${REF_NAME}-nightly" >> "$GITHUB_OUTPUT" - name: configure aws - uses: aws-actions/configure-aws-credentials@ec61189d14ec14c8efccab744f656cffd0e33f37 # v6.1.0 + uses: aws-actions/configure-aws-credentials@d979d5b3a71173a29b74b5b88418bfda9437d885 # v6.1.1 with: aws-region: ${{ secrets.AWS_REGION }} aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} diff --git a/.github/workflows/release-tag-rc.yml b/.github/workflows/release-tag-rc.yml index b7d5cbcd22..07102acc39 100644 --- a/.github/workflows/release-tag-rc.yml +++ b/.github/workflows/release-tag-rc.yml @@ -53,7 +53,7 @@ jobs: echo "Cleaned name is ${REF_NAME}" echo "branch=${REF_NAME}" >> "$GITHUB_OUTPUT" - name: configure aws - uses: aws-actions/configure-aws-credentials@ec61189d14ec14c8efccab744f656cffd0e33f37 # v6.1.0 + uses: aws-actions/configure-aws-credentials@d979d5b3a71173a29b74b5b88418bfda9437d885 # v6.1.1 with: aws-region: ${{ secrets.AWS_REGION }} aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} diff --git a/.github/workflows/release-tag-version.yml b/.github/workflows/release-tag-version.yml index 82a1930f0a..44cf49b78c 100644 --- a/.github/workflows/release-tag-version.yml +++ b/.github/workflows/release-tag-version.yml @@ -56,7 +56,7 @@ jobs: echo "Cleaned name is ${REF_NAME}" echo "branch=${REF_NAME}" >> "$GITHUB_OUTPUT" - name: configure aws - uses: aws-actions/configure-aws-credentials@ec61189d14ec14c8efccab744f656cffd0e33f37 # v6.1.0 + uses: aws-actions/configure-aws-credentials@d979d5b3a71173a29b74b5b88418bfda9437d885 # v6.1.1 with: aws-region: ${{ secrets.AWS_REGION }} aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} From ef040c5fc4361659cca808aeda92f6d98ec82a63 Mon Sep 17 00:00:00 2001 From: techknowlogick Date: Fri, 8 May 2026 15:11:13 -0400 Subject: [PATCH 2/6] chore(deps): bump go-git/go-git/v5 to 5.19.0 (#37608) Co-authored-by: Nicolas --- go.mod | 9 ++++----- go.sum | 20 ++++++++++---------- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/go.mod b/go.mod index 20d26abc23..bf16f648c3 100644 --- a/go.mod +++ b/go.mod @@ -53,8 +53,8 @@ require ( github.com/go-chi/cors v1.2.2 github.com/go-co-op/gocron/v2 v2.21.1 github.com/go-enry/go-enry/v2 v2.9.6 - github.com/go-git/go-billy/v5 v5.8.0 - github.com/go-git/go-git/v5 v5.18.0 + github.com/go-git/go-billy/v5 v5.9.0 + github.com/go-git/go-git/v5 v5.19.0 github.com/go-ldap/ldap/v3 v3.4.13 github.com/go-redsync/redsync/v4 v4.16.0 github.com/go-sql-driver/mysql v1.10.0 @@ -115,7 +115,7 @@ require ( golang.org/x/net v0.53.0 golang.org/x/oauth2 v0.36.0 golang.org/x/sync v0.20.0 - golang.org/x/sys v0.43.0 + golang.org/x/sys v0.44.0 golang.org/x/text v0.36.0 google.golang.org/grpc v1.81.0 google.golang.org/protobuf v1.36.11 @@ -251,7 +251,7 @@ require ( github.com/perimeterx/marshmallow v1.1.5 // indirect github.com/philhofer/fwd v1.2.0 // indirect github.com/pierrec/lz4/v4 v4.1.26 // indirect - github.com/pjbgf/sha1cd v0.5.0 // indirect + github.com/pjbgf/sha1cd v0.6.0 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_model v0.6.2 // indirect @@ -285,7 +285,6 @@ require ( go.yaml.in/yaml/v2 v2.4.4 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect go4.org v0.0.0-20260112195520-a5071408f32f // indirect - golang.org/x/exp v0.0.0-20250819193227-8b4c13bb791b // indirect golang.org/x/mod v0.35.0 // indirect golang.org/x/time v0.15.0 // indirect golang.org/x/tools v0.44.0 // indirect diff --git a/go.sum b/go.sum index 82849a19f6..b2df3d0408 100644 --- a/go.sum +++ b/go.sum @@ -300,12 +300,12 @@ github.com/go-fed/httpsig v1.1.1-0.20201223112313-55836744818e h1:oRq/fiirun5Hql github.com/go-fed/httpsig v1.1.1-0.20201223112313-55836744818e/go.mod h1:RCMrTZvN1bJYtofsG4rd5NaO5obxQ5xBkdiS7xsT7bM= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= -github.com/go-git/go-billy/v5 v5.8.0 h1:I8hjc3LbBlXTtVuFNJuwYuMiHvQJDq1AT6u4DwDzZG0= -github.com/go-git/go-billy/v5 v5.8.0/go.mod h1:RpvI/rw4Vr5QA+Z60c6d6LXH0rYJo0uD5SqfmrrheCY= +github.com/go-git/go-billy/v5 v5.9.0 h1:jItGXszUDRtR/AlferWPTMN4j38BQ88XnXKbilmmBPA= +github.com/go-git/go-billy/v5 v5.9.0/go.mod h1:jCnQMLj9eUgGU7+ludSTYoZL/GGmii14RxKFj7ROgHw= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII= -github.com/go-git/go-git/v5 v5.18.0 h1:O831KI+0PR51hM2kep6T8k+w0/LIAD490gvqMCvL5hM= -github.com/go-git/go-git/v5 v5.18.0/go.mod h1:pW/VmeqkanRFqR6AljLcs7EA7FbZaN5MQqO7oZADXpo= +github.com/go-git/go-git/v5 v5.19.0 h1:+WkVUQZSy/F1Gb13udrMKjIM2PrzsNfDKFSfo5tkMtc= +github.com/go-git/go-git/v5 v5.19.0/go.mod h1:Pb1v0c7/g8aGQJwx9Us09W85yGoyvSwuhEGMH7zjDKQ= github.com/go-ini/ini v1.67.0 h1:z6ZrTEZqSWOTyH2FlglNbNgARyHG8oLW9gMELqKr06A= github.com/go-ini/ini v1.67.0/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= github.com/go-jose/go-jose/v4 v4.1.4 h1:moDMcTHmvE6Groj34emNPLs/qtYXRVcd6S7NHbHz3kA= @@ -607,8 +607,8 @@ github.com/philhofer/fwd v1.2.0 h1:e6DnBTl7vGY+Gz322/ASL4Gyp1FspeMvx1RNDoToZuM= github.com/philhofer/fwd v1.2.0/go.mod h1:RqIHx9QI14HlwKwm98g9Re5prTQ6LdeRQn+gXJFxsJM= github.com/pierrec/lz4/v4 v4.1.26 h1:GrpZw1gZttORinvzBdXPUXATeqlJjqUG/D87TKMnhjY= github.com/pierrec/lz4/v4 v4.1.26/go.mod h1:EoQMVJgeeEOMsCqCzqFm2O0cJvljX2nGZjcRIPL34O4= -github.com/pjbgf/sha1cd v0.5.0 h1:a+UkboSi1znleCDUNT3M5YxjOnN1fz2FhN48FlwCxs0= -github.com/pjbgf/sha1cd v0.5.0/go.mod h1:lhpGlyHLpQZoxMv8HcgXvZEhcGs0PG/vsZnEJ7H0iCM= +github.com/pjbgf/sha1cd v0.6.0 h1:3WJ8Wz8gvDz29quX1OcEmkAlUg9diU4GxJHqs0/XiwU= +github.com/pjbgf/sha1cd v0.6.0/go.mod h1:lhpGlyHLpQZoxMv8HcgXvZEhcGs0PG/vsZnEJ7H0iCM= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= @@ -799,8 +799,8 @@ golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ss golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= golang.org/x/crypto v0.50.0 h1:zO47/JPrL6vsNkINmLoo/PH1gcxpls50DNogFvB5ZGI= golang.org/x/crypto v0.50.0/go.mod h1:3muZ7vA7PBCE6xgPX7nkzzjiUq87kRItoJQM1Yo8S+Q= -golang.org/x/exp v0.0.0-20250819193227-8b4c13bb791b h1:DXr+pvt3nC887026GRP39Ej11UATqWDmWuS99x26cD0= -golang.org/x/exp v0.0.0-20250819193227-8b4c13bb791b/go.mod h1:4QTo5u+SEIbbKW1RacMZq1YEfOBqeXa19JeshGi+zc4= +golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f h1:W3F4c+6OLc6H2lb//N1q4WpJkhzJCK5J6kUi1NTVXfM= +golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f/go.mod h1:J1xhfL/vlindoeF/aINzNzt2Bket5bjo9sdOYzOsU80= golang.org/x/image v0.39.0 h1:skVYidAEVKgn8lZ602XO75asgXBgLj9G/FE3RbuPFww= golang.org/x/image v0.39.0/go.mod h1:sIbmppfU+xFLPIG0FoVUTvyBMmgng1/XAMhQ2ft0hpA= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= @@ -877,8 +877,8 @@ golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.43.0 h1:Rlag2XtaFTxp19wS8MXlJwTvoh8ArU6ezoyFsMyCTNI= -golang.org/x/sys v0.43.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/sys v0.44.0 h1:ildZl3J4uzeKP07r2F++Op7E9B29JRUy+a27EibtBTQ= +golang.org/x/sys v0.44.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= From 1ed935f9113d6dc77d24d1b102608d1b0f635c32 Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Sat, 9 May 2026 04:26:09 +0800 Subject: [PATCH 3/6] fix: make clone URL respect public URL detection setting (#37615) Fix #37614 --- web_src/js/features/repo-common.ts | 6 +++--- web_src/js/utils/url.test.ts | 18 +----------------- web_src/js/utils/url.ts | 16 ---------------- 3 files changed, 4 insertions(+), 36 deletions(-) diff --git a/web_src/js/features/repo-common.ts b/web_src/js/features/repo-common.ts index 65b89cf261..50d0db3673 100644 --- a/web_src/js/features/repo-common.ts +++ b/web_src/js/features/repo-common.ts @@ -5,7 +5,6 @@ import {showErrorToast} from '../modules/toast.ts'; import {sleep} from '../utils.ts'; import RepoActivityTopAuthors from '../components/RepoActivityTopAuthors.vue'; import {createApp} from 'vue'; -import {toOriginUrl} from '../utils/url.ts'; import {createTippy} from '../modules/tippy.ts'; import {localUserSettings} from '../modules/user-settings.ts'; @@ -79,7 +78,8 @@ function initCloneSchemeUrlSelection(parent: Element) { const isTea = scheme === 'tea'; if (tabHttps) { - tabHttps.textContent = window.origin.split(':')[0].toUpperCase(); // show "HTTP" or "HTTPS" + const link = tabHttps.getAttribute('data-link')!; + tabHttps.textContent = link.split(':')[0].toUpperCase(); // show "HTTP" or "HTTPS" tabHttps.classList.toggle('active', isHttps); } if (tabSsh) { @@ -99,7 +99,7 @@ function initCloneSchemeUrlSelection(parent: Element) { } if (!tab) return; - const link = toOriginUrl(tab.getAttribute('data-link')!); + const link = tab.getAttribute('data-link')!; for (const el of document.querySelectorAll('.js-clone-url')) { if (el.nodeName === 'INPUT') { diff --git a/web_src/js/utils/url.test.ts b/web_src/js/utils/url.test.ts index a2e7339375..0a7e27ca61 100644 --- a/web_src/js/utils/url.test.ts +++ b/web_src/js/utils/url.test.ts @@ -1,4 +1,4 @@ -import {linkifyURLs, pathEscape, pathEscapeSegments, toOriginUrl, urlQueryEscape} from './url.ts'; +import {linkifyURLs, pathEscape, pathEscapeSegments, urlQueryEscape} from './url.ts'; describe('escape', () => { const queryNonAscii = " !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~"; @@ -45,19 +45,3 @@ test('linkifyURLs', () => { expect(linkifyURLs('https://evil.com/\nonclick=alert(1)')).toEqual(`${link('https://evil.com/')}\nonclick=alert(1)`); expect(linkifyURLs('https://evil.com/"onmouseover=alert(1)')).toEqual(`${link('https://evil.com/"onmouseover=alert')}(1)`); }); - -test('toOriginUrl', () => { - const oldLocation = String(window.location); - for (const origin of ['https://example.com', 'https://example.com:3000']) { - window.location.assign(`${origin}/`); - expect(toOriginUrl('/')).toEqual(`${origin}/`); - expect(toOriginUrl('/org/repo.git')).toEqual(`${origin}/org/repo.git`); - expect(toOriginUrl('https://another.com')).toEqual(`${origin}/`); - expect(toOriginUrl('https://another.com/')).toEqual(`${origin}/`); - expect(toOriginUrl('https://another.com/org/repo.git')).toEqual(`${origin}/org/repo.git`); - expect(toOriginUrl('https://another.com:4000')).toEqual(`${origin}/`); - expect(toOriginUrl('https://another.com:4000/')).toEqual(`${origin}/`); - expect(toOriginUrl('https://another.com:4000/org/repo.git')).toEqual(`${origin}/org/repo.git`); - } - window.location.assign(oldLocation); -}); diff --git a/web_src/js/utils/url.ts b/web_src/js/utils/url.ts index 927f0937a4..84328faf24 100644 --- a/web_src/js/utils/url.ts +++ b/web_src/js/utils/url.ts @@ -57,19 +57,3 @@ export function linkifyURLs(html: string): string { return `${cleanUrl}${trailing}`; // eslint-disable-line github/unescaped-html-literal }); } - -/** Convert an absolute or relative URL to an absolute URL with the current origin. It only - * processes absolute HTTP/HTTPS URLs or relative URLs like '/xxx' or '//host/xxx'. */ -export function toOriginUrl(urlStr: string) { - try { - if (urlStr.startsWith('http://') || urlStr.startsWith('https://') || urlStr.startsWith('/')) { - const {origin, protocol, hostname, port} = window.location; - const url = new URL(urlStr, origin); - url.protocol = protocol; - url.hostname = hostname; - url.port = port || (protocol === 'https:' ? '443' : '80'); - return url.toString(); - } - } catch {} - return urlStr; -} From 73c0239f94e527c49d47d0be53cb21f7653811df Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 May 2026 22:46:57 +0200 Subject: [PATCH 4/6] build(deps): bump fast-uri from 3.1.0 to 3.1.2 (#37616) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.0 to 3.1.2.
Release notes

Sourced from fast-uri's releases.

v3.1.2

⚠️ Security Release

What's Changed

Full Changelog: https://github.com/fastify/fast-uri/compare/v3.1.1...v3.1.2

v3.1.1

⚠️ Security Release

What's Changed

New Contributors

Full Changelog: https://github.com/fastify/fast-uri/compare/v3.1.0...v3.1.1

Commits
  • 919dd8e Bumped v3.1.2
  • c65ba57 fixup: linting
  • 6c86c17 Merge commit from fork
  • a95158a Handle malformed fragment decoding without throwing (#171)
  • cea547c Bumped v3.1.1
  • 876ce79 Merge commit from fork
  • dcdf690 ci: add lock-threads workflow (#169)
  • c860e65 build(deps-dev): bump neostandard from 0.12.2 to 0.13.0 (#167)
  • 9b4c6dc build(deps): bump fastify/workflows/.github/workflows/plugins-ci.yml (#166)
  • 85d09a9 build(deps): bump fastify/workflows/.github/workflows/plugins-ci-package-mana...
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=fast-uri&package-manager=npm_and_yarn&previous-version=3.1.0&new-version=3.1.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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-automerge-start) [//]: # (dependabot-automerge-end) ---
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 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) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/go-gitea/gitea/network/alerts).
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e8ba191bd5..edb9fc7481 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -3818,6 +3818,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.8.0: + resolution: {integrity: sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==} + engines: {node: '>=10'} + hasBin: true + seroval-plugins@1.5.3: resolution: {integrity: sha512-LhVh4KjjkKmCxOUjoaUwtqbDjyMfnA535yEmmGDuwZcIYtw8ns6tZmeszNTECeUg/3sJpnEjsz/KhQrcPXPw1Q==} engines: {node: '>=10'} @@ -8198,6 +8203,8 @@ snapshots: semver@7.7.4: {} + semver@7.8.0: {} + seroval-plugins@1.5.3(seroval@1.5.3): dependencies: seroval: 1.5.3 @@ -8694,7 +8701,7 @@ snapshots: eslint-visitor-keys: 5.0.1 espree: 11.2.0 esquery: 1.7.0 - semver: 7.7.4 + semver: 7.8.0 transitivePeerDependencies: - supports-color From a5d81d9ce230aaa6e1021b6236ca01cb6d2b56c3 Mon Sep 17 00:00:00 2001 From: silverwind Date: Fri, 8 May 2026 23:39:35 +0200 Subject: [PATCH 5/6] perf: replace `goheader` linter with custom check (#37599) Replace the [slow `goheader` linter](https://github.com/denis-tingaikin/go-header/issues/70) with a custom check. Local go lint time is down from 247s to 32s. 6 new files that were previously undetected because of `//go:build ignore` are fixed. The exit code of the make target preserves the golangci-lint exit code, if present. Also refactors and consolidates the linting targets. Signed-off-by: silverwind Signed-off-by: wxiaoguang Co-authored-by: Claude (Opus 4.7) Co-authored-by: wxiaoguang Co-authored-by: Giteabot --- .github/workflows/cache-seeder.yml | 2 - .github/workflows/pull-compliance.yml | 42 ----------- .golangci.yml | 6 -- Makefile | 11 +-- build/generate-gitignores.go | 3 + models/db/driver_sqlite_mattn.go | 4 +- models/db/driver_sqlite_modernc.go | 4 +- modules/auth/pam/pam_test.go | 4 +- tools/lint-go-all.go | 101 ++++++++++++++++++++++++++ 9 files changed, 112 insertions(+), 65 deletions(-) create mode 100644 tools/lint-go-all.go diff --git a/.github/workflows/cache-seeder.yml b/.github/workflows/cache-seeder.yml index b0f3ca97de..733077cc80 100644 --- a/.github/workflows/cache-seeder.yml +++ b/.github/workflows/cache-seeder.yml @@ -54,8 +54,6 @@ jobs: matrix: include: - { job: lint-backend, tags: "bindata", target: "lint-backend" } - - { job: lint-go-windows, tags: "bindata", target: "lint-go-windows" } - - { job: lint-go-gogit, tags: "bindata gogit", target: "lint-go" } steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 diff --git a/.github/workflows/pull-compliance.yml b/.github/workflows/pull-compliance.yml index 6a3ec2d73e..51e1c805e6 100644 --- a/.github/workflows/pull-compliance.yml +++ b/.github/workflows/pull-compliance.yml @@ -64,48 +64,6 @@ jobs: - if: needs.files-changed.outputs.actions == 'true' run: make lint-actions - lint-go-windows: - if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true' - needs: files-changed - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 - with: - go-version-file: go.mod - check-latest: true - cache: false - - uses: ./.github/actions/go-cache - with: - cache-name: lint-go-windows - lint-cache: "true" - - run: make deps-backend deps-tools - - run: make lint-go-windows - env: - TAGS: bindata - GOOS: windows - GOARCH: amd64 - - lint-go-gogit: - if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true' - needs: files-changed - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 - with: - go-version-file: go.mod - check-latest: true - cache: false - - uses: ./.github/actions/go-cache - with: - cache-name: lint-go-gogit - lint-cache: "true" - - run: make deps-backend deps-tools - - run: make lint-go - env: - TAGS: bindata gogit - checks-backend: if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true' needs: files-changed diff --git a/.golangci.yml b/.golangci.yml index 570942bdd3..056a6c2a08 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -13,7 +13,6 @@ linters: - forbidigo - gocheckcompilerdirectives - gocritic - - goheader - govet - ineffassign - mirror @@ -118,11 +117,6 @@ linters: enable: - nilness - unusedwrite - goheader: - values: - regexp: - HEADER: '((Copyright [^\n]+|All rights reserved\.)\n)*Copyright \d{4} (The (Gogs|Gitea) Authors|Gitea Authors|Gitea)\.( All rights reserved\.)?(\n(Copyright [^\n]+|All rights reserved\.))*\nSPDX-License-Identifier: [\w.-]+' - template: '{{ HEADER }}' exclusions: generated: lax presets: diff --git a/Makefile b/Makefile index 1087dc8410..27b2c30295 100644 --- a/Makefile +++ b/Makefile @@ -332,18 +332,11 @@ lint-spell-fix: ## lint spelling and fix issues .PHONY: lint-go lint-go: ## lint go files - $(GO) run $(GOLANGCI_LINT_PACKAGE) run + GO=$(GO) GOLANGCI_LINT_PACKAGE=$(GOLANGCI_LINT_PACKAGE) $(GO) run ./tools/lint-go-all.go .PHONY: lint-go-fix lint-go-fix: ## lint go files and fix issues - $(GO) run $(GOLANGCI_LINT_PACKAGE) run --fix - -# workaround step for the lint-go-windows CI task because 'go run' can not -# have distinct GOOS/GOARCH for its build and run steps -.PHONY: lint-go-windows -lint-go-windows: - @GOOS= GOARCH= $(GO) install $(GOLANGCI_LINT_PACKAGE) - golangci-lint run + GO=$(GO) GOLANGCI_LINT_PACKAGE=$(GOLANGCI_LINT_PACKAGE) $(GO) run ./tools/lint-go-all.go --fix .PHONY: lint-editorconfig lint-editorconfig: diff --git a/build/generate-gitignores.go b/build/generate-gitignores.go index 1e09c83a6a..7a498f548e 100644 --- a/build/generate-gitignores.go +++ b/build/generate-gitignores.go @@ -1,3 +1,6 @@ +// Copyright 2020 The Gitea Authors. All rights reserved. +// SPDX-License-Identifier: MIT + //go:build ignore package main diff --git a/models/db/driver_sqlite_mattn.go b/models/db/driver_sqlite_mattn.go index 1fe2e35cba..a25cb09990 100644 --- a/models/db/driver_sqlite_mattn.go +++ b/models/db/driver_sqlite_mattn.go @@ -1,8 +1,8 @@ -//go:build sqlite_mattn && sqlite_unlock_notify - // Copyright 2026 The Gitea Authors. All rights reserved. // SPDX-License-Identifier: MIT +//go:build sqlite_mattn && sqlite_unlock_notify + package db import ( diff --git a/models/db/driver_sqlite_modernc.go b/models/db/driver_sqlite_modernc.go index 8202d5f6f4..6bd5498a55 100644 --- a/models/db/driver_sqlite_modernc.go +++ b/models/db/driver_sqlite_modernc.go @@ -1,8 +1,8 @@ -//go:build !sqlite_mattn - // Copyright 2026 The Gitea Authors. All rights reserved. // SPDX-License-Identifier: MIT +//go:build !sqlite_mattn + // modernc driver is chosen as the default one (compared to mattn, ncruces) // * mattn was used as default, but it requires CGO // * the CI times are almost the same for these three (race detector must be disabled) diff --git a/modules/auth/pam/pam_test.go b/modules/auth/pam/pam_test.go index d4ab058ec7..1180e75d88 100644 --- a/modules/auth/pam/pam_test.go +++ b/modules/auth/pam/pam_test.go @@ -1,8 +1,8 @@ -//go:build pam - // Copyright 2021 The Gitea Authors. All rights reserved. // SPDX-License-Identifier: MIT +//go:build pam + package pam import ( diff --git a/tools/lint-go-all.go b/tools/lint-go-all.go new file mode 100644 index 0000000000..b2071f1703 --- /dev/null +++ b/tools/lint-go-all.go @@ -0,0 +1,101 @@ +// Copyright 2026 The Gitea Authors. All rights reserved. +// SPDX-License-Identifier: MIT + +package main + +import ( + "fmt" + "io" + "io/fs" + "os" + "os/exec" + "path/filepath" + "regexp" + "strings" +) + +func lintGoHeader() bool { + headerRE := regexp.MustCompile(`^(// (Copyright [^\n]+|All rights reserved\.)\n)*// Copyright \d{4} (The Gogs Authors|The Gitea Authors|Gitea Authors|Gitea)\.( All rights reserved\.)?\n(// (Copyright [^\n]+|All rights reserved\.)\n)*// SPDX-License-Identifier: [\w.-]+`) + generatedRE := regexp.MustCompile(`(?m)^// (Code|This file is) [Gg]enerated.*DO NOT EDIT`) + skipDirs := map[string]bool{ + ".git": true, + ".venv": true, + "node_modules": true, + "public": true, + "vendor": true, + "web_src": true, + } + root, bad := ".", 0 + err := filepath.WalkDir(root, func(path string, d fs.DirEntry, err error) error { + if err != nil { + return err + } + if d.IsDir() { + if rel, _ := filepath.Rel(root, path); skipDirs[filepath.ToSlash(rel)] { + return fs.SkipDir + } + return nil + } + if !strings.HasSuffix(path, ".go") { + return nil + } + f, err := os.Open(path) + if err != nil { + return err + } + data, err := io.ReadAll(io.LimitReader(f, 512)) + _ = f.Close() + if err != nil { + return err + } + if generatedRE.Match(data) { + return nil + } + if !headerRE.Match(data) { + _, _ = fmt.Fprintf(os.Stderr, "%s: missing or invalid copyright header\n", path) + bad++ + } + return nil + }) + if err != nil { + _, _ = fmt.Fprintln(os.Stderr, err) + } + return err == nil && bad == 0 +} + +func runCmd(env []string, name string, args []string) bool { + cmd := exec.Command(name, args...) + cmd.Env = append(os.Environ(), env...) + cmd.Stdout, cmd.Stderr = os.Stdout, os.Stderr + if err := cmd.Run(); err != nil { + _, _ = fmt.Fprintln(os.Stderr, err) + return false + } + return true +} + +func main() { + // 'go run' can not have distinct GOOS/GOARCH for its build and run steps, + // so install a pre-compiled binary and run it for different target platforms. + _, _ = os.Unsetenv("GOOS"), os.Unsetenv("GOARCH") + + envGolangciLintPackage := os.Getenv("GOLANGCI_LINT_PACKAGE") + envGo := os.Getenv("GO") + if envGo == "" || envGolangciLintPackage == "" { + _, _ = fmt.Fprintln(os.Stderr, "Environment variables GO and GOLANGCI_LINT_PACKAGE must be set") + os.Exit(1) + } + if !runCmd(nil, envGo, []string{"install", envGolangciLintPackage}) { + os.Exit(1) + } + + _, _ = fmt.Fprintln(os.Stdout, "lint go header ...") + succeed := lintGoHeader() + _, _ = fmt.Fprintln(os.Stdout, "lint for linux ...") + succeed = runCmd([]string{"GOOS=linux", "TAGS=bindata"}, "golangci-lint", append([]string{"run"}, os.Args[1:]...)) && succeed + _, _ = fmt.Fprintln(os.Stdout, "lint for windows ...") + succeed = runCmd([]string{"GOOS=windows", "TAGS=gogit"}, "golangci-lint", append([]string{"run"}, os.Args[1:]...)) && succeed + if !succeed { + os.Exit(1) + } +} From ce089f498bce32305b2d9e8c6adfd8cb7c82f88f Mon Sep 17 00:00:00 2001 From: silverwind Date: Sat, 9 May 2026 09:24:08 +0200 Subject: [PATCH 6/6] fix: improve actions status icons and texts (#37206) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Action runs, jobs and steps have 8 statuses but the UI only showed 5 (from the commit status api) for the latter two. Align all 8 to GitHub as closely as possible: - waiting — `octicon-circle` (hollow circle), gray - blocked — `octicon-blocked` (slashed circle), yellow - running — `gitea-running` (rotating spinner), yellow - cancelled — `octicon-stop` (gray), was `octicon-x` (red) Descriptions also aligned with GitHub: - "Has started running" → "In progress" - "Has been cancelled" → "Cancelled after {dur}" - "Has been skipped" → "Skipped" Fixes: https://github.com/go-gitea/gitea/issues/32228 --------- Signed-off-by: wxiaoguang Signed-off-by: silverwind Co-authored-by: Claude (Opus 4.6) Co-authored-by: wxiaoguang Co-authored-by: Nicolas --- modules/actions/commit_status_info.go | 70 ++++++++++++++++++ modules/templates/util_actions.go | 23 ++++++ routers/api/actions/artifactsv4.go | 2 +- routers/api/v1/repo/action.go | 13 ++-- routers/web/repo/actions/view.go | 4 +- {modules => services}/actions/artifacts.go | 0 services/actions/commit_status.go | 6 +- services/actions/commit_status_test.go | 72 ++++++++++++++++++- services/context/context.go | 1 + templates/repo/actions/runs_list.tmpl | 4 +- templates/repo/actions/status.tmpl | 23 ------ templates/repo/commit_statuses.tmpl | 4 +- templates/repo/icons/action_status.tmpl | 28 ++++++++ templates/repo/{ => icons}/commit_status.tmpl | 0 templates/repo/pulls/status_items.tmpl | 8 ++- web_src/js/components/ActionRunJobView.vue | 12 ++-- .../js/components/ActionRunSummaryView.vue | 6 +- web_src/js/components/ActionRunView.ts | 4 +- ...tionRunStatus.vue => ActionStatusIcon.vue} | 14 ++-- web_src/js/components/RepoActionView.vue | 8 +-- web_src/js/components/WorkflowGraph.vue | 8 +-- web_src/js/modules/gitea-actions.ts | 8 +-- 22 files changed, 248 insertions(+), 70 deletions(-) create mode 100644 modules/actions/commit_status_info.go create mode 100644 modules/templates/util_actions.go rename {modules => services}/actions/artifacts.go (100%) delete mode 100644 templates/repo/actions/status.tmpl create mode 100644 templates/repo/icons/action_status.tmpl rename templates/repo/{ => icons}/commit_status.tmpl (100%) rename web_src/js/components/{ActionRunStatus.vue => ActionStatusIcon.vue} (66%) diff --git a/modules/actions/commit_status_info.go b/modules/actions/commit_status_info.go new file mode 100644 index 0000000000..af06d35a2a --- /dev/null +++ b/modules/actions/commit_status_info.go @@ -0,0 +1,70 @@ +// Copyright 2026 The Gitea Authors. All rights reserved. +// SPDX-License-Identifier: MIT + +package actions + +import ( + "context" + "maps" + "slices" + + actions_model "code.gitea.io/gitea/models/actions" + "code.gitea.io/gitea/models/db" + git_model "code.gitea.io/gitea/models/git" + repo_model "code.gitea.io/gitea/models/repo" + "code.gitea.io/gitea/modules/log" +) + +// CommitActionsStatusMap maps CommitStatus.ID to the live ActionRunJob status +// for Gitea Actions rows. +type CommitActionsStatusMap map[int64]actions_model.Status + +// IconStatus returns the action status name to route the icon through +// repo/icons/action_status, or "" when the row isn't from Gitea Actions. +func (m CommitActionsStatusMap) IconStatus(s *git_model.CommitStatus) string { + if status, ok := m[s.ID]; ok { + return status.String() + } + return "" +} + +// GetCommitActionsStatusMap resolves the live ActionRunJob.Status for every +// CommitStatus row backed by Gitea Actions. Rows from other sources (external +// CIs, API) are left untouched and rendered from their stored State. +func GetCommitActionsStatusMap(ctx context.Context, statuses []*git_model.CommitStatus) CommitActionsStatusMap { + if len(statuses) == 0 { + return nil + } + statusByJobID := make(map[int64]*git_model.CommitStatus) + repoByID := make(map[int64]*repo_model.Repository) + for _, status := range statuses { + if status == nil || status.TargetURL == "" { + continue + } + if status.Repo == nil { + status.Repo = repoByID[status.RepoID] + } + // ParseGiteaActionsTargetURL lazy-loads status.Repo on miss; cache the + // outcome so later entries with the same RepoID skip that load. + _, jobID, ok := status.ParseGiteaActionsTargetURL(ctx) + repoByID[status.RepoID] = status.Repo + if ok { + statusByJobID[jobID] = status + } + } + if len(statusByJobID) == 0 { + return nil + } + jobs := make(map[int64]*actions_model.ActionRunJob, len(statusByJobID)) + if err := db.GetEngine(ctx).In("id", slices.Collect(maps.Keys(statusByJobID))).Cols("id", "status").Find(&jobs); err != nil { + log.Error("db.Find: failed to find action run jobs: %v", err) + return nil + } + info := make(CommitActionsStatusMap, len(jobs)) + for jobID, status := range statusByJobID { + if job, ok := jobs[jobID]; ok { + info[status.ID] = job.Status + } + } + return info +} diff --git a/modules/templates/util_actions.go b/modules/templates/util_actions.go new file mode 100644 index 0000000000..ad7c695185 --- /dev/null +++ b/modules/templates/util_actions.go @@ -0,0 +1,23 @@ +// Copyright 2026 The Gitea Authors. All rights reserved. +// SPDX-License-Identifier: MIT + +package templates + +import ( + "context" + + git_model "code.gitea.io/gitea/models/git" + actions_module "code.gitea.io/gitea/modules/actions" +) + +type ActionsUtils struct { + ctx context.Context +} + +func NewActionsUtils(ctx context.Context) *ActionsUtils { + return &ActionsUtils{ctx: ctx} +} + +func (a *ActionsUtils) CommitStatusesToActionsStatuses(statuses []*git_model.CommitStatus) actions_module.CommitActionsStatusMap { + return actions_module.GetCommitActionsStatusMap(a.ctx, statuses) +} diff --git a/routers/api/actions/artifactsv4.go b/routers/api/actions/artifactsv4.go index 8bd3fb7e2b..f1f33424ed 100644 --- a/routers/api/actions/artifactsv4.go +++ b/routers/api/actions/artifactsv4.go @@ -104,7 +104,6 @@ import ( actions_model "code.gitea.io/gitea/models/actions" "code.gitea.io/gitea/models/db" - "code.gitea.io/gitea/modules/actions" "code.gitea.io/gitea/modules/httplib" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/optional" @@ -112,6 +111,7 @@ import ( "code.gitea.io/gitea/modules/storage" "code.gitea.io/gitea/modules/util" "code.gitea.io/gitea/modules/web" + "code.gitea.io/gitea/services/actions" "code.gitea.io/gitea/services/context" "google.golang.org/protobuf/encoding/protojson" diff --git a/routers/api/v1/repo/action.go b/routers/api/v1/repo/action.go index 09b0cc5b2d..d23fc849ac 100644 --- a/routers/api/v1/repo/action.go +++ b/routers/api/v1/repo/action.go @@ -21,7 +21,6 @@ import ( "code.gitea.io/gitea/models/db" repo_model "code.gitea.io/gitea/models/repo" secret_model "code.gitea.io/gitea/models/secret" - "code.gitea.io/gitea/modules/actions" "code.gitea.io/gitea/modules/httplib" "code.gitea.io/gitea/modules/optional" "code.gitea.io/gitea/modules/setting" @@ -1877,7 +1876,7 @@ func GetArtifact(ctx *context.APIContext) { return } - if actions.IsArtifactV4(art) { + if actions_service.IsArtifactV4(art) { convertedArtifact, err := convert.ToActionArtifact(ctx.Repo.Repository, art) if err != nil { ctx.APIErrorInternal(err) @@ -1926,7 +1925,7 @@ func DeleteArtifact(ctx *context.APIContext) { return } - if actions.IsArtifactV4(art) { + if actions_service.IsArtifactV4(art) { if err := actions_model.SetArtifactNeedDeleteByID(ctx, art.ID); err != nil { ctx.APIErrorInternal(err) return @@ -1999,10 +1998,10 @@ func DownloadArtifact(ctx *context.APIContext) { return } - if actions.IsArtifactV4(art) { + if actions_service.IsArtifactV4(art) { // @actions/toolkit asserts that downloaded artifacts of a different runid return 302 // https://github.com/actions/toolkit/blob/44d43b5490b02998bd09b0c4ff369a4cc67876c2/packages/artifact/src/internal/download/download-artifact.ts#L203-L210 - if actions.DownloadArtifactV4ServeDirect(ctx.Base, art) { + if actions_service.DownloadArtifactV4ServeDirect(ctx.Base, art) { return } @@ -2054,8 +2053,8 @@ func DownloadArtifactRaw(ctx *context.APIContext) { ctx.APIError(http.StatusNotFound, "Artifact has expired") return } - if actions.IsArtifactV4(art) { - err := actions.DownloadArtifactV4(ctx.Base, art) + if actions_service.IsArtifactV4(art) { + err := actions_service.DownloadArtifactV4(ctx.Base, art) if err != nil { ctx.APIErrorInternal(err) return diff --git a/routers/web/repo/actions/view.go b/routers/web/repo/actions/view.go index 3ce4337fbc..726ab63e56 100644 --- a/routers/web/repo/actions/view.go +++ b/routers/web/repo/actions/view.go @@ -972,8 +972,8 @@ func ArtifactsDownloadView(ctx *context_module.Context) { // A v4 Artifact may only contain a single file // Multiple files are uploaded as a single file archive // All other cases fall back to the legacy v1–v3 zip handling below - if len(artifacts) == 1 && actions.IsArtifactV4(artifacts[0]) { - err := actions.DownloadArtifactV4(ctx.Base, artifacts[0]) + if len(artifacts) == 1 && actions_service.IsArtifactV4(artifacts[0]) { + err := actions_service.DownloadArtifactV4(ctx.Base, artifacts[0]) if err != nil { ctx.ServerError("DownloadArtifactV4", err) return diff --git a/modules/actions/artifacts.go b/services/actions/artifacts.go similarity index 100% rename from modules/actions/artifacts.go rename to services/actions/artifacts.go diff --git a/services/actions/commit_status.go b/services/actions/commit_status.go index 5a7f8f1f44..76c11da7cb 100644 --- a/services/actions/commit_status.go +++ b/services/actions/commit_status.go @@ -181,11 +181,11 @@ func toCommitStatusDescription(job *actions_model.ActionRunJob) string { case actions_model.StatusFailure: return fmt.Sprintf("Failing after %s", job.Duration()) case actions_model.StatusCancelled: - return "Has been cancelled" + return fmt.Sprintf("Cancelled after %s", job.Duration()) case actions_model.StatusSkipped: - return "Has been skipped" + return "Skipped" case actions_model.StatusRunning: - return "Has started running" + return "In progress" case actions_model.StatusWaiting: return "Waiting to run" case actions_model.StatusBlocked: diff --git a/services/actions/commit_status_test.go b/services/actions/commit_status_test.go index 6ff9393318..fa95a46383 100644 --- a/services/actions/commit_status_test.go +++ b/services/actions/commit_status_test.go @@ -11,13 +11,36 @@ import ( git_model "code.gitea.io/gitea/models/git" repo_model "code.gitea.io/gitea/models/repo" "code.gitea.io/gitea/models/unittest" + actions_module "code.gitea.io/gitea/modules/actions" "code.gitea.io/gitea/modules/commitstatus" "code.gitea.io/gitea/modules/gitrepo" + "code.gitea.io/gitea/modules/timeutil" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) +func TestCommitStatusDescription(t *testing.T) { + cases := []struct { + status actions_model.Status + started, stopped timeutil.TimeStamp + want string + }{ + {actions_model.StatusSuccess, 100, 102, "Successful in 2s"}, + {actions_model.StatusFailure, 100, 130, "Failing after 30s"}, + {actions_model.StatusCancelled, 100, 145, "Cancelled after 45s"}, + {actions_model.StatusSkipped, 0, 0, "Skipped"}, + {actions_model.StatusRunning, 0, 0, "In progress"}, + {actions_model.StatusWaiting, 0, 0, "Waiting to run"}, + {actions_model.StatusBlocked, 0, 0, "Blocked by required conditions"}, + {actions_model.StatusUnknown, 0, 0, "Unknown status: 0"}, + } + for _, tc := range cases { + job := &actions_model.ActionRunJob{Status: tc.status, Started: tc.started, Stopped: tc.stopped} + assert.Equal(t, tc.want, toCommitStatusDescription(job), tc.status.String()) + } +} + func TestCreateCommitStatus_Dedupe(t *testing.T) { assert.NoError(t, unittest.PrepareTestDatabase()) @@ -61,7 +84,7 @@ func TestCreateCommitStatus_Dedupe(t *testing.T) { require.Len(t, statuses, 2) assert.Equal(t, "Waiting to run", statuses[0].Description) assert.Equal(t, commitstatus.CommitStatusPending, statuses[1].State) - assert.Equal(t, "Has started running", statuses[1].Description) + assert.Equal(t, "In progress", statuses[1].Description) assert.Equal(t, expectedTargetURL, statuses[1].TargetURL) require.NoError(t, createCommitStatus(t.Context(), repo, "push", commit.ID.String(), run, job)) @@ -75,6 +98,53 @@ func TestCreateCommitStatus_Dedupe(t *testing.T) { assert.Equal(t, commitstatus.CommitStatusSuccess, statuses[2].State) } +func TestGetCommitActionsStatusMap(t *testing.T) { + assert.NoError(t, unittest.PrepareTestDatabase()) + + repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 4}) + branch := unittest.AssertExistsAndLoadBean(t, &git_model.Branch{RepoID: repo.ID, Name: repo.DefaultBranch}) + + run := &actions_model.ActionRun{ + RepoID: repo.ID, Repo: repo, OwnerID: repo.OwnerID, TriggerUserID: repo.OwnerID, + WorkflowID: "test.yaml", CommitSHA: branch.CommitID, + } + require.NoError(t, db.Insert(t.Context(), run)) + + cases := []struct { + jobName string + status actions_model.Status + }{ + {"running-job", actions_model.StatusRunning}, + {"waiting-job", actions_model.StatusWaiting}, + {"unknown-job", actions_model.StatusUnknown}, + } + for _, tc := range cases { + job := &actions_model.ActionRunJob{ + RunID: run.ID, RepoID: repo.ID, OwnerID: repo.OwnerID, Name: tc.jobName, Status: tc.status, + } + require.NoError(t, db.Insert(t.Context(), job)) + require.NoError(t, createCommitStatus(t.Context(), repo, "push", branch.CommitID, run, job)) + } + + statuses, err := git_model.GetLatestCommitStatus(t.Context(), repo.ID, branch.CommitID, db.ListOptionsAll) + require.NoError(t, err) + + info := actions_module.GetCommitActionsStatusMap(t.Context(), statuses) + got := map[string]string{} + for _, s := range statuses { + got[s.Context] = info.IconStatus(s) + } + for _, tc := range cases { + key := "test.yaml / " + tc.jobName + " (push)" + want := tc.status.String() + assert.Equal(t, want, got[key], "icon status for %s", tc.jobName) + } + + // Nil receiver returns "" without panicking — used by callers that skip enrichment. + var nilInfo actions_module.CommitActionsStatusMap + assert.Empty(t, nilInfo.IconStatus(statuses[0])) +} + func findCommitStatusesForContext(t *testing.T, repoID int64, sha, context string) []*git_model.CommitStatus { t.Helper() diff --git a/services/context/context.go b/services/context/context.go index e8b1663b22..b4e9904cd4 100644 --- a/services/context/context.go +++ b/services/context/context.go @@ -104,6 +104,7 @@ func NewTemplateContextForWeb(ctx reqctx.RequestContext, req *http.Request, loca tmplCtx["AvatarUtils"] = templates.NewAvatarUtils(ctx) tmplCtx["RenderUtils"] = templates.NewRenderUtils(ctx) tmplCtx["MiscUtils"] = templates.NewMiscUtils(ctx) + tmplCtx["ActionsUtils"] = templates.NewActionsUtils(ctx) tmplCtx["RootData"] = ctx.GetData() tmplCtx["Consts"] = map[string]any{ "RepoUnitTypeCode": unit.TypeCode, diff --git a/templates/repo/actions/runs_list.tmpl b/templates/repo/actions/runs_list.tmpl index f60d480f8a..e3a73c9739 100644 --- a/templates/repo/actions/runs_list.tmpl +++ b/templates/repo/actions/runs_list.tmpl @@ -8,7 +8,9 @@ {{range $run := .Runs}}
- {{template "repo/actions/status" (dict "status" $run.Status.String)}} + + {{template "repo/icons/action_status" (dict "Status" $run.Status.String "IconVariant" "circle-fill")}} +
diff --git a/templates/repo/actions/status.tmpl b/templates/repo/actions/status.tmpl deleted file mode 100644 index f44245086e..0000000000 --- a/templates/repo/actions/status.tmpl +++ /dev/null @@ -1,23 +0,0 @@ - -{{- $size := Iif .size .size 16 -}} -{{- $className := Iif .className .className "" -}} - -{{if eq .status "success"}} - {{svg "octicon-check-circle-fill" $size (printf "tw-text-green %s" $className)}} -{{else if eq .status "skipped"}} - {{svg "octicon-skip" $size (printf "tw-text-text-light %s" $className)}} -{{else if eq .status "cancelled"}} - {{svg "octicon-stop" $size (printf "tw-text-text-light %s" $className)}} -{{else if eq .status "waiting"}} - {{svg "octicon-circle" $size (printf "tw-text-text-light %s" $className)}} -{{else if eq .status "blocked"}} - {{svg "octicon-blocked" $size (printf "tw-text-yellow %s" $className)}} -{{else if eq .status "running"}} - {{svg "gitea-running" $size (printf "tw-text-yellow rotate-clockwise %s" $className)}} -{{else}}{{/*failure, unknown*/}} - {{svg "octicon-x-circle-fill" $size (printf "tw-text-red %s" $className)}} -{{end}} - diff --git a/templates/repo/commit_statuses.tmpl b/templates/repo/commit_statuses.tmpl index 4575827ceb..fb1e6fbf9b 100644 --- a/templates/repo/commit_statuses.tmpl +++ b/templates/repo/commit_statuses.tmpl @@ -1,11 +1,11 @@ {{if .Statuses}} {{if and (eq (len .Statuses) 1) .Status.TargetURL}} - {{template "repo/commit_status" .Status}} + {{template "repo/icons/commit_status" .Status}} {{else}} - {{template "repo/commit_status" .Status}} + {{template "repo/icons/commit_status" .Status}} {{end}}
diff --git a/templates/repo/icons/action_status.tmpl b/templates/repo/icons/action_status.tmpl new file mode 100644 index 0000000000..4f381bdb0e --- /dev/null +++ b/templates/repo/icons/action_status.tmpl @@ -0,0 +1,28 @@ +{{/* Status icons used for runs, jobs and steps. + +Template Attributes: +* Status: one of success, skipped, waiting, blocked, running, failure, cancelled, unknown +* Size: icon size in pixels (default 16) +* ClassName: additional CSS classes +* IconVariant: "circle-fill" → octicon-check-circle-fill / octicon-x-circle-fill + +Keep this template in sync with web_src/js/components/ActionStatusIcon.vue. +*/}} +{{- $size := or .Size 16 -}} +{{- $className := or .ClassName "" -}} +{{- $circleFill := eq .IconVariant "circle-fill" -}} +{{if eq .Status "success"}} + {{svg (Iif $circleFill "octicon-check-circle-fill" "octicon-check") $size (printf "tw-text-green %s" $className)}} +{{else if eq .Status "skipped"}} + {{svg "octicon-skip" $size (printf "tw-text-text-light %s" $className)}} +{{else if eq .Status "cancelled"}} + {{svg "octicon-stop" $size (printf "tw-text-text-light %s" $className)}} +{{else if eq .Status "waiting"}} + {{svg "octicon-circle" $size (printf "tw-text-text-light %s" $className)}} +{{else if eq .Status "blocked"}} + {{svg "octicon-blocked" $size (printf "tw-text-yellow %s" $className)}} +{{else if eq .Status "running"}} + {{svg "gitea-running" $size (printf "tw-text-yellow rotate-clockwise %s" $className)}} +{{else}}{{/*failure, unknown*/}} + {{svg (Iif $circleFill "octicon-x-circle-fill" "octicon-x") $size (printf "tw-text-red %s" $className)}} +{{end}} diff --git a/templates/repo/commit_status.tmpl b/templates/repo/icons/commit_status.tmpl similarity index 100% rename from templates/repo/commit_status.tmpl rename to templates/repo/icons/commit_status.tmpl diff --git a/templates/repo/pulls/status_items.tmpl b/templates/repo/pulls/status_items.tmpl index b4f8307395..415f9a8a32 100644 --- a/templates/repo/pulls/status_items.tmpl +++ b/templates/repo/pulls/status_items.tmpl @@ -3,10 +3,16 @@ * StatusCheckData: optional, additional status check data, see backend pullCommitStatusCheckData struct */}} {{$statusCheckData := $.StatusCheckData}} +{{$commitActionsStatuses := ctx.ActionsUtils.CommitStatusesToActionsStatuses $.CommitStatuses}} {{range $cs := $.CommitStatuses}}
- {{template "repo/commit_status" $cs}} + {{$actionStatus := $commitActionsStatuses.IconStatus $cs}} + {{if $actionStatus}} + {{template "repo/icons/action_status" (dict "Status" $actionStatus "Size" 18 "ClassName" "commit-status icon")}} + {{else}} + {{template "repo/icons/commit_status" $cs}} + {{end}}
{{$cs.Context}} {{$cs.Description}}
diff --git a/web_src/js/components/ActionRunJobView.vue b/web_src/js/components/ActionRunJobView.vue index a78385b6b4..8bae33e71b 100644 --- a/web_src/js/components/ActionRunJobView.vue +++ b/web_src/js/components/ActionRunJobView.vue @@ -1,14 +1,14 @@ diff --git a/web_src/js/components/RepoActionView.vue b/web_src/js/components/RepoActionView.vue index 4d20392dac..725a996028 100644 --- a/web_src/js/components/RepoActionView.vue +++ b/web_src/js/components/RepoActionView.vue @@ -1,6 +1,6 @@