summaryrefslogtreecommitdiffstats
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* Update misspell to 0.5.1 and add `misspellings.csv` (#30573)silverwind2024-04-271-3/+3
| | | | | | Misspell 0.5.0 supports passing a csv file to extend the list of misspellings, so I added some common ones from the codebase. There is at least one typo in a API response so we need to decided whether to revert that and then likely remove the dict entry.
* Suppress browserslist warning in webpack target (#30571)silverwind2024-04-271-2/+3
| | | | | | | | | | | | | | | | | 1. Set [`BROWSERSLIST_IGNORE_OLD_DATA`](https://github.com/browserslist/browserslist/blob/c6ddf7b3870a4585822d06ec77e8dd2401b8e1ed/node.js#L400) to avoid warning on outdated browserslist data which the end user can likely not do anything about and which is currently visible in the v1.21 branch. 2. Suppress all command echoing and add a "Running webpack..." message in place. Warning in question was this: ``` Browserslist: caniuse-lite is outdated. Please run: npx update-browserslist-db@latest Why you should do it regularly: https://github.com/browserslist/update-db#readme ```
* Add a few root files to lint-spell (#30530)silverwind2024-04-181-2/+2
| | | Files in root were not linted, add them. No new violations.
* Run `go generate` and `go vet` on all packages (#30529)silverwind2024-04-171-3/+2
| | | | | | | | | | Fixes: https://github.com/go-gitea/gitea/issues/30512 I think this does mean those tools would run on a potential `vendor` directory, but I'm not sure we really support vendoring of dependencies anymore. `release` has a `vendor` prerequisite so likely the source tarballs contain vendor files?
* Add `interface{}` to `any` replacement to `make fmt`, exclude `*.pb.go` (#30461)silverwind2024-04-131-1/+1
| | | | | | | Since https://github.com/go-gitea/gitea/pull/25686, a few `interface{}` have sneaked into the codebase. Add this replacement to `make fmt` to prevent this from happening again. Ideally a linter would do this, but I haven't found any suitable.
* Lock a few tool dependencies to major versions (#30439)silverwind2024-04-121-4/+4
| | | | | | | | | | | It's better having to update these less often, so unlock a few dependencies that I trust enough to not break to their latest major versions. This excludes any tool still at major version 0 and golangci-lint can't really be unlocked either because new versions almost always break there. For the v0 packages, I've opened https://github.com/golangci/misspell/issues/14 and https://github.com/mvdan/gofumpt/issues/303.
* Upgrade golangci-lint to v1.57.2 (#30401)silverwind2024-04-111-1/+1
| | | | Update and adapt to one setting [deprecation](https://github.com/golangci/golangci-lint/pull/4509).
* replace jquery-minicolors with coloris (#30055)silverwind2024-03-291-1/+1
| | | | | | | | | | | | | | | | | | Get rid of one more jQuery dependant and have a nicer color picker as well. Now there is only a single global color picker init because that is all that's necessary because the elements are present on the page when the init code runs. The init is slightly weird because the module only takes a selector instead of DOM elements directly. The label modals now also perform form validation because previously it was possible to trigger a 500 error `Color cannot be empty.` by clearing out the color value on labels. <img width="867" alt="Screenshot 2024-03-25 at 00 21 05" src="https://github.com/go-gitea/gitea/assets/115237/71215c39-abb1-4881-b5c1-9954b4a89adb"> <img width="860" alt="Screenshot 2024-03-25 at 00 20 48" src="https://github.com/go-gitea/gitea/assets/115237/a12cb68f-c38b-4433-ba05-53bbb4b1023e">
* Upgrade fabric to 6.0.0-beta20 (#30121)silverwind2024-03-271-1/+1
| | | | Fixes https://github.com/go-gitea/gitea/issues/29326 because it includes https://github.com/fabricjs/fabric.js/pull/9707.
* Add svg linter and fix incorrect svgs (#30086)silverwind2024-03-261-1/+2
| | | | | | | | | | | | | | | | | Fixes https://github.com/go-gitea/gitea/issues/30082. Adds a new linter that searches for non-existant SVG images in templates. Output before the fix was: ``` $ make lint-templates SVG "octicon-warning" not found, used in templates/devtest/flex-list.tmpl SVG "octicon-warning" not found, used in templates/devtest/flex-list.tmpl SVG "octicon-markup" not found, used in templates/repo/diff/comment_form.tmpl make: *** [Makefile:438: lint-templates] Error 1 ``` <img width="306" alt="Screenshot 2024-03-25 at 23 31 05" src="https://github.com/go-gitea/gitea/assets/115237/1052d1a9-bfec-4d5a-9cae-f895f78f7c93">
* remove PATH and GOPATH modification in Makefile (#29978)silverwind2024-03-211-3/+0
| | | | We don't need these modifications anymore since all tool dependencies run via `go run`.
* move some scripts from 'build' to 'tools' directory, misc refactors (#29844)silverwind2024-03-171-7/+9
| | | | | | | | | | | | | | - Move some scripts from `build` to new `tools` dir. Eventually i would like to move all but let's do it step-by-step. - Add dir to eslint and move the files into vars. - Update docs accordingly. - While updating docs I noticed we were incorrectly having `public/img` path still in a few places. Replace those with the current `public/assets/img`. --------- Co-authored-by: Nanguan Lin <nanguanlin6@gmail.com> Co-authored-by: Giteabot <teabot@gitea.io>
* Fix document error about 'make trans-copy' (#29710)Daniel YC Lin2024-03-141-4/+0
| | | | | | | Change document to 'make docs' --------- Co-authored-by: techknowlogick <techknowlogick@gitea.com>
* Fix `make generate-swagger` in go 1.22 (#29780)silverwind2024-03-141-1/+1
| | | | | Fixes: https://github.com/go-gitea/gitea/issues/29664. No release available for https://github.com/go-swagger/go-swagger/issues/3070 so let's depend on latest commit hash. Output is the same as before for me.
* Fix bug hidden on CI and make ci failed if tests failure (#29254)Lunny Xiao2024-03-071-13/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | The tests on migration tests failed but CI reports successfully https://github.com/go-gitea/gitea/actions/runs/7364373807/job/20044685969#step:8:141 This PR will fix the bug on migration v283 and also the CI hidden behaviour. The reason is on the Makefile `GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mysql.ini $(GO) test $(GOTESTFLAGS) -tags='$(TEST_TAGS)' $(MIGRATE_TEST_PACKAGES)` will return the error exit code. But `for pkg in $(shell $(GO) list code.gitea.io/gitea/models/migrations/...); do \ GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mysql.ini $(GO) test $(GOTESTFLAGS) -tags '$(TEST_TAGS)' $$pkg; \ done` will not work. This also fix #29602
* Run editorconfig-checker on `locale_en-US.ini` (#29608)silverwind2024-03-061-1/+2
| | | | | | | Will prevent trailing whitespace etc being introduced in this file. --------- Co-authored-by: Giteabot <teabot@gitea.io>
* Regenerate fomantic lockfile and build it with our browserslist (#29560)silverwind2024-03-041-0/+1
| | | | | | | | | | | | | 1. Make fomantic build use [our browserslist](https://github.com/go-gitea/gitea/blob/e3524c63d6d42865ea8288af89b372544d35474b/package.json#L99). I found no other way than to sed-replace into it's js, the normal browserlist config files do not work. The effect of this change is the removal of some uneeded CSS vendor prefixes. 2. Regenerate `web_src/fomantic/package-lock.json`, this might shut up some security scanners. --------- Co-authored-by: Giteabot <teabot@gitea.io>
* Add tailwindcss (#29357)silverwind2024-02-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will get tailwindcss working on a basic level. It provides only the utility classes, e.g. no tailwind base which we don't need because we have our own CSS reset. Without the base, we also do not have their CSS variables so a small amount of features do not work and I removed the generated classes for them. ***Note for future developers: This currently uses a `tw-` prefix, so we use it like `tw-p-3`.*** <details> <summary>Currently added CSS, all false-positives</summary> ``` .\!visible{ visibility: visible !important } .visible{ visibility: visible } .invisible{ visibility: hidden } .collapse{ visibility: collapse } .static{ position: static } .\!fixed{ position: fixed !important } .absolute{ position: absolute } .relative{ position: relative } .sticky{ position: sticky } .left-10{ left: 2.5rem } .isolate{ isolation: isolate } .float-right{ float: right } .float-left{ float: left } .mr-2{ margin-right: 0.5rem } .mr-3{ margin-right: 0.75rem } .\!block{ display: block !important } .block{ display: block } .inline-block{ display: inline-block } .inline{ display: inline } .flex{ display: flex } .inline-flex{ display: inline-flex } .\!table{ display: table !important } .inline-table{ display: inline-table } .table-caption{ display: table-caption } .table-cell{ display: table-cell } .table-column{ display: table-column } .table-column-group{ display: table-column-group } .table-footer-group{ display: table-footer-group } .table-header-group{ display: table-header-group } .table-row-group{ display: table-row-group } .table-row{ display: table-row } .flow-root{ display: flow-root } .inline-grid{ display: inline-grid } .contents{ display: contents } .list-item{ display: list-item } .\!hidden{ display: none !important } .hidden{ display: none } .flex-shrink{ flex-shrink: 1 } .shrink{ flex-shrink: 1 } .flex-grow{ flex-grow: 1 } .grow{ flex-grow: 1 } .border-collapse{ border-collapse: collapse } .select-all{ user-select: all } .resize{ resize: both } .flex-wrap{ flex-wrap: wrap } .overflow-visible{ overflow: visible } .rounded{ border-radius: 0.25rem } .border{ border-width: 1px } .text-justify{ text-align: justify } .uppercase{ text-transform: uppercase } .lowercase{ text-transform: lowercase } .capitalize{ text-transform: capitalize } .italic{ font-style: italic } .text-red{ color: var(--color-red) } .text-shadow{ color: var(--color-shadow) } .underline{ text-decoration-line: underline } .overline{ text-decoration-line: overline } .line-through{ text-decoration-line: line-through } .outline{ outline-style: solid } .ease-in{ transition-timing-function: cubic-bezier(0.4, 0, 1, 1) } .ease-in-out{ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) } .ease-out{ transition-timing-function: cubic-bezier(0, 0, 0.2, 1) } ``` </details> --------- Co-authored-by: Giteabot <teabot@gitea.io>
* Upgrade to fabric 6 (#29334)silverwind2024-02-231-1/+1
| | | | | | Upgrade fabric to latest v6 beta. It works for our use case, even thought it does not fix the upstream issue https://github.com/fabricjs/fabric.js/issues/9679 that https://github.com/go-gitea/gitea/issues/29326 relates to.
* Don't install playwright twice (#29302)silverwind2024-02-221-2/+1
| | | | | | | | | | | | 1. `playwright/test` is already installed as part of `deps-frontend` on CI which runs before, so it's better to not install it again (on a potentially different version), and just use the version from package.json and add the `deps-frontend` dependency. 2. `PLAYWRIGHT_DIR` is a undefined variable, so I removed it ```bash $ git show c8ded77680db7344c8dc1ccee76bce0b4e02e103 | grep PLAYWRIGHT_DIR +playwright: $(PLAYWRIGHT_DIR) ```
* Refactor more code in templates (#29236)wxiaoguang2024-02-181-2/+2
| | | | | | | | Follow #29165. * Introduce JSONTemplate to help to render JSON templates * Introduce JSEscapeSafe for templates. Now only use `{{ ... | JSEscape}}` instead of `{{ ... | JSEscape | Safe}}` * Simplify "UserLocationMapURL" useage
* Disable parallel Make execution (#29186)silverwind2024-02-161-0/+5
| | | | | | | | Ref: https://www.gnu.org/software/make/manual/html_node/Parallel-Disable.html > If the .NOTPARALLEL special target with no prerequisites is specified anywhere then the entire instance of make will be run serially, regardless of the parallel setting
* bump to use go 1.22 (#29119)techknowlogick2024-02-141-2/+2
|
* add lint-spell-fix to lint-fix (#29111)silverwind2024-02-091-1/+1
| | | | Followup to https://github.com/go-gitea/gitea/pull/29106, fix this oversight.
* Rework spellchecking, add `lint-spell` (#29106)silverwind2024-02-091-7/+15
| | | | | | | | | | | - Use maintained fork https://github.com/golangci/misspell - Rename `mispell-check` to `lint-spell`, add `lint-spell-fix` - Run `lint-spell` in separate actions step - Lint more files, fix discovered issues - Remove inaccurate and outdated info in docs (we do not need GOPATH for tools anymore) Maybe later we can add more spellchecking tools, but I have not found any good ones yet.
* Update tool dependencies (#29030)silverwind2024-02-021-5/+5
|
* Add `--no-root` to `update-py` (#27937)silverwind2023-11-061-1/+1
| | | Missed this command in https://github.com/go-gitea/gitea/pull/27919.
* Install poetry dependencies with --no-root (#27919)silverwind2023-11-061-1/+1
| | | | | | | | Poetry 1.7.0 or higher will print a warning otherwise, see discussions: https://github.com/python-poetry/poetry/pull/8369 https://github.com/python-poetry/poetry/issues/1132 > --no-root Do not install the root package (the current project).
* Upgrade to golangci-lint@v1.55.0 (#27756)silverwind2023-10-241-1/+1
| | | https://github.com/golangci/golangci-lint/releases/tag/v1.55.0
* Remove network call on `make clean` (#27689)techknowlogick2023-10-191-1/+0
| | | | | fix #27653 credit to silverwind for finding issue
* Remove .exe suffix when cross-compiling on Windows (#27448)Sergey Zolotarev2023-10-061-4/+8
| | | | | | | | When compiling GItea for Linux on Windows, you get a `gitea.exe` file as output, but because it's a Linux executable, the `.exe` extension is unnecessary. This PR adds a check for `GOOS` environment variable in addition to `OS`.
* Require MySQL 8.0, PostgreSQL 12, MSSQL 2012 (#27337)silverwind2023-10-031-57/+7
| | | | | | | | | | | | | | | | | | | | | | | - MySQL 5.7 support and testing is dropped - MySQL tests now execute against 8.1, up from 5.7 and 8.0 - PostgreSQL 10 and 11 support ist dropped - PostgreSQL tests now execute against 16, up from 15 - MSSQL 2008 support is dropped - MSSQL tests now run against locked 2022 version Fixes: https://github.com/go-gitea/gitea/issues/25657 Ref: https://endoflife.date/mysql Ref: https://endoflife.date/postgresql Ref: https://endoflife.date/mssqlserver ## :warning: BREAKING :warning: Support for MySQL 5.7, PostgreSQL 10 and 11, and MSSQL 2008 is dropped. You are encouraged to upgrade to supported versions. --------- Co-authored-by: techknowlogick <techknowlogick@gitea.com>
* Update JS and Poetry dependencies and eslint (#27200)silverwind2023-09-221-0/+4
| | | | | | | - Update all JS and Poetry dependencies - Remove deprecated `eslint-plugin-custom-elements` and replace it with rules from `eslint-plugin-wc` - Add a convenience `make update` to update both js and py dependencies - Tested markdown toolbar, swagger and citation
* Add `yamllint` (#26965)silverwind2023-09-071-0/+5
| | | | | | | | | So that https://github.com/go-gitea/gitea/pull/26964 does not happen again. Merge this after that PR. Config is based on [node's](https://github.com/nodejs/node/blob/main/.yamllint.yaml). --------- Co-authored-by: techknowlogick <techknowlogick@gitea.com>
* 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.