Merge branch 'forgejo' into cleanup-pkg-arch-route
This commit is contained in:
		
				commit
				
					
						8d05268a92
					
				
			
		
					 15 changed files with 248 additions and 233 deletions
				
			
		
							
								
								
									
										59
									
								
								.forgejo/workflows/backport.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								.forgejo/workflows/backport.yml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,59 @@
 | 
			
		|||
# Copyright 2024 The Forgejo Authors
 | 
			
		||||
# SPDX-License-Identifier: MIT
 | 
			
		||||
#
 | 
			
		||||
# To modify this workflow:
 | 
			
		||||
#
 | 
			
		||||
#  - change pull_request_target: to  pull_request:
 | 
			
		||||
#    so that it runs from a pull request instead of the default branch
 | 
			
		||||
#
 | 
			
		||||
#  - push it to the wip-ci-backport branch on the forgejo repository
 | 
			
		||||
#    otherwise it will not have access to the secrets required to push
 | 
			
		||||
#    the PR
 | 
			
		||||
#
 | 
			
		||||
#  - open a pull request targetting wip-ci-backport that includes a change
 | 
			
		||||
#    that can be backported without conflict in v1.21 and set the
 | 
			
		||||
#    `backport/v1.21` label.
 | 
			
		||||
#
 | 
			
		||||
#  - once it works, open a pull request for the sake of keeping track
 | 
			
		||||
#    of the change even if the PR won't run it because it will use
 | 
			
		||||
#    whatever is in the default branch instead
 | 
			
		||||
#
 | 
			
		||||
#  - after it is merged, double check it works by setting a
 | 
			
		||||
#    `backport/v1.21` label on a merged pull request that can be backported
 | 
			
		||||
#    without conflict.
 | 
			
		||||
#
 | 
			
		||||
on:
 | 
			
		||||
  pull_request_target:
 | 
			
		||||
    types:
 | 
			
		||||
      - closed
 | 
			
		||||
      - labeled
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  backporting:
 | 
			
		||||
    if: >
 | 
			
		||||
      ( vars.ROLE == 'forgejo-coding' ) && (
 | 
			
		||||
        github.event.pull_request.merged
 | 
			
		||||
        &&
 | 
			
		||||
        contains(toJSON(github.event.pull_request.labels), 'backport/v')
 | 
			
		||||
      )
 | 
			
		||||
    runs-on: docker
 | 
			
		||||
    container:
 | 
			
		||||
      image: 'code.forgejo.org/oci/node:20-bookworm'
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: event info
 | 
			
		||||
        run: |
 | 
			
		||||
          cat <<'EOF'
 | 
			
		||||
          ${{ toJSON(github) }}
 | 
			
		||||
          EOF
 | 
			
		||||
      - uses: https://code.forgejo.org/actions/git-backporting@v4.8.4
 | 
			
		||||
        with:
 | 
			
		||||
          target-branch-pattern: "^backport/(?<target>(v.*))$"
 | 
			
		||||
          strategy: ort
 | 
			
		||||
          strategy-option: find-renames
 | 
			
		||||
          cherry-pick-options: -x
 | 
			
		||||
          auth: ${{ secrets.BACKPORT_TOKEN }}
 | 
			
		||||
          pull-request: ${{ github.event.pull_request.url }}
 | 
			
		||||
          auto-no-squash: true
 | 
			
		||||
          enable-err-notification: true
 | 
			
		||||
          git-user: forgejo-backport-action
 | 
			
		||||
          git-email: forgejo-backport-action@noreply.codeberg.org
 | 
			
		||||
							
								
								
									
										75
									
								
								.forgejo/workflows/cascade-setup-end-to-end.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								.forgejo/workflows/cascade-setup-end-to-end.yml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,75 @@
 | 
			
		|||
# Copyright 2024 The Forgejo Authors
 | 
			
		||||
# SPDX-License-Identifier: MIT
 | 
			
		||||
#
 | 
			
		||||
# To modify this workflow:
 | 
			
		||||
#
 | 
			
		||||
#  - push it to the wip-ci-end-to-end branch on the forgejo repository
 | 
			
		||||
#    otherwise it will not have access to the secrets required to push
 | 
			
		||||
#    the cascading PR
 | 
			
		||||
#
 | 
			
		||||
#  - once it works, open a pull request for the sake of keeping track
 | 
			
		||||
#    of the change even if the PR won't run it because it will use
 | 
			
		||||
#    whatever is in the default branch instead
 | 
			
		||||
#
 | 
			
		||||
#  - after it is merged, double check it works by setting the
 | 
			
		||||
#    run-end-to-end-test on a pull request (any pull request will do)
 | 
			
		||||
#
 | 
			
		||||
name: end-to-end
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  push:
 | 
			
		||||
    branches:
 | 
			
		||||
      - 'wip-ci-end-to-end'
 | 
			
		||||
  pull_request_target:
 | 
			
		||||
    types:
 | 
			
		||||
      - labeled
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  info:
 | 
			
		||||
    if: vars.ROLE == 'forgejo-coding'
 | 
			
		||||
    runs-on: docker
 | 
			
		||||
    container:
 | 
			
		||||
      image: code.forgejo.org/oci/node:20-bookworm
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: event
 | 
			
		||||
        run: |
 | 
			
		||||
          echo github.event.pull_request.head.repo.fork = ${{ github.event.pull_request.head.repo.fork }}
 | 
			
		||||
          echo github.event.action = ${{ github.event.action }}
 | 
			
		||||
          echo github.event.label
 | 
			
		||||
          cat <<'EOF'
 | 
			
		||||
          ${{ toJSON(github.event.label) }}
 | 
			
		||||
          EOF
 | 
			
		||||
          cat <<'EOF'
 | 
			
		||||
          ${{ toJSON(github.event) }}
 | 
			
		||||
          EOF
 | 
			
		||||
 | 
			
		||||
  cascade:
 | 
			
		||||
    if: >
 | 
			
		||||
      vars.ROLE == 'forgejo-coding' && (
 | 
			
		||||
        github.event_name == 'push' ||
 | 
			
		||||
        (
 | 
			
		||||
          github.event.action == 'label_updated' && github.event.label.name == 'run-end-to-end-tests'
 | 
			
		||||
        )
 | 
			
		||||
      )
 | 
			
		||||
    runs-on: docker
 | 
			
		||||
    container:
 | 
			
		||||
      image: code.forgejo.org/oci/node:20-bookworm
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v4
 | 
			
		||||
        with:
 | 
			
		||||
          fetch-depth: '0'
 | 
			
		||||
          show-progress: 'false'
 | 
			
		||||
      - uses: actions/cascading-pr@v2
 | 
			
		||||
        with:
 | 
			
		||||
          origin-url: ${{ env.GITHUB_SERVER_URL }}
 | 
			
		||||
          origin-repo: ${{ github.repository }}
 | 
			
		||||
          origin-token: ${{ secrets.END_TO_END_CASCADING_PR_ORIGIN }}
 | 
			
		||||
          origin-pr: ${{ github.event.pull_request.number }}
 | 
			
		||||
          origin-ref: ${{ github.event_name == 'push' && github.event.ref || '' }}
 | 
			
		||||
          destination-url: https://code.forgejo.org
 | 
			
		||||
          destination-fork-repo: cascading-pr/end-to-end
 | 
			
		||||
          destination-repo: forgejo/end-to-end
 | 
			
		||||
          destination-branch: main
 | 
			
		||||
          destination-token: ${{ secrets.END_TO_END_CASCADING_PR_DESTINATION }}
 | 
			
		||||
          close-merge: true
 | 
			
		||||
          update: .forgejo/cascading-pr-end-to-end
 | 
			
		||||
| 
						 | 
				
			
			@ -1,206 +0,0 @@
 | 
			
		|||
# Copyright 2024 The Forgejo Authors
 | 
			
		||||
# SPDX-License-Identifier: MIT
 | 
			
		||||
#
 | 
			
		||||
# To modify the pull_request_target jobs:
 | 
			
		||||
#
 | 
			
		||||
#  - push it to the wip-ci-issue-labels branch on the forgejo repository
 | 
			
		||||
#    otherwise it will not have access to the required secrets.
 | 
			
		||||
#
 | 
			
		||||
#  - once it works, open a pull request for the sake of keeping track
 | 
			
		||||
#    of the change even if the PR won't run it because it will use
 | 
			
		||||
#    whatever is in the default branch instead
 | 
			
		||||
#
 | 
			
		||||
#  - after it is merged, double check it works by changing the labels
 | 
			
		||||
#    to trigger the job.
 | 
			
		||||
#
 | 
			
		||||
name: issue-labels
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  push:
 | 
			
		||||
    branches:
 | 
			
		||||
      - 'wip-ci-issue-labels'
 | 
			
		||||
 | 
			
		||||
  pull_request_target:
 | 
			
		||||
    types:
 | 
			
		||||
      - closed
 | 
			
		||||
      - edited
 | 
			
		||||
      - labeled
 | 
			
		||||
      - synchronize
 | 
			
		||||
 | 
			
		||||
  pull_request:
 | 
			
		||||
    types:
 | 
			
		||||
      - edited
 | 
			
		||||
      - labeled
 | 
			
		||||
      - opened
 | 
			
		||||
      - synchronize
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  info:
 | 
			
		||||
    if: vars.ROLE == 'forgejo-coding'
 | 
			
		||||
    runs-on: docker
 | 
			
		||||
    container:
 | 
			
		||||
      image: code.forgejo.org/oci/node:20-bookworm
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Debug info
 | 
			
		||||
        run: |
 | 
			
		||||
          cat <<'EOF'
 | 
			
		||||
          ${{ toJSON(github) }}
 | 
			
		||||
          EOF
 | 
			
		||||
 | 
			
		||||
  end-to-end:
 | 
			
		||||
    if: >
 | 
			
		||||
      vars.ROLE == 'forgejo-coding' &&
 | 
			
		||||
 | 
			
		||||
      secrets.END_TO_END_CASCADING_PR_DESTINATION != '' &&
 | 
			
		||||
      secrets.END_TO_END_CASCADING_PR_ORIGIN != '' &&
 | 
			
		||||
 | 
			
		||||
      (
 | 
			
		||||
        github.event_name == 'push' ||
 | 
			
		||||
        (
 | 
			
		||||
          github.event_name == 'pull_request_target' &&
 | 
			
		||||
          github.event.action == 'label_updated' &&
 | 
			
		||||
          github.event.label.name == 'run-end-to-end-tests'
 | 
			
		||||
        )
 | 
			
		||||
      )
 | 
			
		||||
    runs-on: docker
 | 
			
		||||
    container:
 | 
			
		||||
      image: code.forgejo.org/oci/node:20-bookworm
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Debug info
 | 
			
		||||
        run: |
 | 
			
		||||
          cat <<'EOF'
 | 
			
		||||
          ${{ toJSON(github) }}
 | 
			
		||||
          EOF
 | 
			
		||||
      - uses: actions/checkout@v4
 | 
			
		||||
        with:
 | 
			
		||||
          fetch-depth: '0'
 | 
			
		||||
          show-progress: 'false'
 | 
			
		||||
      - uses: actions/cascading-pr@v2
 | 
			
		||||
        with:
 | 
			
		||||
          origin-url: ${{ env.GITHUB_SERVER_URL }}
 | 
			
		||||
          origin-repo: ${{ github.repository }}
 | 
			
		||||
          origin-token: ${{ secrets.END_TO_END_CASCADING_PR_ORIGIN }}
 | 
			
		||||
          origin-pr: ${{ github.event.pull_request.number }}
 | 
			
		||||
          origin-ref: ${{ github.event_name == 'push' && github.event.ref || '' }}
 | 
			
		||||
          destination-url: https://code.forgejo.org
 | 
			
		||||
          destination-fork-repo: cascading-pr/end-to-end
 | 
			
		||||
          destination-repo: forgejo/end-to-end
 | 
			
		||||
          destination-branch: main
 | 
			
		||||
          destination-token: ${{ secrets.END_TO_END_CASCADING_PR_DESTINATION }}
 | 
			
		||||
          close-merge: true
 | 
			
		||||
          update: .forgejo/cascading-pr-end-to-end
 | 
			
		||||
 | 
			
		||||
  backporting:
 | 
			
		||||
    if: >
 | 
			
		||||
      vars.ROLE == 'forgejo-coding' &&
 | 
			
		||||
 | 
			
		||||
      secrets.BACKPORT_TOKEN != '' &&
 | 
			
		||||
 | 
			
		||||
      github.event_name == 'pull_request_target' &&
 | 
			
		||||
      (
 | 
			
		||||
        github.event.pull_request.merged &&
 | 
			
		||||
        contains(toJSON(github.event.pull_request.labels), 'backport/v')
 | 
			
		||||
      )
 | 
			
		||||
    runs-on: docker
 | 
			
		||||
    container:
 | 
			
		||||
      image: 'code.forgejo.org/oci/node:20-bookworm'
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Debug info
 | 
			
		||||
        run: |
 | 
			
		||||
          cat <<'EOF'
 | 
			
		||||
          ${{ toJSON(github) }}
 | 
			
		||||
          EOF
 | 
			
		||||
      - uses: https://code.forgejo.org/actions/git-backporting@v4.8.4
 | 
			
		||||
        with:
 | 
			
		||||
          target-branch-pattern: "^backport/(?<target>(v.*))$"
 | 
			
		||||
          strategy: ort
 | 
			
		||||
          strategy-option: find-renames
 | 
			
		||||
          cherry-pick-options: -x
 | 
			
		||||
          auth: ${{ secrets.BACKPORT_TOKEN }}
 | 
			
		||||
          pull-request: ${{ github.event.pull_request.url }}
 | 
			
		||||
          auto-no-squash: true
 | 
			
		||||
          enable-err-notification: true
 | 
			
		||||
          git-user: forgejo-backport-action
 | 
			
		||||
          git-email: forgejo-backport-action@noreply.codeberg.org
 | 
			
		||||
 | 
			
		||||
  merge-conditions:
 | 
			
		||||
    if: >
 | 
			
		||||
      vars.ROLE == 'forgejo-coding' &&
 | 
			
		||||
 | 
			
		||||
      github.event_name == 'pull_request' &&
 | 
			
		||||
      (
 | 
			
		||||
        github.event.action == 'label_updated' ||
 | 
			
		||||
        github.event.action == 'edited' ||
 | 
			
		||||
        github.event.action == 'synchronized' ||
 | 
			
		||||
        github.event.action == 'opened'
 | 
			
		||||
      )
 | 
			
		||||
    runs-on: docker
 | 
			
		||||
    container:
 | 
			
		||||
      image: 'code.forgejo.org/oci/node:20-bookworm'
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Debug info
 | 
			
		||||
        run: |
 | 
			
		||||
          cat <<'EOF'
 | 
			
		||||
          ${{ toJSON(github) }}
 | 
			
		||||
          EOF
 | 
			
		||||
      - name: Missing test label
 | 
			
		||||
        if: >
 | 
			
		||||
          !(
 | 
			
		||||
            contains(toJSON(github.event.pull_request.labels), 'test/present')
 | 
			
		||||
            || contains(toJSON(github.event.pull_request.labels), 'test/not-needed')
 | 
			
		||||
            || contains(toJSON(github.event.pull_request.labels), 'test/manual')
 | 
			
		||||
          )
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "Test label must be set to either 'present', 'not-needed' or 'manual'."
 | 
			
		||||
          exit 1
 | 
			
		||||
      - name: Missing manual test instructions
 | 
			
		||||
        if: >
 | 
			
		||||
          (
 | 
			
		||||
            contains(toJSON(github.event.pull_request.labels), 'test/manual')
 | 
			
		||||
            && !contains(toJSON(github.event.pull_request.body), '# Test')
 | 
			
		||||
          )
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "Manual test label is set. The PR description needs to contain test steps introduced by a heading like:"
 | 
			
		||||
          echo "# Testing"
 | 
			
		||||
          exit 1
 | 
			
		||||
 | 
			
		||||
  release-notes:
 | 
			
		||||
    if: >
 | 
			
		||||
      vars.ROLE == 'forgejo-coding' &&
 | 
			
		||||
 | 
			
		||||
      secrets.RELEASE_NOTES_ASSISTANT_TOKEN != '' &&
 | 
			
		||||
 | 
			
		||||
      github.event_name == 'pull_request_target' &&
 | 
			
		||||
      contains(github.event.pull_request.labels.*.name, 'worth a release-note') &&
 | 
			
		||||
      (
 | 
			
		||||
        github.event.action == 'label_updated' ||
 | 
			
		||||
        github.event.action == 'edited' ||
 | 
			
		||||
        github.event.action == 'synchronized'
 | 
			
		||||
      )
 | 
			
		||||
 | 
			
		||||
    runs-on: docker
 | 
			
		||||
    container:
 | 
			
		||||
      image: 'code.forgejo.org/oci/node:20-bookworm'
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Debug info
 | 
			
		||||
        run: |
 | 
			
		||||
          cat <<'EOF'
 | 
			
		||||
          ${{ toJSON(github) }}
 | 
			
		||||
          EOF
 | 
			
		||||
 | 
			
		||||
      - uses: https://code.forgejo.org/actions/checkout@v4
 | 
			
		||||
 | 
			
		||||
      - uses: https://code.forgejo.org/actions/setup-go@v5
 | 
			
		||||
        with:
 | 
			
		||||
          go-version-file: "go.mod"
 | 
			
		||||
          cache: false
 | 
			
		||||
 | 
			
		||||
      - name: apt install jq
 | 
			
		||||
        run: |
 | 
			
		||||
          export DEBIAN_FRONTEND=noninteractive
 | 
			
		||||
          apt-get update -qq
 | 
			
		||||
          apt-get -q install -y -qq jq
 | 
			
		||||
 | 
			
		||||
      - name: release-notes-assistant preview
 | 
			
		||||
        run: |
 | 
			
		||||
          go run code.forgejo.org/forgejo/release-notes-assistant@v1.1.1 --config .release-notes-assistant.yaml --storage pr --storage-location ${{ github.event.pull_request.number }}  --forgejo-url $GITHUB_SERVER_URL --repository $GITHUB_REPOSITORY --token ${{ secrets.RELEASE_NOTES_ASSISTANT_TOKEN }} preview ${{ github.event.pull_request.number }}
 | 
			
		||||
							
								
								
									
										45
									
								
								.forgejo/workflows/merge-requirements.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								.forgejo/workflows/merge-requirements.yml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,45 @@
 | 
			
		|||
# Copyright 2024 The Forgejo Authors
 | 
			
		||||
# SPDX-License-Identifier: MIT
 | 
			
		||||
 | 
			
		||||
name: requirements
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  pull_request:
 | 
			
		||||
    types:
 | 
			
		||||
      - labeled
 | 
			
		||||
      - edited
 | 
			
		||||
      - opened
 | 
			
		||||
      - synchronize
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  merge-conditions:
 | 
			
		||||
    if: vars.ROLE == 'forgejo-coding'
 | 
			
		||||
    runs-on: docker
 | 
			
		||||
    container:
 | 
			
		||||
      image: 'code.forgejo.org/oci/node:20-bookworm'
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Debug output
 | 
			
		||||
        run: |
 | 
			
		||||
          cat <<'EOF'
 | 
			
		||||
          ${{ toJSON(github.event) }}
 | 
			
		||||
          EOF
 | 
			
		||||
      - name: Missing test label
 | 
			
		||||
        if: >
 | 
			
		||||
          !(
 | 
			
		||||
            contains(toJSON(github.event.pull_request.labels), 'test/present')
 | 
			
		||||
            || contains(toJSON(github.event.pull_request.labels), 'test/not-needed')
 | 
			
		||||
            || contains(toJSON(github.event.pull_request.labels), 'test/manual')
 | 
			
		||||
          )
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "Test label must be set to either 'present', 'not-needed' or 'manual'."
 | 
			
		||||
          exit 1
 | 
			
		||||
      - name: Missing manual test instructions
 | 
			
		||||
        if: >
 | 
			
		||||
          (
 | 
			
		||||
            contains(toJSON(github.event.pull_request.labels), 'test/manual')
 | 
			
		||||
            && !contains(toJSON(github.event.pull_request.body), '# Test')
 | 
			
		||||
          )
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "Manual test label is set. The PR description needs to contain test steps introduced by a heading like:"
 | 
			
		||||
          echo "# Testing"
 | 
			
		||||
          exit 1
 | 
			
		||||
							
								
								
									
										39
									
								
								.forgejo/workflows/release-notes-assistant.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								.forgejo/workflows/release-notes-assistant.yml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,39 @@
 | 
			
		|||
on:
 | 
			
		||||
  pull_request_target:
 | 
			
		||||
    types:
 | 
			
		||||
      - edited
 | 
			
		||||
      - synchronize
 | 
			
		||||
      - labeled
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  release-notes:
 | 
			
		||||
    if: ( vars.ROLE == 'forgejo-coding' ) && contains(github.event.pull_request.labels.*.name, 'worth a release-note')
 | 
			
		||||
    runs-on: docker
 | 
			
		||||
    container:
 | 
			
		||||
      image: 'code.forgejo.org/oci/node:20-bookworm'
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: https://code.forgejo.org/actions/checkout@v4
 | 
			
		||||
 | 
			
		||||
      - name: event
 | 
			
		||||
        run: |
 | 
			
		||||
          cat <<'EOF'
 | 
			
		||||
          ${{ toJSON(github.event.pull_request.labels.*.name) }}
 | 
			
		||||
          EOF
 | 
			
		||||
          cat <<'EOF'
 | 
			
		||||
          ${{ toJSON(github.event) }}
 | 
			
		||||
          EOF
 | 
			
		||||
 | 
			
		||||
      - uses: https://code.forgejo.org/actions/setup-go@v5
 | 
			
		||||
        with:
 | 
			
		||||
          go-version-file: "go.mod"
 | 
			
		||||
          cache: false
 | 
			
		||||
 | 
			
		||||
      - name: apt install jq
 | 
			
		||||
        run: |
 | 
			
		||||
          export DEBIAN_FRONTEND=noninteractive
 | 
			
		||||
          apt-get update -qq
 | 
			
		||||
          apt-get -q install -y -qq jq
 | 
			
		||||
 | 
			
		||||
      - name: release-notes-assistant preview
 | 
			
		||||
        run: |
 | 
			
		||||
          go run code.forgejo.org/forgejo/release-notes-assistant@v1.1.1 --config .release-notes-assistant.yaml --storage pr --storage-location ${{ github.event.pull_request.number }}  --forgejo-url $GITHUB_SERVER_URL --repository $GITHUB_REPOSITORY --token ${{ secrets.RELEASE_NOTES_ASSISTANT_TOKEN }} preview ${{ github.event.pull_request.number }}
 | 
			
		||||
| 
						 | 
				
			
			@ -23,7 +23,7 @@ jobs:
 | 
			
		|||
  renovate:
 | 
			
		||||
    if: vars.ROLE == 'forgejo-coding' && secrets.RENOVATE_TOKEN != ''
 | 
			
		||||
 | 
			
		||||
    runs-on: docker-runner-one
 | 
			
		||||
    runs-on: docker
 | 
			
		||||
    container:
 | 
			
		||||
      image: code.forgejo.org/forgejo-contrib/renovate:39.42.4
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										2
									
								
								Makefile
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -46,7 +46,7 @@ SWAGGER_PACKAGE ?= github.com/go-swagger/go-swagger/cmd/swagger@v0.31.0 # renova
 | 
			
		|||
XGO_PACKAGE ?= src.techknowlogick.com/xgo@latest
 | 
			
		||||
GO_LICENSES_PACKAGE ?= github.com/google/go-licenses@v1.6.0 # renovate: datasource=go
 | 
			
		||||
GOVULNCHECK_PACKAGE ?= golang.org/x/vuln/cmd/govulncheck@v1 # renovate: datasource=go
 | 
			
		||||
DEADCODE_PACKAGE ?= golang.org/x/tools/cmd/deadcode@v0.26.0 # renovate: datasource=go
 | 
			
		||||
DEADCODE_PACKAGE ?= golang.org/x/tools/cmd/deadcode@v0.28.0 # renovate: datasource=go
 | 
			
		||||
GOMOCK_PACKAGE ?= go.uber.org/mock/mockgen@v0.4.0 # renovate: datasource=go
 | 
			
		||||
GOPLS_PACKAGE ?= golang.org/x/tools/gopls@v0.16.2 # renovate: datasource=go
 | 
			
		||||
RENOVATE_NPM_PACKAGE ?= renovate@39.42.4 # renovate: datasource=docker packageName=code.forgejo.org/forgejo-contrib/renovate
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,7 +18,7 @@ import (
 | 
			
		|||
var CmdMigrate = &cli.Command{
 | 
			
		||||
	Name:        "migrate",
 | 
			
		||||
	Usage:       "Migrate the database",
 | 
			
		||||
	Description: "This is a command for migrating the database, so that you can run gitea admin user create before starting the server.",
 | 
			
		||||
	Description: "This is a command for migrating the database, so that you can run 'forgejo admin user create' before starting the server.",
 | 
			
		||||
	Action:      runMigrate,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										12
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										12
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							| 
						 | 
				
			
			@ -5,11 +5,11 @@
 | 
			
		|||
        "systems": "systems"
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1710146030,
 | 
			
		||||
        "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
 | 
			
		||||
        "lastModified": 1731533236,
 | 
			
		||||
        "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
 | 
			
		||||
        "owner": "numtide",
 | 
			
		||||
        "repo": "flake-utils",
 | 
			
		||||
        "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
 | 
			
		||||
        "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
| 
						 | 
				
			
			@ -20,11 +20,11 @@
 | 
			
		|||
    },
 | 
			
		||||
    "nixpkgs": {
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1720542800,
 | 
			
		||||
        "narHash": "sha256-ZgnNHuKV6h2+fQ5LuqnUaqZey1Lqqt5dTUAiAnqH0QQ=",
 | 
			
		||||
        "lastModified": 1733392399,
 | 
			
		||||
        "narHash": "sha256-kEsTJTUQfQFIJOcLYFt/RvNxIK653ZkTBIs4DG+cBns=",
 | 
			
		||||
        "owner": "nixos",
 | 
			
		||||
        "repo": "nixpkgs",
 | 
			
		||||
        "rev": "feb2849fdeb70028c70d73b848214b00d324a497",
 | 
			
		||||
        "rev": "d0797a04b81caeae77bcff10a9dde78bc17f5661",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										15
									
								
								flake.nix
									
										
									
									
									
								
							
							
						
						
									
										15
									
								
								flake.nix
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -3,14 +3,15 @@
 | 
			
		|||
    nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
 | 
			
		||||
    flake-utils.url = "github:numtide/flake-utils";
 | 
			
		||||
  };
 | 
			
		||||
  outputs =
 | 
			
		||||
    { nixpkgs, flake-utils, ... }:
 | 
			
		||||
  outputs = {
 | 
			
		||||
    nixpkgs,
 | 
			
		||||
    flake-utils,
 | 
			
		||||
    ...
 | 
			
		||||
  }:
 | 
			
		||||
    flake-utils.lib.eachDefaultSystem (
 | 
			
		||||
      system:
 | 
			
		||||
      let
 | 
			
		||||
      system: let
 | 
			
		||||
        pkgs = nixpkgs.legacyPackages.${system};
 | 
			
		||||
      in
 | 
			
		||||
      {
 | 
			
		||||
      in {
 | 
			
		||||
        devShells.default = pkgs.mkShell {
 | 
			
		||||
          buildInputs = with pkgs; [
 | 
			
		||||
            # generic
 | 
			
		||||
| 
						 | 
				
			
			@ -31,6 +32,8 @@
 | 
			
		|||
            # backend
 | 
			
		||||
            gofumpt
 | 
			
		||||
            sqlite
 | 
			
		||||
            go
 | 
			
		||||
            gopls
 | 
			
		||||
          ];
 | 
			
		||||
        };
 | 
			
		||||
      }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										4
									
								
								go.mod
									
										
									
									
									
								
							
							
						
						
									
										4
									
								
								go.mod
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -111,7 +111,7 @@ require (
 | 
			
		|||
	golang.org/x/sync v0.10.0
 | 
			
		||||
	golang.org/x/sys v0.28.0
 | 
			
		||||
	golang.org/x/text v0.21.0
 | 
			
		||||
	golang.org/x/tools v0.26.0
 | 
			
		||||
	golang.org/x/tools v0.28.0
 | 
			
		||||
	google.golang.org/grpc v1.68.0
 | 
			
		||||
	google.golang.org/protobuf v1.35.1
 | 
			
		||||
	gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df
 | 
			
		||||
| 
						 | 
				
			
			@ -284,7 +284,7 @@ require (
 | 
			
		|||
	go.uber.org/multierr v1.11.0 // indirect
 | 
			
		||||
	go.uber.org/zap v1.27.0 // indirect
 | 
			
		||||
	golang.org/x/exp v0.0.0-20240119083558-1b970713d09a // indirect
 | 
			
		||||
	golang.org/x/mod v0.21.0 // indirect
 | 
			
		||||
	golang.org/x/mod v0.22.0 // indirect
 | 
			
		||||
	golang.org/x/time v0.5.0 // indirect
 | 
			
		||||
	google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 // indirect
 | 
			
		||||
	gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										8
									
								
								go.sum
									
										
									
									
									
								
							
							
						
						
									
										8
									
								
								go.sum
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -745,8 +745,8 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 | 
			
		|||
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 | 
			
		||||
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
 | 
			
		||||
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
 | 
			
		||||
golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0=
 | 
			
		||||
golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
 | 
			
		||||
golang.org/x/mod v0.22.0 h1:D4nJWe9zXqHOmWqj4VMOJhvzj7bEZg4wEYa759z1pH4=
 | 
			
		||||
golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
 | 
			
		||||
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 | 
			
		||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 | 
			
		||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 | 
			
		||||
| 
						 | 
				
			
			@ -839,8 +839,8 @@ golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4f
 | 
			
		|||
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
 | 
			
		||||
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
 | 
			
		||||
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
 | 
			
		||||
golang.org/x/tools v0.26.0 h1:v/60pFQmzmT9ExmjDv2gGIfi3OqfKoEP6I5+umXlbnQ=
 | 
			
		||||
golang.org/x/tools v0.26.0/go.mod h1:TPVVj70c7JJ3WCazhD8OdXcZg/og+b9+tH/KxylGwH0=
 | 
			
		||||
golang.org/x/tools v0.28.0 h1:WuB6qZ4RPCQo5aP3WdKZS7i595EdWqWR8vqJTlwTVK8=
 | 
			
		||||
golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw=
 | 
			
		||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 | 
			
		||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 | 
			
		||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										8
									
								
								package-lock.json
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										8
									
								
								package-lock.json
									
										
									
										generated
									
									
									
								
							| 
						 | 
				
			
			@ -30,7 +30,7 @@
 | 
			
		|||
        "htmx.org": "1.9.12",
 | 
			
		||||
        "idiomorph": "0.3.0",
 | 
			
		||||
        "jquery": "3.7.1",
 | 
			
		||||
        "katex": "0.16.11",
 | 
			
		||||
        "katex": "0.16.14",
 | 
			
		||||
        "mermaid": "11.4.1",
 | 
			
		||||
        "mini-css-extract-plugin": "2.9.2",
 | 
			
		||||
        "minimatch": "10.0.1",
 | 
			
		||||
| 
						 | 
				
			
			@ -11569,9 +11569,9 @@
 | 
			
		|||
      "license": "MIT"
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/katex": {
 | 
			
		||||
      "version": "0.16.11",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.11.tgz",
 | 
			
		||||
      "integrity": "sha512-RQrI8rlHY92OLf3rho/Ts8i/XvjgguEjOkO1BEXcU3N8BqPpSzBNwV/G0Ukr+P/l3ivvJUE/Fa/CwbS6HesGNQ==",
 | 
			
		||||
      "version": "0.16.14",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.14.tgz",
 | 
			
		||||
      "integrity": "sha512-tnUUAL/S+f/w8KrRpCFcCW/msuIlBkOmVnTmvdEK6WCkx6uDPRj3d9SBAP+qB5x0MCeOyUbdbIMtT5cUJD8aRw==",
 | 
			
		||||
      "funding": [
 | 
			
		||||
        "https://opencollective.com/katex",
 | 
			
		||||
        "https://github.com/sponsors/katex"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -29,7 +29,7 @@
 | 
			
		|||
    "htmx.org": "1.9.12",
 | 
			
		||||
    "idiomorph": "0.3.0",
 | 
			
		||||
    "jquery": "3.7.1",
 | 
			
		||||
    "katex": "0.16.11",
 | 
			
		||||
    "katex": "0.16.14",
 | 
			
		||||
    "mermaid": "11.4.1",
 | 
			
		||||
    "mini-css-extract-plugin": "2.9.2",
 | 
			
		||||
    "minimatch": "10.0.1",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -113,7 +113,7 @@ func getNotifications(ctx *context.Context) {
 | 
			
		|||
 | 
			
		||||
	sess := db.GetEngine(ctx).Table("notification")
 | 
			
		||||
	if setting.Database.Type.IsMySQL() {
 | 
			
		||||
		sess = sess.IndexHint("USE", "JOIN", "IDX_notification_user_id")
 | 
			
		||||
		sess = sess.IndexHint("USE", "", "IDX_notification_user_id")
 | 
			
		||||
	}
 | 
			
		||||
	sess.Where("user_id = ?", ctx.Doer.ID).
 | 
			
		||||
		And("status = ? OR status = ?", status, activities_model.NotificationStatusPinned).
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue