mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-04 05:18:25 +00:00 
			
		
		
		
	Clean up github actions (#24984)
- Merge the file filters into `files-changed.yml` - Remove unused yaml anchors like `&backend` - Merge the `compliance-docs` workflow into `compliance` - Add actions linting - Misc cleanups for whitespace and step names
This commit is contained in:
		
							
								
								
									
										15
									
								
								.github/file-filters.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								.github/file-filters.yml
									
									
									
									
										vendored
									
									
								
							@@ -1,15 +0,0 @@
 | 
				
			|||||||
docs: &docs
 | 
					 | 
				
			||||||
  - "**/*.md"
 | 
					 | 
				
			||||||
  - "docs/**"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
backend: &backend
 | 
					 | 
				
			||||||
  - "**/*.go"
 | 
					 | 
				
			||||||
  - "**/*.tmpl"
 | 
					 | 
				
			||||||
  - "go.mod"
 | 
					 | 
				
			||||||
  - "go.sum"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
frontend: &frontend
 | 
					 | 
				
			||||||
  - "**/*.js"
 | 
					 | 
				
			||||||
  - "web_src/**"
 | 
					 | 
				
			||||||
  - "package.json"
 | 
					 | 
				
			||||||
  - "package-lock.json"
 | 
					 | 
				
			||||||
							
								
								
									
										43
									
								
								.github/workflows/files-changed.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										43
									
								
								.github/workflows/files-changed.yml
									
									
									
									
										vendored
									
									
								
							@@ -1,32 +1,53 @@
 | 
				
			|||||||
name: files changed
 | 
					name: files-changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
on:
 | 
					on:
 | 
				
			||||||
  workflow_call:
 | 
					  workflow_call:
 | 
				
			||||||
    outputs:
 | 
					    outputs:
 | 
				
			||||||
      docs:
 | 
					 | 
				
			||||||
        description: "whether docs files changed"
 | 
					 | 
				
			||||||
        value: ${{ jobs.files-changed.outputs.docs }}
 | 
					 | 
				
			||||||
      backend:
 | 
					      backend:
 | 
				
			||||||
        description: "whether backend files changed"
 | 
					        description: "whether backend files changed"
 | 
				
			||||||
        value: ${{ jobs.files-changed.outputs.backend }}
 | 
					        value: ${{ jobs.detect.outputs.backend }}
 | 
				
			||||||
      frontend:
 | 
					      frontend:
 | 
				
			||||||
        description: "whether frontend files changed"
 | 
					        description: "whether frontend files changed"
 | 
				
			||||||
        value: ${{ jobs.files-changed.outputs.frontend }}
 | 
					        value: ${{ jobs.detect.outputs.frontend }}
 | 
				
			||||||
 | 
					      docs:
 | 
				
			||||||
 | 
					        description: "whether docs files changed"
 | 
				
			||||||
 | 
					        value: ${{ jobs.detect.outputs.docs }}
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        description: "whether actions files changed"
 | 
				
			||||||
 | 
					        value: ${{ jobs.detect.outputs.actions }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
jobs:
 | 
					jobs:
 | 
				
			||||||
  files-changed:
 | 
					  detect:
 | 
				
			||||||
    name: detect which files changed
 | 
					    name: detect which files changed
 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
    timeout-minutes: 3
 | 
					    timeout-minutes: 3
 | 
				
			||||||
    # Map a step output to a job output
 | 
					    # Map a step output to a job output
 | 
				
			||||||
    outputs:
 | 
					    outputs:
 | 
				
			||||||
      docs: ${{ steps.changes.outputs.docs }}
 | 
					 | 
				
			||||||
      backend: ${{ steps.changes.outputs.backend }}
 | 
					      backend: ${{ steps.changes.outputs.backend }}
 | 
				
			||||||
      frontend: ${{ steps.changes.outputs.frontend }}
 | 
					      frontend: ${{ steps.changes.outputs.frontend }}
 | 
				
			||||||
 | 
					      docs: ${{ steps.changes.outputs.docs }}
 | 
				
			||||||
 | 
					      actions: ${{ steps.changes.outputs.actions }}
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
      - uses: actions/checkout@v3
 | 
					      - uses: actions/checkout@v3
 | 
				
			||||||
      - name: Check for backend file changes
 | 
					      - uses: dorny/paths-filter@v2
 | 
				
			||||||
        uses: dorny/paths-filter@v2
 | 
					 | 
				
			||||||
        id: changes
 | 
					        id: changes
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          filters: .github/file-filters.yml
 | 
					          filters: |
 | 
				
			||||||
 | 
					            backend:
 | 
				
			||||||
 | 
					              - "**/*.go"
 | 
				
			||||||
 | 
					              - "**/*.tmpl"
 | 
				
			||||||
 | 
					              - "go.mod"
 | 
				
			||||||
 | 
					              - "go.sum"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            frontend:
 | 
				
			||||||
 | 
					              - "**/*.js"
 | 
				
			||||||
 | 
					              - "web_src/**"
 | 
				
			||||||
 | 
					              - "package.json"
 | 
				
			||||||
 | 
					              - "package-lock.json"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            docs:
 | 
				
			||||||
 | 
					              - "**/*.md"
 | 
				
			||||||
 | 
					              - "docs/**"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            actions:
 | 
				
			||||||
 | 
					              - ".github/workflows/*"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										25
									
								
								.github/workflows/pull-compliance-docs.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										25
									
								
								.github/workflows/pull-compliance-docs.yml
									
									
									
									
										vendored
									
									
								
							@@ -1,25 +0,0 @@
 | 
				
			|||||||
name: compliance-docs
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
on:
 | 
					 | 
				
			||||||
  pull_request:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
concurrency:
 | 
					 | 
				
			||||||
  group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
 | 
					 | 
				
			||||||
  cancel-in-progress: true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
jobs:
 | 
					 | 
				
			||||||
  files-changed:
 | 
					 | 
				
			||||||
    uses: ./.github/workflows/files-changed.yml
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  compliance-docs:
 | 
					 | 
				
			||||||
    if: needs.files-changed.outputs.docs == 'true'
 | 
					 | 
				
			||||||
    needs: files-changed
 | 
					 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					 | 
				
			||||||
    steps:
 | 
					 | 
				
			||||||
      - uses: actions/checkout@v3
 | 
					 | 
				
			||||||
      - uses: actions/setup-node@v3
 | 
					 | 
				
			||||||
        with:
 | 
					 | 
				
			||||||
          node-version: 20
 | 
					 | 
				
			||||||
      - run: make deps-frontend
 | 
					 | 
				
			||||||
      - run: make lint-md
 | 
					 | 
				
			||||||
      - run: make docs # test if build could succeed
 | 
					 | 
				
			||||||
							
								
								
									
										27
									
								
								.github/workflows/pull-compliance.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										27
									
								
								.github/workflows/pull-compliance.yml
									
									
									
									
										vendored
									
									
								
							@@ -25,6 +25,7 @@ jobs:
 | 
				
			|||||||
      - run: make lint-backend
 | 
					      - run: make lint-backend
 | 
				
			||||||
        env:
 | 
					        env:
 | 
				
			||||||
          TAGS: bindata sqlite sqlite_unlock_notify
 | 
					          TAGS: bindata sqlite sqlite_unlock_notify
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  lint-go-windows:
 | 
					  lint-go-windows:
 | 
				
			||||||
    if: needs.files-changed.outputs.backend == 'true'
 | 
					    if: needs.files-changed.outputs.backend == 'true'
 | 
				
			||||||
    needs: files-changed
 | 
					    needs: files-changed
 | 
				
			||||||
@@ -41,6 +42,7 @@ jobs:
 | 
				
			|||||||
          TAGS: bindata sqlite sqlite_unlock_notify
 | 
					          TAGS: bindata sqlite sqlite_unlock_notify
 | 
				
			||||||
          GOOS: windows
 | 
					          GOOS: windows
 | 
				
			||||||
          GOARCH: amd64
 | 
					          GOARCH: amd64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  lint-go-gogit:
 | 
					  lint-go-gogit:
 | 
				
			||||||
    if: needs.files-changed.outputs.backend == 'true'
 | 
					    if: needs.files-changed.outputs.backend == 'true'
 | 
				
			||||||
    needs: files-changed
 | 
					    needs: files-changed
 | 
				
			||||||
@@ -55,6 +57,7 @@ jobs:
 | 
				
			|||||||
      - run: make lint-go
 | 
					      - run: make lint-go
 | 
				
			||||||
        env:
 | 
					        env:
 | 
				
			||||||
          TAGS: bindata gogit sqlite sqlite_unlock_notify
 | 
					          TAGS: bindata gogit sqlite sqlite_unlock_notify
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  checks-backend:
 | 
					  checks-backend:
 | 
				
			||||||
    if: needs.files-changed.outputs.backend == 'true'
 | 
					    if: needs.files-changed.outputs.backend == 'true'
 | 
				
			||||||
    needs: files-changed
 | 
					    needs: files-changed
 | 
				
			||||||
@@ -67,6 +70,7 @@ jobs:
 | 
				
			|||||||
          check-latest: true
 | 
					          check-latest: true
 | 
				
			||||||
      - run: make deps-backend deps-tools
 | 
					      - run: make deps-backend deps-tools
 | 
				
			||||||
      - run: make --always-make checks-backend # ensure the "go-licenses" make target runs
 | 
					      - run: make --always-make checks-backend # ensure the "go-licenses" make target runs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  frontend:
 | 
					  frontend:
 | 
				
			||||||
    if: needs.files-changed.outputs.frontend == 'true'
 | 
					    if: needs.files-changed.outputs.frontend == 'true'
 | 
				
			||||||
    needs: files-changed
 | 
					    needs: files-changed
 | 
				
			||||||
@@ -79,6 +83,7 @@ jobs:
 | 
				
			|||||||
      - run: make deps-frontend
 | 
					      - run: make deps-frontend
 | 
				
			||||||
      - run: make lint-frontend
 | 
					      - run: make lint-frontend
 | 
				
			||||||
      - run: make checks-frontend
 | 
					      - run: make checks-frontend
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  backend:
 | 
					  backend:
 | 
				
			||||||
    if: needs.files-changed.outputs.backend == 'true'
 | 
					    if: needs.files-changed.outputs.backend == 'true'
 | 
				
			||||||
    needs: files-changed
 | 
					    needs: files-changed
 | 
				
			||||||
@@ -113,3 +118,25 @@ jobs:
 | 
				
			|||||||
        env:
 | 
					        env:
 | 
				
			||||||
          GOOS: linux
 | 
					          GOOS: linux
 | 
				
			||||||
          GOARCH: 386
 | 
					          GOARCH: 386
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  docs:
 | 
				
			||||||
 | 
					    if: needs.files-changed.outputs.docs == 'true'
 | 
				
			||||||
 | 
					    needs: files-changed
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      - uses: actions/checkout@v3
 | 
				
			||||||
 | 
					      - uses: actions/setup-node@v3
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          node-version: 20
 | 
				
			||||||
 | 
					      - run: make deps-frontend
 | 
				
			||||||
 | 
					      - run: make lint-md
 | 
				
			||||||
 | 
					      - run: make docs # test if build could succeed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  actions:
 | 
				
			||||||
 | 
					    if: needs.files-changed.outputs.actions == 'true'
 | 
				
			||||||
 | 
					    needs: files-changed
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      - uses: actions/checkout@v3
 | 
				
			||||||
 | 
					      - uses: actions/setup-go@v4
 | 
				
			||||||
 | 
					      - run: make lint-actions
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user