aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* chore(security): Support Go Vulnerability Management (#21139)Bo-Yi Wu2022-09-111-0/+6
| | | | | | | See https://go.dev/security/vuln/ Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com> Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com>
* Generate go-licenses during tidy again (#21108)silverwind2022-09-091-8/+9
| | | | | | | | | | | | | | We can not have the `frontend` target depend on golang because of they way drone is set up. Move the `go-licenses` generation back into `tidy` where it will now also be checked for consistency during `tidy-check`. (I assume all `main` branch builds should currently fail [like this](https://drone.gitea.io/go-gitea/gitea/60244/1/11)). The reasony why it shouldn't be treated the same as for example `go generate` is because output files are checked in. tidy is imho the optimal target to run this after. Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
* Rewrite go license generator in go (#21078)silverwind2022-09-071-4/+4
| | | | | | | | | | This removes the JS dependency in the checks pipeline. JSON output is different because the previous JS did indent the license data differently and a JSON key was changed, but the end result is the same as it gets re-indented by wepack. Co-authored-by: 6543 <6543@obermui.de> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: zeripath <art27@cantab.net>
* Move go-licenses to generate and separate generate into a frontend and ↵zeripath2022-09-051-6/+21
| | | | | | | | | | | | | | | | | | | | | | backend component (#21061) The `go-licenses` make task introduced in #21034 is being run on make vendor and occasionally causes an empty go-licenses file if the vendors need to change. This should be moved to the generate task as it is a generated file. Now because of this change we also need to split generation into two separate steps: 1. `generate-backend` 2. `generate-frontend` In the future it would probably be useful to make `generate-swagger` part of `generate-frontend` but it's not tolerated with our .drone.yml Ref #21034 Signed-off-by: Andrew Thornton <art27@cantab.net> Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: delvh <dev.lh@web.de>
* Add go licenses to licenses.txt (#21034)silverwind2022-09-041-2/+17
| | | | | | | `make go-licenses` will generate `assets/go-licenses.json` which is then included in the webpack build. This step depends on both go and node being present, so unfortunately, I could not automate the generation by hooking it up to `tidy` as that target is triggered on CI where we do not have a docker image with both go an node. It should be ran from time to time, ideally after each go mod update.
* Kd/ci playwright go test (#20123)Kyle D2022-09-021-50/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add initial playwright config * Simplify Makefile * Simplify Makefile * Use correct config files * Update playwright settings * Fix package-lock file * Don't use test logger for e2e tests * fix frontend lint * Allow passing TEST_LOGGER variable * Init postgres database * use standard gitea env variables * Update playwright * update drone * Move empty env var to commands * Cleanup * Move integrations to subfolder * tests integrations to tests integraton * Run e2e tests with go test * Fix linting * install CI deps * Add files to ESlint * Fix drone typo * Don't log to console in CI * Use go test http server * Add build step before tests * Move shared init function to common package * fix drone * Clean up tests * Fix linting * Better mocking for page + version string * Cleanup test generation * Remove dependency on gitea binary * Fix linting * add initial support for running specific tests * Add ACCEPT_VISUAL variable * don't require git-lfs * Add initial documentation * Review feedback * Add logged in session test * Attempt fixing drone race * Cleanup and bump version * Bump deps * Review feedback * simplify installation * Fix ci * Update install docs
* Include go.mod in gomod-check and rename to tidy-check (#21025)silverwind2022-09-021-4/+4
| | | Co-authored-by: techknowlogick <techknowlogick@gitea.io>
* Make sure fmt catches all templates (#20979)silverwind2022-08-311-1/+1
| | | | | | | | * Make sure fmt catches all templates Make's `wildcard` is not recursive so it missed many template files, fix that by using `find`. * Update Makefile
* Go 1.19 format (#20758)John Olheiser2022-08-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | * 1.19 gofumpt Signed-off-by: jolheiser <john.olheiser@gmail.com> * Change CSV test Signed-off-by: jolheiser <john.olheiser@gmail.com> * Commit whitespace fixes from @zeripath Co-authored-by: zeripath <art27@cantab.net> * Update emoji Signed-off-by: jolheiser <john.olheiser@gmail.com> * bump swagger & fix generate-swagger Signed-off-by: jolheiser <john.olheiser@gmail.com> Co-authored-by: zeripath <art27@cantab.net> Co-authored-by: 6543 <6543@obermui.de> Co-authored-by: Lauris BH <lauris@nix.lv>
* Add whitespace removal inside template curly brackes (#20853)silverwind2022-08-251-2/+10
|
* Remove debug output when coverage fails (#20733)silverwind2022-08-121-1/+1
| | | | | | | | | | | | | | | | | | | | | * Remove debug output when coverage fails When coverage fails, it logs megabytes of debug to stdout, which seems to break the drone ui as well as the log output download in drone, presumably because of the size. I think with removal of this print, we should still see any errors created by gocovmerge.go, but a few CI runs may be necessary to get it to fail again. * Update Makefile * restart ci * restart ci * restart ci * restart ci Co-authored-by: techknowlogick <techknowlogick@gitea.io>
* Switch to building with go1.19 (#20695)techknowlogick2022-08-071-1/+1
|
* Add markdownlint (#20512)silverwind2022-07-281-0/+1
| | | | Add `markdownlint` linter and fix issues. Config is based on the one from electron's repo with a few rules relaxed.
* Downgrade golangci-lint to 1.47.0 (#20445)silverwind2022-07-221-1/+1
| | | | | | | This should fix some recently seen linter performance issues. There is some log spam, but it's definitely faster. Ref: https://github.com/golangci/golangci-lint/issues/2997 Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
* Update all tool dependencies to their latest versions (#20409)silverwind2022-07-201-4/+4
|
* Fix eslint parsing errors, remove eslint-plugin-html (#20323)silverwind2022-07-151-1/+1
| | | | | | | | | | | Introduce a separate .eslintrc in the Vue components folder to selectively enable vue-eslint-parser there, so that the rest of the files can use eslint's core parser which can deal with hashbangs. The fact that the eslint-disable comments worked in HTML was a unintended side-effect of the files being parsed via vue-eslint-parser, so I had to disable the parsing of these files in .eslintrc.yaml to make it work, and finally decided to remove eslint-plugin-html as it causes more issues than it solves.
* Fix versions check for busybox `sh` (#20358)silverwind2022-07-141-3/+3
| | | | | | `printf` in busybox emits a ugly 'invalid number' error when formatting string variables are present. Avoid that by reducing the go version check to just two digits, which ought to be enough as patch-level go versions are meant to be compatible. Avoid error on node-check as well.
* Fix various typos (#20338)luzpaz2022-07-121-1/+1
| | | | | | | * Fix various typos Found via `codespell -q 3 -S ./options/locale,./options/license,./public/vendor -L actived,allways,attachements,ba,befores,commiter,pullrequest,pullrequests,readby,splitted,te,unknwon` Co-authored-by: zeripath <art27@cantab.net>
* Add spectral linter for Swagger (#20321)silverwind2022-07-111-0/+1
| | | | | | | | | | [spectral](https://github.com/stoplightio/spectral) lints openapi/swagger files for mistakes of which it has identified a few and which I've fixed. I had to put it into `lint-frontend` because it depends on node_modules so can not run on Drone during the backend target. I plan to refactor these targets later to `lint-js` and `lint-go` so that they are categorized based on the tool dependencies.
* Remove `GO111MODULE` (#20221)Gusted2022-07-041-4/+3
| | | | | - Given we use go1.18 for this and don't rely on the Go 1.11 modules behavior(we use the modern `go run` & `go get` which has the correct behavior by-default).
* Normalize line endings in fomantic build files (#19932)silverwind2022-06-101-0/+1
| | | | | | Ensures consistent line endings to avoid useless diffs because there is somthing platform-dependant in that build. Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
* Modernize JS build scripts (#19824)silverwind2022-06-061-1/+1
| | | | | | | | | | - Remove __dirname, use file URLs instead - Upgrade fabric dependency - Use fs/promises syntax, this breaks node 12 but we require 14 already The change in public/img/favicon.svg is not caused by the fabric upgrade, but it seems it was not properly generated when introduced. Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
* fix(CI/CD): correct CI variable. (#19886)Bo-Yi Wu2022-06-051-4/+4
| | | | | | | | | default value is true for CI variable see https://docs.drone.io/pipeline/environment/reference/ci/ Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
* Remove customized (unmaintained) dropdown, improve aria a11y for dropdown ↵wxiaoguang2022-06-031-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | (#19861) * Remove customized (unmaintained) dropdown, improve aria a11y for dropdown * fix repo permission * use action instead of onChange * re-order the CSS selector * fix dropdown behavior for repo permissions, make elements inside menu item non-focusable * use menu/menuitem instead of combobox/option. use tooltip(data-content) for aria-label, prevent from repeated attaching * click menu item when pressing Enter * code format * fix repo permission * repo setting: prevent from misleading users when error occurs * fine tune the repo collaboration access mode dropdown (in case the access mode is undefined in the template) Co-authored-by: zeripath <art27@cantab.net> Co-authored-by: techknowlogick <techknowlogick@gitea.io>
* Add 'make tidy' (#19800)silverwind2022-05-241-5/+10
| | | | | Convenience command to run 'go mod tidy'. The compat flag is set to the minimum supported go version instead of min version minus one which is go's default, which eliminated some checksums in go.sum as a result.
* Update go tool dependencies (#19676)silverwind2022-05-101-2/+2
| | | | | | | | | | | * Update go tool dependencies Updated all tool dependencies to latest tags, hoping CI will like it. * fix new lint errors * handle more strings.Title cases * remove lint skip
* add a directory prefix `gitea-src-VERSION` to release-tar-file (#19396)jklippel2022-04-261-1/+3
| | | | Use a directory prefix instead on creating the tar file. Fixes: #19066
* Check go and nodejs version by go.mod and package.json (#19197)gesangtome2022-03-261-5/+6
| | | | | | * Check go and nodejs version by go.mod and package.json * Update Go official site URL Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
* Update tool dependencies (#19120)silverwind2022-03-181-4/+4
| | | | - Use tag over hash for all tool dependencies - Update them to latest released versions
* use go1.18 to build gitea (#19099)techknowlogick2022-03-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | * use go1.18 to build gitea& update min go version to 1.17 * bump in a few more places * add a few simple tests for isipprivate * update go.mod * update URL to https://go.dev/dl/ * golangci-lint * attempt golangci-lint workaround * change version * bump fumpt version * skip strings.title test * go mod tidy * update tests as some aren't private?? * update tests
* Use `go run` for tool dependencies, require go 1.17 (#18874)silverwind2022-03-151-59/+41
| | | | | | | | | | This ensures the tools only run in the versions we've tested and it also does not polute PATH with those tools so they are truly isolated. This syntax of `go run` requires go 1.17, so the minimum version is set accordingly. Fixes: https://github.com/go-gitea/gitea/issues/18867 Co-authored-by: techknowlogick <techknowlogick@gitea.io>
* Lock gofumpt to v0.3.0 and run it (#18866)silverwind2022-02-231-2/+2
| | | | | We can't depend on `latest` version of gofumpt because the output will not be stable across versions. Lock it down to the latest version released yesterday and run it again.
* Generate coverage with sqlite. (#18813)KN4CK3R2022-02-191-0/+7
|
* Move editorconfig-checker to lint-backend and remove JS wrapper (#18793)silverwind2022-02-181-2/+8
| | | | | | | | | * Move editorconfig-checker to lint-backend It makes more sense there as templates are considered backend code. * User golang version of the tool * remove dependency
* Increase the size of the webauthn_credential credential_id field (#18739)zeripath2022-02-131-0/+5
| | | | | | | | | | | Unfortunately credentialIDs in u2f are 255 bytes long which with base32 encoding becomes 408 bytes. The default size of a xorm string field is only a VARCHAR(255) This problem is not apparent on SQLite because strings get mapped to TEXT there. Fix #18727 Signed-off-by: Andrew Thornton <art27@cantab.net>
* Reduce CI go module downloads, add make targets (#18708)silverwind2022-02-121-0/+13
| | | | | | | | | | | | | The CI currently downloads all go modules in each pipeline step because go modules reside outside the project directory. Fix this by introducing a volume for the `/go` directory [1] so modules are only downloaded once per pipeline using a new `deps-backend` make target. For completeness, I also included new `deps` and `deps-frontend` targets and the frontend one is also triggered explicitly on CI where needed. [1] https://docs.drone.io/pipeline/kubernetes/examples/language/golang/#dependencies
* Fix `make fmt` and `make fmt-check` (#18633)silverwind2022-02-061-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Run 'make fmt' 'make fmt' currently produces this change, I'm not sure how CI did not fail on it, I made sure I have `mvdan.cc/gofumpt@latest`. * Fix 'make fmt-check' `make fmt-check` did not run all commands that `make fmt` did, resulting in missed diffs. Fix that by just depending on the `fmt` target. Includes: https://github.com/go-gitea/gitea/pull/18633 * Make gitea-fmt work with -l and -d and integrate gofumpt This implements -l, -w and -d with gitea-fmt and merges gofumpt. Signed-off-by: Andrew Thornton <art27@cantab.net> * as per silverwind Signed-off-by: Andrew Thornton <art27@cantab.net> * Apply suggestions from code review * use -l instead of -d for fmt-check Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: Andrew Thornton <art27@cantab.net>
* quote MAKE to prevent path expansion with space error (#18622)Kyle D2022-02-051-1/+1
| | | | | | | | | | | Pretty minor change to prevent error when `$(MAKE)` path is expanded with a space in the path. ```bash $ TAGS="bindata sqlite sqlite_unlock_notify" make build /usr/bin/sh: -c: line 0: syntax error near unexpected token `(' /usr/bin/sh: -c: line 0: `C:/Program Files (x86)/GnuWin32/bin/make -v | head -n 1' ``` I believe Program Files (x86) is the default path for GNU make on windows
* add gitea-fmt back (#18526)65432022-02-011-2/+5
|
* Bump golangci-lint version (#18411)Gusted2022-01-261-1/+1
| | | - Bump golangci-lint version to v1.44.0 (no new linter errors detected)
* format with gofumpt (#18184)65432022-01-201-2/+4
| | | | | | | | | | | * gofumpt -w -l . * gofumpt -w -l -extra . * Add linter * manual fix * change make fmt
* update description about vendoring in CONTRIBUTING.md (#18280)a10121127962022-01-171-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | * update description about vendoring in CONTRIBUTING.md follow #18277 Signed-off-by: a1012112796 <1012112796@qq.com> * Update CONTRIBUTING.md Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> * fix and readd test-vendor step * remove vendor from .gitattributes @silverwind * simplify go mod check Signed-off-by: a1012112796 <1012112796@qq.com> * Revert "remove vendor from .gitattributes @silverwind" This reverts commit 4789e704cb7a2c80934e4a4cd31efb161e6c8666. Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> Co-authored-by: zeripath <art27@cantab.net> Co-authored-by: 6543 <6543@obermui.de>
* Add lockfile-check (#18285)silverwind2022-01-151-1/+12
| | | | | | | * Add lockfile-check This check runs `npm install` which will rewrite the lockfile in case it is inconsistent with package.json. This check detects this and will fail the CI in such a case.
* Remove golang vendored directory (#18277)techknowlogick2022-01-141-18/+18
| | | | | | | * rm go vendor * fix drone yaml * add to gitignore
* Fix documents for development and bug report (#18249)wxiaoguang2022-01-131-2/+2
|
* chore(lint): use golangci-lint to call revive and misspell checker. (#18145)Bo-Yi Wu2022-01-021-27/+2
| | | | | | replace revive and misspell with golangci-lint Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
* Avoid running go vet twice (#18059)Gusted2021-12-211-1/+0
|
* Add new JS linter rules (#17699)silverwind2021-11-221-1/+1
| | | | | | | | | | | | | | | | | | | | * Add new JS linter rules Adds a few useful rules from eslint-plugin-github. Notable changes: - Forbid dataset usage, its camel-casing behaviour makes it hard to grep for attributes. - Forbid .then() and .catch(), we should generally prefer await for new code. For rare cases where they are useful, a eslint-disable-line directive can be set. - Add docs js to linting * also enable github/array-foreach * small tweak Co-authored-by: Andrew Thornton <art27@cantab.net> Co-authored-by: techknowlogick <techknowlogick@gitea.io> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
* A better go code formatter, and now `make fmt` can run in Windows (#17684)wxiaoguang2021-11-171-8/+4
| | | | * go build / format tools * re-format imports
* Update golangci-lint in Makefile (#17647)Gusted2021-11-171-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | | * Update golangci-lint in Makefile - Partially resolvess #17596 - Download specific version(v1.43.0) by default. - If current installed version is older than the minium version, it will download the mininium required version. - Update the install script to avoid deprecated error `golangci/golangci-lint err this script is deprecated, please do not use it anymore. check https://github.com/goreleaser/godownloader/issues/207` * Simplify golangci-lint version check * Fix version conversion * Add version that's downloading Co-authored-by: zeripath <art27@cantab.net> * Consistency Co-authored-by: zeripath <art27@cantab.net> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: techknowlogick <techknowlogick@gitea.io>