mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-11-04 08:21:11 +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:
		
					parent
					
						
							
								e64c2faf85
							
						
					
				
			
			
				commit
				
					
						d783384c19
					
				
			
		
					 4 changed files with 59 additions and 51 deletions
				
			
		
							
								
								
									
										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:
 | 
			
		||||
  workflow_call:
 | 
			
		||||
    outputs:
 | 
			
		||||
      docs:
 | 
			
		||||
        description: "whether docs files changed"
 | 
			
		||||
        value: ${{ jobs.files-changed.outputs.docs }}
 | 
			
		||||
      backend:
 | 
			
		||||
        description: "whether backend files changed"
 | 
			
		||||
        value: ${{ jobs.files-changed.outputs.backend }}
 | 
			
		||||
        value: ${{ jobs.detect.outputs.backend }}
 | 
			
		||||
      frontend:
 | 
			
		||||
        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:
 | 
			
		||||
  files-changed:
 | 
			
		||||
  detect:
 | 
			
		||||
    name: detect which files changed
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    timeout-minutes: 3
 | 
			
		||||
    # Map a step output to a job output
 | 
			
		||||
    outputs:
 | 
			
		||||
      docs: ${{ steps.changes.outputs.docs }}
 | 
			
		||||
      backend: ${{ steps.changes.outputs.backend }}
 | 
			
		||||
      frontend: ${{ steps.changes.outputs.frontend }}
 | 
			
		||||
      docs: ${{ steps.changes.outputs.docs }}
 | 
			
		||||
      actions: ${{ steps.changes.outputs.actions }}
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v3
 | 
			
		||||
      - name: Check for backend file changes
 | 
			
		||||
        uses: dorny/paths-filter@v2
 | 
			
		||||
      - uses: dorny/paths-filter@v2
 | 
			
		||||
        id: changes
 | 
			
		||||
        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
 | 
			
		||||
        env:
 | 
			
		||||
          TAGS: bindata sqlite sqlite_unlock_notify
 | 
			
		||||
 | 
			
		||||
  lint-go-windows:
 | 
			
		||||
    if: needs.files-changed.outputs.backend == 'true'
 | 
			
		||||
    needs: files-changed
 | 
			
		||||
| 
						 | 
				
			
			@ -41,6 +42,7 @@ jobs:
 | 
			
		|||
          TAGS: bindata sqlite sqlite_unlock_notify
 | 
			
		||||
          GOOS: windows
 | 
			
		||||
          GOARCH: amd64
 | 
			
		||||
 | 
			
		||||
  lint-go-gogit:
 | 
			
		||||
    if: needs.files-changed.outputs.backend == 'true'
 | 
			
		||||
    needs: files-changed
 | 
			
		||||
| 
						 | 
				
			
			@ -55,6 +57,7 @@ jobs:
 | 
			
		|||
      - run: make lint-go
 | 
			
		||||
        env:
 | 
			
		||||
          TAGS: bindata gogit sqlite sqlite_unlock_notify
 | 
			
		||||
 | 
			
		||||
  checks-backend:
 | 
			
		||||
    if: needs.files-changed.outputs.backend == 'true'
 | 
			
		||||
    needs: files-changed
 | 
			
		||||
| 
						 | 
				
			
			@ -67,6 +70,7 @@ jobs:
 | 
			
		|||
          check-latest: true
 | 
			
		||||
      - run: make deps-backend deps-tools
 | 
			
		||||
      - run: make --always-make checks-backend # ensure the "go-licenses" make target runs
 | 
			
		||||
 | 
			
		||||
  frontend:
 | 
			
		||||
    if: needs.files-changed.outputs.frontend == 'true'
 | 
			
		||||
    needs: files-changed
 | 
			
		||||
| 
						 | 
				
			
			@ -79,6 +83,7 @@ jobs:
 | 
			
		|||
      - run: make deps-frontend
 | 
			
		||||
      - run: make lint-frontend
 | 
			
		||||
      - run: make checks-frontend
 | 
			
		||||
 | 
			
		||||
  backend:
 | 
			
		||||
    if: needs.files-changed.outputs.backend == 'true'
 | 
			
		||||
    needs: files-changed
 | 
			
		||||
| 
						 | 
				
			
			@ -113,3 +118,25 @@ jobs:
 | 
			
		|||
        env:
 | 
			
		||||
          GOOS: linux
 | 
			
		||||
          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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue