- 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 namestags/v1.20.0-rc0
@@ -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" |
@@ -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/*" |
@@ -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 |
@@ -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 |