-
Notifications
You must be signed in to change notification settings - Fork 111
Description
Hey @Try,
After #878 got merged, I though about using GitHub pages to provide a proper
Debian repository. It's feasible to incorporate it into the GitHub Actions
workflow.
I thought about splitting it into two branches. The official release branch
(stable), and the latest commit on master (dev). The build system is pretty
straight forward. The packages should be signed, so I would generate a GPG/PGP
key pair for the "build bot". We would need to use GitHub secrets for the
private key for signing the DEB build files.
There are some kinks and edge cases I need to work out, just give me a
"Go ahead" or a "Not interested" so I can either start implementing it, or
move on.
Here is the basic gh-pages branch overview:
gh-pages branch:
├── index.html # Optional: landing page/instructions
├── KEY.gpg # Public GPG key for apt
│
├── dists/
│ ├── dev/ # Latest main branch build
│ │ ├── Release
│ │ ├── Release.gpg
│ │ ├── InRelease
│ │ └── main/
│ │ └── binary-amd64/
│ │ ├── Packages
│ │ ├── Packages.gz
│ │ └── Release
│ │
│ └── stable/ # Tagged releases
│ ├── Release
│ ├── Release.gpg
│ ├── InRelease
│ └── main/
│ └── binary-amd64/
│ ├── Packages
│ ├── Packages.gz
│ └── Release
│
└── pool/
├── dev/
│ └── main/
│ └── o/
│ └── opengothic/
│ └── opengothic_1.0.3639-1_amd64.deb # latest only
│
└── stable/
└── main/
└── o/
└── opengothic/
└── opengothic_1.0.3624-1_amd64.deb # from tagged release
And here would be the usage:
Add GPG key
curl -fsSL https://try.github.io/OpenGothic/KEY.gpg | sudo gpg --dearmor -o /usr/share/keyrings/opengothic.gpg
Stable releases
echo "deb [signed-by=/usr/share/keyrings/opengothic.gpg] https://try.github.io/OpenGothic stable main" | sudo tee /etc/apt/sources.list.d/opengothic.list
Or dev builds
echo "deb [signed-by=/usr/share/keyrings/opengothic.gpg] https://try.github.io/OpenGothic dev main" | sudo tee /etc/apt/sources.list.d/opengothic.list
Install
sudo apt update && sudo apt install opengothic