Files
FEX-Emu--FEX/docs/ReleaseProcess.md
T
Ryan Houdek d323032ec9 docs: Remove Arch from the release process.
On December 6th 2024, the fex-emu packages got a deletion request:

> MarsSeed [1] filed a deletion request for fex-emu [2]:
>
> ARM-only package.
> This should be submitted to ArchLinuxARM.org [a], not to AUR - see
> quote from ArchWiki [b]:
>
>     "Packages that do not support the x86_64 architecture
>     are not allowed in the AUR."
>
> [a]:
> https://archlinuxarm.org/forum/viewforum.php?f=4
> [b]:
> https://wiki.archlinux.org/title/AUR_submission_guidelines#Rules_of_submission
>
> [1] https://aur.archlinux.org/account/MarsSeed/
> [2] https://aur.archlinux.org/pkgbase/fex-emu/

This is due to a rule clarification that occured in Arch's forum on November 25th: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/IRZ2LWYX3ECPJQZJXMLAP6JIKL6HLHPZ/#GMYC74CRSFH7GGNENEUOODZUPWHOMX7A

On December 3rd the package submission guidelines on their wiki was
updated to mandate x86-64 support:
https://wiki.archlinux.org/index.php?title=AUR_submission_guidelines&diff=prev&oldid=822050

As of today, December 7th, 2024 the packages have been removed from AUR
due to only supporting aarch64.

> Muflone [1] deleted fex-emu [2].
>
> You will no longer receive notifications about this package.
>
> [1] https://aur.archlinux.org/account/Muflone/
> [2] https://aur.archlinux.org/pkgbase/fex-emu/

ArchLinux is no longer a supported distro for FEX, remove it from the release processes documentation.
2024-12-07 16:15:22 -08:00

94 lines
3.7 KiB
Markdown

# FEX tagged version (release) process
A FEX tagged version happens near the start of each month.
The tagged versioning is `FEX-<YYMM>` with the month being the current month.
If a tagged version was being done on `Sun, 02 Jan 2022` then the FEX version would be FEX-2201
There are multiple locations that need to be updated during a release
* Github tagged release
* Github releases page
* fex-emu.com blog post
* https://launchpad.net/~fex-emu/+archive/ubuntu/fex Ubuntu PPA
* @FEX_Emu twitter account
* Optional: Update the rootfs images
## Github Steps
* Check out the commit that will be the branch
$ git checkout upstream/main
* Make local main branch be the selected commit
$ git branch -D main
$ git checkout -b main
* Run the release script
$ Scripts/generate_release.sh
* Push the branches upstream
* This requires administrative push rights
* Both the tag and the main branch needs to be committed
$ git push upstream $CURRENT
$ git push upstream main
## Launchpad PPA steps
Follow the steps in: https://github.com/FEX-Emu/FEX-ppa/blob/main/README.md
* Requires PPA GPG key signing access
* Wait the 20-30 minutes for Ubuntu PPA to build and publish the binaries
## Github releases page Steps
* Requires administrative rights
* Go to https://github.com/FEX-Emu/FEX/releases
* Click Draft a new release
* Copy and paste the tagged changelog in to the draft release markdown
* This was generated from the generate_release.sh script
* Clean the markdown to a desired level of combining and ordering
* Fairly trivial cleanups, it's more just a developer focused changelog
* Click publish release
## fex-emu.com blog post steps
* clone https://github.com/FEX-Emu/fex-emu.com
* Copy the previous post from the _posts/ folder to a new markdown file
* Ensure correct date format in filename
* Copy github release pages markdown in to this
* Easy to forget areas:
* Title text section
* See Release notes top section, links to github release tag
* See detailed changelog at the bottom, linking to github raw revision comparison
* Short blurb in the top paragraph if desired
* push new md file to the repo. Either in direct push or PR
* Jekyll will automatically regenerate the website with a github action
* Verify that the post shows up on the site at fex-emu.com
## @FEX_Emu twitter account steps
* Requires @FEX_Emu twitter account access
* Create a tweet with some small blurb/sizzle text about some relevant changes in this tagged version
* Link to the fex-emu.com blog post about the change
## RootFS image updating
* This doesn't typically need to be done on a monthly basis
* This lives in https://github.com/FEX-Emu/RootFS
* Follow the Build_Data file's information for how to generate an image using `build_image.py`
* This gives a squashfs image for the rootfs
* Use FEXRootFSFetcher <image.sqsh> to generate the xxhash for the image
* Update `https://rootfs.fex-emu.com/file/fex-rootfs/RootFS_links.json` with the new rootfs image and hash
* This currently lives in a private FEX-Emu backblaze bucket with cloudflare servicing it.
* Never publicly give the direct backblaze link to the file. Will cause BW costs to skyrocket
* Always pass through cloudflare
* Upload new image to Backblaze using the b2 upload tool
* b2 upload-file <bucketname> <image.sqsh> <Image folder name>/<image.sqsh>
* Upload the new RootFS_links.json
* Lives in the root of the bucket
* b2 upload-file <bucketname> RootFS_links.json RootFS_links.json
* Once uploaded it should propagate immediately
* Might be worth thinking about the coherency problem of updating the hash versus image independently if overwriting an image
* Need to be careful about it to not break anyone in the process of downloading an image