Add Gitea Actions workflow, update apt URLs to git.saiden.dev
This commit is contained in:
@@ -0,0 +1,113 @@
|
|||||||
|
name: Build and Release
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- 'v*'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-amd64:
|
||||||
|
runs-on: junkpile
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
run: |
|
||||||
|
git init
|
||||||
|
git remote add origin ${{ gitea.server_url }}/${{ gitea.repository }}.git
|
||||||
|
git fetch --depth=1 origin ${{ gitea.ref }}
|
||||||
|
git checkout FETCH_HEAD
|
||||||
|
|
||||||
|
- name: Build .deb
|
||||||
|
run: make deb
|
||||||
|
|
||||||
|
- name: Publish to apt registry
|
||||||
|
run: |
|
||||||
|
DEB=$(ls build/*.deb)
|
||||||
|
echo "Publishing ${DEB}..."
|
||||||
|
curl --fail -H "Authorization: token ${{ secrets.PACKAGES_TOKEN }}" \
|
||||||
|
--upload-file "${DEB}" \
|
||||||
|
"${{ gitea.server_url }}/api/packages/madcat-os/debian/pool/bookworm/main/upload"
|
||||||
|
|
||||||
|
- name: Upload to generic packages
|
||||||
|
run: |
|
||||||
|
DEB=$(ls build/*.deb)
|
||||||
|
FILENAME=$(basename "${DEB}")
|
||||||
|
curl --fail -X PUT \
|
||||||
|
-H "Authorization: token ${{ secrets.PACKAGES_TOKEN }}" \
|
||||||
|
--upload-file "${DEB}" \
|
||||||
|
"${{ gitea.server_url }}/api/packages/madcat-os/generic/madcat-caddy/${{ gitea.ref_name }}/${FILENAME}"
|
||||||
|
|
||||||
|
build-arm64:
|
||||||
|
runs-on: sin
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
run: |
|
||||||
|
git init
|
||||||
|
git remote add origin ${{ gitea.server_url }}/${{ gitea.repository }}.git
|
||||||
|
git fetch --depth=1 origin ${{ gitea.ref }}
|
||||||
|
git checkout FETCH_HEAD
|
||||||
|
|
||||||
|
- name: Build .deb
|
||||||
|
run: make deb
|
||||||
|
|
||||||
|
- name: Publish to apt registry
|
||||||
|
run: |
|
||||||
|
DEB=$(ls build/*.deb)
|
||||||
|
echo "Publishing ${DEB}..."
|
||||||
|
curl --fail -H "Authorization: token ${{ secrets.PACKAGES_TOKEN }}" \
|
||||||
|
--upload-file "${DEB}" \
|
||||||
|
"${{ gitea.server_url }}/api/packages/madcat-os/debian/pool/bookworm/main/upload"
|
||||||
|
|
||||||
|
- name: Upload to generic packages
|
||||||
|
run: |
|
||||||
|
DEB=$(ls build/*.deb)
|
||||||
|
FILENAME=$(basename "${DEB}")
|
||||||
|
curl --fail -X PUT \
|
||||||
|
-H "Authorization: token ${{ secrets.PACKAGES_TOKEN }}" \
|
||||||
|
--upload-file "${DEB}" \
|
||||||
|
"${{ gitea.server_url }}/api/packages/madcat-os/generic/madcat-caddy/${{ gitea.ref_name }}/${FILENAME}"
|
||||||
|
|
||||||
|
release:
|
||||||
|
runs-on: junkpile
|
||||||
|
needs: [build-amd64, build-arm64]
|
||||||
|
steps:
|
||||||
|
- name: Download artifacts
|
||||||
|
run: |
|
||||||
|
mkdir -p artifacts
|
||||||
|
TAG="${{ gitea.ref_name }}"
|
||||||
|
VERSION="${TAG#v}"
|
||||||
|
for arch in amd64 arm64; do
|
||||||
|
FILENAME="madcat-caddy_${VERSION}_${arch}.deb"
|
||||||
|
echo "Downloading ${FILENAME}..."
|
||||||
|
curl --fail -fsSL \
|
||||||
|
-H "Authorization: token ${{ secrets.PACKAGES_TOKEN }}" \
|
||||||
|
-o "artifacts/${FILENAME}" \
|
||||||
|
"${{ gitea.server_url }}/api/packages/madcat-os/generic/madcat-caddy/${TAG}/${FILENAME}"
|
||||||
|
done
|
||||||
|
ls -la artifacts/
|
||||||
|
|
||||||
|
- name: Create release and attach assets
|
||||||
|
run: |
|
||||||
|
TAG="${{ gitea.ref_name }}"
|
||||||
|
API="${{ gitea.server_url }}/api/v1"
|
||||||
|
REPO="${{ gitea.repository }}"
|
||||||
|
TOKEN="${{ secrets.PACKAGES_TOKEN }}"
|
||||||
|
|
||||||
|
# Create release
|
||||||
|
RELEASE_ID=$(curl --fail -X POST \
|
||||||
|
-H "Authorization: token ${TOKEN}" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d "{\"tag_name\":\"${TAG}\",\"name\":\"${TAG}\",\"draft\":false,\"prerelease\":false}" \
|
||||||
|
"${API}/repos/${REPO}/releases" | jq -r '.id')
|
||||||
|
echo "Created release ID: ${RELEASE_ID}"
|
||||||
|
|
||||||
|
# Attach .deb files
|
||||||
|
for deb in artifacts/*.deb; do
|
||||||
|
FILENAME=$(basename "${deb}")
|
||||||
|
echo "Attaching ${FILENAME}..."
|
||||||
|
curl --fail -X POST \
|
||||||
|
-H "Authorization: token ${TOKEN}" \
|
||||||
|
-F "attachment=@${deb}" \
|
||||||
|
"${API}/repos/${REPO}/releases/${RELEASE_ID}/assets?name=${FILENAME}"
|
||||||
|
echo ""
|
||||||
|
done
|
||||||
|
echo "Release ${TAG} published with all assets."
|
||||||
@@ -16,11 +16,11 @@ Pre-built `.deb` packages for Linux servers.
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Add signing key
|
# Add signing key
|
||||||
sudo curl https://repos.saiden.dev/api/packages/madcat-os/debian/repository.key \
|
sudo curl https://git.saiden.dev/api/packages/madcat-os/debian/repository.key \
|
||||||
-o /etc/apt/keyrings/madcat-os.asc
|
-o /etc/apt/keyrings/madcat-os.asc
|
||||||
|
|
||||||
# Add repository
|
# Add repository
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/madcat-os.asc] https://repos.saiden.dev/api/packages/madcat-os/debian bookworm main" \
|
echo "deb [signed-by=/etc/apt/keyrings/madcat-os.asc] https://git.saiden.dev/api/packages/madcat-os/debian bookworm main" \
|
||||||
| sudo tee /etc/apt/sources.list.d/madcat-os.list
|
| sudo tee /etc/apt/sources.list.d/madcat-os.list
|
||||||
|
|
||||||
# Install
|
# Install
|
||||||
|
|||||||
Reference in New Issue
Block a user