aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/pull-compliance.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/pull-compliance.yml')
-rw-r--r--.github/workflows/pull-compliance.yml133
1 files changed, 133 insertions, 0 deletions
diff --git a/.github/workflows/pull-compliance.yml b/.github/workflows/pull-compliance.yml
new file mode 100644
index 0000000000..1239b9caa7
--- /dev/null
+++ b/.github/workflows/pull-compliance.yml
@@ -0,0 +1,133 @@
+name: "Pull: Compliance Tests"
+
+on: [pull_request]
+
+jobs:
+ lint_basic:
+ runs-on: ubuntu-latest
+ steps:
+ - name: checkout
+ uses: actions/checkout@v3
+ - name: setup go
+ uses: actions/setup-go@v4
+ with:
+ go-version: '>=1.20'
+ - name: deps-backend
+ run: make deps-backend deps-tools
+ - name: lint backend
+ run: make lint-backend
+ env:
+ GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not
+ GOSUMDB: sum.golang.org
+ TAGS: bindata sqlite sqlite_unlock_notify
+ lint_windows:
+ runs-on: ubuntu-latest
+ steps:
+ - name: checkout
+ uses: actions/checkout@v3
+ - name: setup go
+ uses: actions/setup-go@v4
+ with:
+ go-version: '>=1.20'
+ - name: deps-backend
+ run: make deps-backend deps-tools
+ - name: lint-backend-windows
+ run: make lint-go-windows lint-go-vet
+ env:
+ GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not
+ GOSUMDB: sum.golang.org
+ TAGS: bindata sqlite sqlite_unlock_notify
+ GOOS: windows
+ GOARCH: amd64
+ lint_gogit:
+ runs-on: ubuntu-latest
+ steps:
+ - name: checkout
+ uses: actions/checkout@v3
+ - name: setup go
+ uses: actions/setup-go@v4
+ with:
+ go-version: '>=1.20'
+ - name: deps-backend
+ run: make deps-backend deps-tools
+ - name: lint-backend-gogit
+ run: make lint-backend
+ env:
+ GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not
+ GOSUMDB: sum.golang.org
+ TAGS: bindata gogit sqlite sqlite_unlock_notify
+ - name: checks backend
+ run: make --always-make checks-backend # ensure the 'go-licenses' make target runs
+ check_backend:
+ runs-on: ubuntu-latest
+ steps:
+ - name: checkout
+ uses: actions/checkout@v3
+ - name: setup go
+ uses: actions/setup-go@v4
+ with:
+ go-version: '>=1.20'
+ - name: deps-backend
+ run: make deps-backend deps-tools
+ - name: checks backend
+ run: make --always-make checks-backend # ensure the 'go-licenses' make target runs
+ frontend:
+ runs-on: ubuntu-latest
+ steps:
+ - name: checkout
+ uses: actions/checkout@v3
+ - name: setup node
+ uses: actions/setup-node@v3
+ with:
+ node-version: 18
+ - name: deps-frontend
+ run: make deps-frontend
+ - name: lint frontend
+ run: make lint-frontend
+ - name: checks frontend
+ run: make checks-frontend
+ - name: test frontend
+ run: make test-frontend
+ backend:
+ runs-on: ubuntu-latest
+ steps:
+ - name: checkout
+ uses: actions/checkout@v3
+ - name: setup go
+ uses: actions/setup-go@v4
+ with:
+ go-version: '>=1.20'
+ - name: setup node
+ uses: actions/setup-node@v3
+ with:
+ node-version: 18
+ - name: deps-backend
+ run: make deps-backend deps-tools
+ - name: deps-frontend
+ run: make deps-frontend
+ - name: build frontend
+ run: make frontend
+ - name: build-backend-no-gcc
+ run: go build -o gitea_no_gcc # test if build succeeds without the sqlite tag
+ env:
+ GOPROXY: https://goproxy.io
+ - name: build-backend-arm64
+ run: make backend # test cross compile
+ env:
+ GOPROXY: https://goproxy.io
+ GOOS: linux
+ GOARCH: arm64
+ TAGS: bindata gogit
+ - name: build-backend-windows
+ run: go build -o gitea_windows
+ env:
+ GOPROXY: https://goproxy.io
+ GOOS: windows
+ GOARCH: amd64
+ TAGS: bindata gogit
+ - name: build-backend-386
+ run: go build -o gitea_linux_386 # test if compatible with 32 bit
+ env:
+ GOPROXY: https://goproxy.io
+ GOOS: linux
+ GOARCH: 386