forgejo/.gitea/issue_template/furnace-cleanup.yml
Earl Warren 9ec04976db
[WORKFLOW] issue template for the weekly 🔥 Forgejo furnace cleanup
* Squashing related Forgejo commits
* Moving misplaced Forgejo commits in their respective branches
* Gitea rebasing
* Updating packaged dependencies (JavaScript, Go etc.)

(cherry picked from commit ff6d521289)
(cherry picked from commit d63c5b18a7)
2023-09-18 14:11:24 +02:00

108 lines
4.8 KiB
YAML

name: 🔥 Forgejo weekly furnace cleanup
description: Keeping Forgejo in sync with its dependencies and contributing back to them
title: "🔥 Furnace cleanup DD/MM/YYYY"
labels:
- "forgejo/furnace cleanup"
body:
- type: textarea
attributes:
label: Checklist
value: |
### Archive
- [ ] The current branches are archived using [main.sh archive_branches](https://codeberg.org/forgejo-contrib/soft-fork-tools).
### PRs
Offer assistance to deal with cherry-picking after the rebase
* all already had a heads up last week or know how to deal with rebase already
```
Heads up: Forgejo is being [rebased on Gitea](https://codeberg.org/forgejo/forgejo/issues?q=Furnace+cleanup) today (that's a weekly occurrence). It means you will need to cherry-pick your commits on top of the newer base branch for this PR and maybe resolve conflicts. You can do that on your own time, you do not need to do that today. It can be in a week or a month and you can keep working in the meantime.
Ideally Gitea would be a package that can be upgraded as any other Go package. But it is not designed in this way and the weekly rebase is the equivalent of such an upgrade, only it is more work.
If you need help doing that, feel free to reach out in the [development chatroom](https://matrix.to/#/#forgejo-development:matrix.org).
```
### Gitea main & stable
- [ ] push Gitea main, release/v1.19, release/v1.20 in forgejo
### test-env
No change.
<details>
- [ ] rebuild
- main https://ci.dachary.org/forgejo/test-env/pipeline/??
- 1.20 https://ci.dachary.org/forgejo/test-env/pipeline/??
</details>
### Rebase milestone
* Created manually https://codeberg.org/forgejo/forgejo/milestone/???
* All PRs in the milestone are prepared [main.sh rebase_*](https://codeberg.org/forgejo-contrib/soft-fork-tools)
* Each PR has comments to document the manual actions
* Conflicts are documented
* Commits are squashed when possible to keep the commit history readable and minimal
#### development
When commits move from one feature branch to another; one branch
cherry-picks them, the other skips them.
For each branch `forgejo-{ci,development,privacy,i18n,branding,f3,moderation,dependency}` go over the
commits it contains. If one of them does not belong and should be moved to another branch
add it to the `forgejo-???` takes commits from `forgejo-???` section.
* `forgejo-???` takes commits from `forgejo-???`
Per-branch notes.
* `forgejo-???`
* ???
Once all branches pass
* reset to forgejo/main
* merge `forgejo-{privacy,i18n,branding,f3,moderation,dependency}` into `forgejo`
* push to a temporary PR https://codeberg.org/forgejo/forgejo/pulls/???
* [ ] close the PR when the tests pass
* force push to `forgejo`
* [ ] branch run
* https://codeberg.org/forgejo/forgejo/actions/runs/???
* [ ] delete release v1.21.0-dev https://codeberg.org/forgejo-integration/forgejo/releases/tag/v1.21.0-dev
* [ ] force push tag v1.21.0-dev to https://codeberg.org/forgejo-integration https://codeberg.org/forgejo-integration/forgejo/actions/runs/???
* [ ] run setup-forgejo for test https://code.forgejo.org/earl-warren/setup-forgejo/src/branch/wip-dev-test
- [ ] https://code.forgejo.org/earl-warren/setup-forgejo/actions/runs/???
- [ ] https://code.forgejo.org/earl-warren/setup-forgejo/actions/runs/???
* [ ] verify the container image
```
docker rmi codeberg.org/forgejo-integration/forgejo:1.21.0-dev
docker run -d --name forgejo -p 8080:3000 -e FORGEJO__server__LFS_START_SERVER=true -e FORGEJO__security__INSTALL_LOCK=true -e FORGEJO__log__LEVEL=debug -e FORGEJO__server__ROOT_URL=http://0.0.0.0:8080/ -e FORGEJO__actions__ENABLED=true codeberg.org/forgejo-integration/forgejo:1.21.0-dev bash -c '/bin/s6-svscan /etc/s6 & sleep 10 ; su -c "forgejo admin user create --admin --username root --password admin1234 --email root@example.com" git && sleep infinity'
firefox 0.0.0.0:8080
```
* [ ] verify the binary
```
wget -O forgejo https://codeberg.org/forgejo-integration/forgejo/releases/download/v1.21.0-dev/forgejo-1.21.0-dev-linux-amd64
chmod +x forgejo
./forgejo forgejo-cli f3 mirror -h
```
* [ ] verify the sources
```
wget -O forgejo.tar.gz https://codeberg.org/forgejo-integration/forgejo/releases/download/v1.21.0-dev/forgejo-src-1.21.0-dev.tar.gz
rm -fr forgejo-src-1.21.0-dev
tar -zxvf forgejo.tar.gz
cd forgejo-src-1.21.0-dev
make TAGS='bindata sqlite sqlite_unlock_notify' forgejo
```
#### v1.21
(not yet)
validations:
required: true