aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* Update tool dependencies (#26607)silverwind2023-08-201-2/+2
| | | | | | - Updated all tool dependencies to latest versions - Add Makefile to `swagger` files because it specifies `go-swagger` version - Fix lint
* bump go to 1.21 (#26608)techknowlogick2023-08-211-1/+1
| | | Co-authored-by: Giteabot <teabot@gitea.io>
* Update govulncheck, fix typo (#26168)silverwind2023-07-261-4/+4
| | | | - Update govulncheck to latest version - Fix typo in variable name
* Docusaurus-ify (#26051)John Olheiser2023-07-261-13/+6
| | | | | | | | | | | | | | This PR cleans up the docs in a way to make them simpler to ingest by our [docs repo](https://gitea.com/gitea/gitea-docusaurus). 1. It includes all of the sed invocations our ingestion did, removing the need to do it at build time. 2. It replaces the shortcode variable replacement method with `@variable@` style, simply for easier sed invocations when required. 3. It removes unused files and moves the docs up a level as cleanup. --------- Signed-off-by: jolheiser <john.olheiser@gmail.com>
* Move public asset files to the proper directory (#25907)wxiaoguang2023-07-181-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move `public/*` to `public/assets/*` Some old PRs (like #15219) introduced inconsistent directory system. For example: why the local directory "public" is accessed by `http://site/assets`? How to serve the ".well-known" files properly in the public directory? For convention rules, the "public" directory is widely used for the website's root directory. It shouldn't be an exception for Gitea. So, this PR makes the things consistent: * `http://site/assets/foo` means `{CustomPath}/public/assets/foo`. * `{CustomPath}/public/.well-known` and `{CustomPath}/public/robots.txt` can be used in the future. This PR is also a prerequisite for a clear solution for: * #21942 * #25892 * discourse.gitea.io: [.well-known path serving custom files behind proxy?](https://discourse.gitea.io/t/well-known-path-serving-custom-files-behind-proxy/5445/1) This PR is breaking for users who have custom "public" files (CSS/JS). After getting approvals, I will update the documents. ---- ## ⚠️ BREAKING ⚠️ If you have files in your "custom/public/" folder, please move them to "custom/public/assets/". --------- Co-authored-by: 6543 <6543@obermui.de> Co-authored-by: Giteabot <teabot@gitea.io>
* Update tool dependencies, lock govulncheck and actionlint (#25655)silverwind2023-07-091-5/+5
| | | | | | | | | | - Update all tool dependencies - Lock `govulncheck` and `actionlint` to their latest tags --------- Co-authored-by: 6543 <m.huber@kithara.com> Co-authored-by: 6543 <6543@obermui.de> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
* Fix `lint-swagger` action (#25593)silverwind2023-06-291-2/+2
| | | | | - Add detection for swagger changes and run `lint-swagger` on it - Remove `lint-swagger` from `lint-frontend` - Remove `lint-md` from `lint-frontend`
* Update JS dependencies and misc tweaks (#25540)silverwind2023-06-271-4/+6
| | | | | | | | | | | | - Update all JS dependencies - Enable `declaration-property-unit-disallowed-list` to forbid `em` on `line-height` - Rename dependency update targets to `update-js` and `update-py` and document them - Remove margin on Asciicast viewer - Tested Swagger, Katex, Asciicast <img width="1243" alt="Screenshot 2023-06-27 at 19 51 05" src="https://github.com/go-gitea/gitea/assets/115237/2d2722a0-2aa7-4f4c-b8bd-17e1f3637b78">
* Add `make poetry-update`, upgrade `djlint` (#25399)silverwind2023-06-261-1/+8
| | | | | | [updates](https://github.com/silverwind/updates) now supports poetry as well so we can use it for a new `make poetry-update` to update all poetry dependencies.
* Gitea version in Makefile (#25456)John Olheiser2023-06-231-1/+1
| | | | | | | | | | As title, this is how it was inferred before https://github.com/go-gitea/gitea/blob/e24f651c86a5168da8181f2c75f5f99b56561224/Makefile#L83-L84 We moved to actions, however `GITEA_VERSION` should still work to use `VERSION` Signed-off-by: jolheiser <john.olheiser@gmail.com>
* Use Actions git context instead of dynamically created buildkit one (#25381)techknowlogick2023-06-201-4/+3
| | | | | | | | | | The [docker/build-push-action@v2 action](https://github.com/docker/build-push-action) by default ignores the checkout created using the actions/checkout@v2 action. When you pass a git build context to docker build, it wouldn't include the .git directory. By passing `context: .` to the build step then it'll use the Actions git context which includes the git fetch from the earlier step.
* fix a nit error output in Makefile (#25360)a10121127962023-06-181-1/+1
| | | | | | fix ``make: write error: stdout`` ref: https://stackoverflow.com/questions/70671525/write-error-stdout-when-calling-make-from-makefile
* use Actions environment variables in Makefile (#25319)techknowlogick2023-06-171-5/+5
|
* Build nightly binaries with Actions (#25308)techknowlogick2023-06-161-12/+0
| | | Co-authored-by: silverwind <me@silverwind.io>
* Add template linting via djlint (#25212)silverwind2023-06-141-1/+14
| | | | | | | | | | | | | | | | | | So I found this [linter](https://github.com/Riverside-Healthcare/djlint) which features a mode for go templates, so I gave it a try and it did find a number of valid issue, like unbalanced tags etc. It also has a number of bugs, I had to disable/workaround many issues. Given that this linter is written in python, this does add a dependency on `python` >= 3.8 and `poetry` to the development environment to be able to run this linter locally. - `e.g.` prefixes on placeholders are removed because the linter had a false-positive on `placeholder="e.g. cn=Search"` for the `attr=value` syntax and it's not ideal anyways to write `e.g.` into a placeholder because a placeholder is meant to hold a sample value. - In `templates/repo/settings/options.tmpl` I simplified the logic to not conditionally create opening tags without closing tags because this stuff confuses the linter (and possibly the reader as well).
* Remove the service worker (#25010)silverwind2023-05-311-1/+1
| | | | | | | | | | | | | It's been disabled by default since 1.17 (https://github.com/go-gitea/gitea/pull/18914), and it never really delivered any benefit except being another cache layer that has its own unsolved invalidation issues. HTTP cache works, we don't need two cache layers at the browser for assets. ## :warning: BREAKING You can remove the config `[ui].USE_SERVICE_WORKER` from your `app.ini` now.
* Use file filters action instead of Github's files filter (#24877)Lunny Xiao2023-05-251-0/+7
| | | | | | | | | | | | | | | Inspired by https://github.com/go-gitea/gitea/pull/24530#issuecomment-1558815301 This PR use a file filter action to do different CI jobs according changed files types. All types are defined in `.github/file-filters.yml`. Now there are 4 types, `docs`, `backend`, `frontend` and `build`. Then if a PR only changed docs files, those CI jobs which passed the conditions will run, and other types are also like this. --------- Co-authored-by: silverwind <me@silverwind.io>
* Reduce verbosity of dev commands (#24917)silverwind2023-05-241-2/+2
| | | | | | | | | | | | | | | | | | | | | ### Before ``` $ make watch bash build/watch.sh make[1]: Entering directory '/Users/silverwind/git/gitea' make[1]: Entering directory '/Users/silverwind/git/gitea' GITEA_RUN_MODE=dev go run github.com/cosmtrek/air@v1.43.0 -c .air.toml rm -rf public/js public/css public/fonts public/img/webpack public/serviceworker.js NODE_ENV=development npx webpack --watch --progress ``` ### After ``` $ make watch GITEA_RUN_MODE=dev go run github.com/cosmtrek/air@v1.43.0 -c .air.toml NODE_ENV=development npx webpack --watch --progress ```
* Run stylelint on .vue files (#24865)silverwind2023-05-231-2/+2
| | | | | | | - Run stylelint on .vue files - Fix discovered issues - Suppress warning spam from `declaration-strict-value` rule Co-authored-by: Giteabot <teabot@gitea.io>
* GitHub Actions cleanups (#24620)silverwind2023-05-111-2/+2
| | | | | | | | | | - Remove actions name where command is descriptive enough - Use kebab-case instead of snake-case for step names - Use shorter job names because to make PR checks more readable - Remove duplicate `checks-backend` --------- Co-authored-by: Yarden Shoham <git@yardenshoham.com>
* Makefile: Use portable !, not GNUish -not, with find(1). (#24565)riastradh2023-05-071-1/+1
| | | | | fix https://github.com/go-gitea/gitea/issues/24564 Co-authored-by: Taylor R Campbell <campbell+gitea@mumble.net>
* Unify nightly naming across binaries and docker images (#24116)techknowlogick2023-04-241-0/+5
| | | | | | | | Proposal found here: https://github.com/go-gitea/gitea/issues/23654 TODO: make non-breaking (can we publish docker image using dev and nightly prefix? at same time). if anyone has advice please comment :) If this PR is merged, then I can add redirects to the downloads site.
* Replace whitespace inside template parens during make fmt (#24293)silverwind2023-04-241-2/+6
| | | | Remove space/tab after `(` and before `)` in templates. Only two violations it seems.
* Update go tool dependencies, restructure lint targets (#24239)silverwind2023-04-221-39/+71
| | | | | | | | - Update all tool dependencies to latest tag - Remove unused errcheck, it is part of golangci-lint - Include main.go in air - Enable wastedassign again now that it's [generics-compatible](https://github.com/golangci/golangci-lint/pull/3689) - Restructured lint targets to new `lint-*` namespace
* Make HAS_GO a simply expanded variable (#24169)silverwind2023-04-171-2/+2
| | | | Avoid recursive expansion on this variable and simplify the value. [Reference](https://www.gnu.org/software/make/manual/html_node/Setting.html).
* Introduce lint-md and compliance-docs pipeline (#24021)silverwind2023-04-091-1/+5
| | | | | | | - Add new Make target `lint-md` - Add new Drone pipeline `compliance-docs` - Add `*.md` to docs exclusion/inclusion - Consistently quote `path.include` and `path.exclude` statements in YAML
* Remove -v from vulncheck (#23953)John Olheiser2023-04-061-1/+1
| | | | We should think about locking this dep, but for now this should get builds going again.
* Clean some legacy files and move some build files (#23699)wxiaoguang2023-03-251-7/+2
| | | | | | | | | | | | | | | | | | | * Clean the "tools" directory. The "tools" directory contains only two files, move them. * The "external_renderer.go" works like "cat" command to echo Stdin to Stdout , to help testing. * The `// gobuild: external_renderer` is incorrect, there should be no space: `//gobuild: external_renderer` * The `fmt.Print(os.Args[1])` is not a well-defined behavior, and it's never used. * The "watch.sh" is for "make watch", it's somewhat related to "build" * After this PR, there is no "tools" directory, the project root directory looks slightly simpler than before. * Remove the legacy "contrib/autoboot.sh", there is no "gogs_supervisord.sh" * Remove the legacy "contrib/mysql.sql", it's never mentioned anywhere. * Remove the legacy "contrib/pr/checkout.go", it has been broken for long time, and it introduces unnecessary dependencies of the main code base.
* ensure go/bin path exists when copying hugo bin into it (#23692)techknowlogick2023-03-241-1/+1
| | | | | | follow up of https://github.com/go-gitea/gitea/pull/23686 path does not exist during static pipeline, and fails out (example: https://drone.gitea.io/go-gitea/gitea/70587/1/5 )
* Add `deps-docs` command to makefile (#23686)Yarden Shoham2023-03-241-4/+8
| | | | | | Refactored `deps-docs` out of `docs` because #23629 broke Gitpod's docs setup (which grepped to get the hugo install command). Now `make deps` really installs everything to develop (includes `docs`).
* Restructure documentation. Now the documentation has installation, ↵Lunny Xiao2023-03-231-1/+2
| | | | | | | | | | | | | | | | | | | | | | administration, usage, development, contributing the 5 main parts (#23629) - **Installation**: includes how to install Gitea and related other tools, also includes upgrade Gitea - **Administration**: includes how to configure Gitea, customize Gitea and manage Gitea instance out of Gitea admin UI - **Usage**: includes how to use Gitea's functionalities. A sub documentation is about packages, in future we could also include CI/CD and others. - **Development**: includes how to integrate with Gitea's API, how to develop new features within Gitea - **Contributing**: includes how to contribute code to Gitea repositories. After this is merged, I think we can have a sub-documentation of `Usage` part named `Actions` to describe how to use Gitea actions --------- Co-authored-by: John Olheiser <john.olheiser@gmail.com>
* Enable color for consistency checks diffs (#23563)silverwind2023-03-181-5/+5
| | | | | | Drone can display terminal colors, so force-enable it to make diffs more readable on it. Co-authored-by: delvh <leon@kske.dev>
* Replace Less with CSS (#23481)silverwind2023-03-141-3/+3
| | | | | | | | | | | | Ran most of the Less files through the Less compiler and Prettier and then followed up with a round of manual fixes. The Less compiler had unfortunately stripped all `//` style comments that I had to restore (It did preserve `/* */` comments). Other fixes include duplicate selector removal which were revealed after the transpilation and which weren't caught by stylelint before but now are. Fixes: https://github.com/go-gitea/gitea/issues/15565
* test_env: hardcode major go version in use (#23464)techknowlogick2023-03-141-1/+1
| | | | | | | | hardcode the version of test_env we use in docker, so that we can use different major versions of golang between versions of Gitea --------- Co-authored-by: Lauris BH <lauris@nix.lv>
* Split CI pipelines (#23385)John Olheiser2023-03-101-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - This PR attempts to split our various DB tests into separate pipelines. - It splits up some of the extra feature-related tests rather than having most of them in the MySQL test. - It disables the race detector for some of the pipelines as well, as it can cause slower runs and is mostly redundant when the pipelines just swap DBs. - It builds without SQLite support for any of the non-SQLite pipelines. - It moves the e2e test to using SQLite rather than PG (partially because I moved the minio tests to PG and that mucked up the test config, and partially because it avoids another running service) - It splits up the `go mod download` task in the Makefile from the tool installation, as the tools are only needed in the compliance pipeline. (Arguably even some of the tools aren't needed there, but that could be a follow-up PR) - SQLite is now the only arm64 pipeline, moving PG back to amd64 which can leverage autoscaler Should resolve #22010 - one thing that wasn't changed here but is mentioned in that issue, unit tests are needed in the same pipeline as an integration test in order to form a complete coverage report (at least as far as I could tell), so for now it remains in a pipeline with a DB integration test. Please let me know if I've inadvertently changed something that was how it was on purpose. --- I will say sometimes it's hard to pin down the average time, as a pipeline could be waiting for a runner for X minutes and that brings the total up by X minutes as well, but overall this does seem to be faster on average. --------- Signed-off-by: jolheiser <john.olheiser@gmail.com> Co-authored-by: techknowlogick <techknowlogick@gitea.io>
* Fix Fomantic UI's `touchstart` fastclick, always use `click` for click ↵wxiaoguang2023-02-271-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | events (#23065) Using `touchstart` for `click` events is a black magic for mobile browsers (Google: `fastclick`). However, it causes many UX problems if the fastclick is used without careful design. Fomantic UI uses this fastclick for its `dimmer` and `dropdown`, it makes mobile users feel strange when they "touch" the dropdown menu. This PR uses a simple patch to fix that behavior. Then the Fomantic dropdown only uses `click` for click events. This PR is simple enough and won't cause hidden bugs even if the patch doesn't work. In the future, if there are more patches for Fomantic UI, the patches could be placed in a directory like `web_src/fomantic/patches/001-fix-click-touchstart`, etc. ![image](https://user-images.githubusercontent.com/2114189/220551915-bd28e8cc-507f-43c7-bb4a-b24f7ff3934d.png) Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
* Update go.mod dependencies (#23126)zeripath2023-02-241-1/+1
| | | | | | | | | | | | | | This PR does a bulk update of a lot of our go deps. I have not included nektos/act and xorm for the following reasons: * Xorm updates can sometimes be complex and I'd rather do that in a separate PR * I think people more update with the actions code should double check that the latest nektos/act library works correctly. --------- Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: techknowlogick <techknowlogick@gitea.io>
* update to build with go1.20 (#22732)techknowlogick2023-02-031-2/+2
| | | | | | | as title --------- Co-authored-by: Lauris BH <lauris@nix.lv>
* Remove the netgo tag for Windows build (#22467)wxiaoguang2023-01-161-2/+2
| | | | | | | | | | | | | Fix #22370 and more. Before Go 1.19, the `netgo` tag for Windows does nothing. But Go 1.19 rewrite the net package code for Windows DNS, and there is a bug: * https://github.com/golang/go/issues/57757 This PR just removes the `netgo` tag for Windows build, then the Gitea for Windows can have the old DNS behavior.
* cgo cross-compile for freebsd (#22397)techknowlogick2023-01-101-1/+8
| | | | | Provide pre-compiled cgo binaries for freebsd Co-authored-by: John Olheiser <john.olheiser@gmail.com>
* Add more test directory to exclude dir of air, remove watching templates ↵Lunny Xiao2022-12-271-1/+1
| | | | | | | | | | | | | | from air include dir because gitea has internal mechanism (#22246) Since #20218 introduced internal watching template, template watching should be removed from `air`. This will prevent restart the whole server once the template files changed to speed up developing when using `make watch`. To ensure `make watch` will reuse template watching, this PR introduced a new ENV `GITEA_RUN_MODE` to make sure `make watch` will always run in a dev mode of Gitea so that template watching will open. This PR also added more exclude testdata directories.
* Update go dev dependencies (#22064)silverwind2022-12-081-6/+6
| | | | | `golangci-lint` [deprecated](https://github.com/golangci/golangci-lint/issues/1841) a bunch of linters, removed them.
* Consolidate security-check into checks-backend (#21882)silverwind2022-11-211-2/+2
| | | Also, run it via exact version instead of relying on global binary.
* Split migrations folder (#21549)Lunny Xiao2022-11-021-38/+56
| | | | There are too many files in `models/migrations` folder so that I split them into sub folders.
* Remove unnecessary misspell ignore pattern (#21475)wxiaoguang2022-10-181-1/+1
| | | It doesn't make sense to ignore the pattern again and again.
* Simplify fmt-check (#21458)silverwind2022-10-161-18/+16
| | | | | | | | | `fmt-check` now simply does `fmt` before and relies on `git diff` like other checks like 'tidy-check' already do, so we can remove the argument in the tool that handles printing changed files. Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: zeripath <art27@cantab.net> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
* Switch from jest to vitest (#21444)silverwind2022-10-141-1/+1
| | | | | | | | | | | | | | Even if we are not bundling with `vite` yet, we can use `vitest` in place of Jest which brings a few benefits like not requiring to use `NODE_OPTIONS` to run and having sane module resolution. It's possible to also use `jest-extended` with vitest, but I opted to not do so for now because it brings heavyweight dependencies and it was trivial to just rewrite the affected matchers to be compatible. This PR also removes 153 JS dependencies, which is certainly nice. Co-authored-by: 6543 <6543@obermui.de> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
* Hook go-licenses into tidy again (#21353)silverwind2022-10-101-6/+4
| | | | | | | | | Running it as part of the build is really unnecessary because we have a valid output file in the repo and assuming go dependencies do not change unless go.mod also changes, tidy really is the best target to run the license generation after. Also, regenerate the file as I missed to do so during the chroma update, and mark all json files in assets as generated.
* Update JS dependencies and eslint config (#21388)silverwind2022-10-101-1/+1
| | | | | | | | - Update all JS dependencies and playwright image - Add new eslint rules, enable a few more, fix issues - Regenerate SVGs - Tested Vue and Swagger Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
* 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>