aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNikolay Govorov <me@govorov.online>2026-08-21 03:34:20 +0100
committerNikolay Govorov <me@govorov.online>2026-08-21 03:56:55 +0100
commit1f077d3cdb898fd339d9491345d6ef26c47059d7 (patch)
treea02eed9ab84888cba6c617d3938b57a8fdd21f67
parent610401d6483ec501bf41aab67449d02ac114e92a (diff)
downloadtar
tar.gz
tar.bz2
tar.lz
tar.xz
tar.zst
zip
Use packages publish script from shared infra
Diffstat
-rw-r--r--.github/workflows/build.yml66+19 −47
-rw-r--r--Cargo.lock10+5 −5
-rw-r--r--README.md12+6 −6
-rw-r--r--mise.lock28+0 −28
-rw-r--r--mise.toml8+5 −3
5 files changed, 35 insertions, 89 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 1ed155a..c1ff37a 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -125,6 +125,9 @@ jobs:
name: Publish nightly build
runs-on: ubuntu-latest
needs: [build, smoke]
+ concurrency:
+ group: package-publish-recluse-nightly
+ cancel-in-progress: false
if: github.ref == 'refs/heads/main'
permissions:
contents: write
@@ -145,17 +148,6 @@ jobs:
path: dist
merge-multiple: true
- # Configure GPG keys
- - name: Import GPG key
- uses: crazy-max/ghaction-import-gpg@e89d40939c28e39f97cf32126055eeae86ba74ec #v6.3.0
- with:
- passphrase: ${{ secrets.GPG_PASSPHRASE }}
- gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
- - name: Export GPG public key
- run: printf '%s' "$GPG_PUBLIC_KEY" > dist/public.gpg
- env:
- GPG_PUBLIC_KEY: ${{ secrets.GPG_PUBLIC_KEY }}
-
# Update Github Release
- name: Update 'nightly' tag
run: |
@@ -184,40 +176,20 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- # Update APT/RPM repos on s3
- - name: Create APT repository
- run: |
- aptly repo create -distribution="${{ env.RELEASE_TAG }}" -component=main recluse
- aptly repo add recluse dist/*.deb
- aptly publish repo -architectures=amd64,arm64 -gpg-key="${{vars.GPG_KEY_ID}}" recluse
- - name: Create RPM repository
- run: |
- mkdir -p rpm-repo
- cp dist/*.rpm rpm-repo/
-
- cat > rpm-repo/recluse-nightly.repo << EOF
- [recluse-nightly]
- name=Recluse Nightly
- gpgkey=${{github.server_url}}/${{github.repository}}/releases/download/${{env.RELEASE_TAG}}/public.gpg
- baseurl=https://${{vars.S3_BUCKET}}.${{vars.S3_ENDPOINT}}/rpm/
- enabled=1
- gpgcheck=1
- EOF
-
- createrepo_c rpm-repo/
- gpg --default-key="${{vars.GPG_KEY_ID}}" --detach-sign --armor rpm-repo/repodata/repomd.xml
- - name: Upload RPM to S3
+ - name: Publish package repositories
run: |
- mkdir -p ~/.config/rclone
- cat > ~/.config/rclone/rclone.conf << EOF
- [hetzner]
- type = s3
- provider = Other
- acl = public-read
- endpoint = ${{vars.S3_ENDPOINT}}
- access_key_id = ${{secrets.S3_ACCESS_KEY_ID}}
- secret_access_key = ${{secrets.S3_SECRET_ACCESS_KEY}}
- EOF
-
- rclone sync rpm-repo/ "hetzner:${{vars.S3_BUCKET}}/rpm/" --progress
- rclone sync ~/.aptly/public/ "hetzner:${{vars.S3_BUCKET}}/apt/" --progress
+ mise run publish -- \
+ --service recluse \
+ --channel nightly \
+ --input dist \
+ deb rpm
+ env:
+ GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
+ GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
+ GPG_KEY_ID: ${{ vars.GPG_KEY_ID }}
+ PACKAGE_KEY_VERSION: ${{ vars.PACKAGE_KEY_VERSION }}
+ S3_BUCKET: ${{ vars.S3_BUCKET }}
+ S3_ENDPOINT: ${{ vars.S3_ENDPOINT }}
+ S3_PUBLIC_URL: ${{ vars.S3_PUBLIC_URL }}
+ S3_ACCESS_KEY_ID: ${{ secrets.S3_ACCESS_KEY_ID }}
+ S3_SECRET_ACCESS_KEY: ${{ secrets.S3_SECRET_ACCESS_KEY }}
diff --git a/Cargo.lock b/Cargo.lock
index d178bd3..2dda4d8 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -547,7 +547,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
dependencies = [
"libc",
- "windows-sys 0.61.2",
+ "windows-sys 0.52.0",
]
[[package]]
@@ -835,9 +835,9 @@ dependencies = [
[[package]]
name = "h2"
-version = "0.4.13"
+version = "0.4.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54"
+checksum = "a9f37a958b41b3b19ee2707c06439c0e9e547e847223eb791ecb0cb821c65e27"
dependencies = [
"atomic-waker",
"bytes",
@@ -2223,7 +2223,7 @@ dependencies = [
"errno",
"libc",
"linux-raw-sys",
- "windows-sys 0.61.2",
+ "windows-sys 0.52.0",
]
[[package]]
@@ -2849,7 +2849,7 @@ dependencies = [
"getrandom 0.4.2",
"once_cell",
"rustix",
- "windows-sys 0.61.2",
+ "windows-sys 0.52.0",
]
[[package]]
diff --git a/README.md b/README.md
index 2fbc62c..fa4cfee 100644
--- a/README.md
+++ b/README.md
@@ -13,8 +13,8 @@ is **not** intended for production use.
```bash
sudo apt install curl gnupg
-curl -fsSL https://github.com/dimidiumlabs/recluse/releases/download/nightly/public.gpg | sudo gpg --dearmor -o /usr/share/keyrings/recluse.gpg
-echo "deb [signed-by=/usr/share/keyrings/recluse.gpg] https://dimidiumlabs.fsn1.your-objectstorage.com/apt/ nightly main" | sudo tee /etc/apt/sources.list.d/recluse.list
+curl -fsSL https://pkg.dimidiumlabs.io/packages.gpg | sudo gpg --dearmor -o /usr/share/keyrings/dimidiumlabs.gpg
+echo "deb [signed-by=/usr/share/keyrings/dimidiumlabs.gpg] https://pkg.dimidiumlabs.io/recluse/apt/ nightly main" | sudo tee /etc/apt/sources.list.d/recluse.list
sudo apt update && sudo apt install recluse
sudo systemctl enable --now recluse
@@ -24,10 +24,10 @@ sudo systemctl enable --now recluse
```bash
# DNF5 (Fedora 41+, RHEL 10+)
-sudo dnf config-manager addrepo --from-repofile=https://dimidiumlabs.fsn1.your-objectstorage.com/rpm/recluse-nightly.repo
+sudo dnf config-manager addrepo --from-repofile=https://pkg.dimidiumlabs.io/recluse/rpm/nightly/recluse-nightly.repo
# DNF4 (Fedora 40 and older, RHEL 8/9)
-sudo curl -o /etc/yum.repos.d/recluse-nightly.repo https://dimidiumlabs.fsn1.your-objectstorage.com/rpm/recluse-nightly.repo
+sudo curl -o /etc/yum.repos.d/recluse-nightly.repo https://pkg.dimidiumlabs.io/recluse/rpm/nightly/recluse-nightly.repo
sudo dnf install recluse
sudo systemctl enable --now recluse
@@ -36,8 +36,8 @@ sudo systemctl enable --now recluse
**openSUSE:**
```bash
-sudo rpm --import https://github.com/dimidiumlabs/recluse/releases/download/nightly/public.gpg
-sudo zypper addrepo https://dimidiumlabs.fsn1.your-objectstorage.com/rpm/ recluse-nightly
+sudo rpm --import https://pkg.dimidiumlabs.io/packages.gpg
+sudo zypper addrepo https://pkg.dimidiumlabs.io/recluse/rpm/nightly/ recluse-nightly
sudo zypper refresh
sudo zypper install recluse
diff --git a/mise.lock b/mise.lock
index 1327083..4a2058b 100644
--- a/mise.lock
+++ b/mise.lock
@@ -1,19 +1,5 @@
# @generated - this file is auto-generated by `mise lock` https://mise.jdx.dev/dev-tools/mise-lock.html
-[[tools."aqua:aptly-dev/aptly"]]
-version = "1.6.3"
-backend = "aqua:aptly-dev/aptly"
-
-[tools."aqua:aptly-dev/aptly"."platforms.linux-arm64"]
-checksum = "sha256:dd0988ebe8bfd547482e55de83f178c14e95d5d829d956ce683e0ca045cdb86c"
-url = "https://github.com/aptly-dev/aptly/releases/download/v1.6.3/aptly_1.6.3_linux_arm64.zip"
-url_api = "https://api.github.com/repos/aptly-dev/aptly/releases/assets/457534360"
-
-[tools."aqua:aptly-dev/aptly"."platforms.linux-x64"]
-checksum = "sha256:535ed24eb706bc25a316b59d709a7e74e10165f2ffab8552097ba7e4816a3e7e"
-url = "https://github.com/aptly-dev/aptly/releases/download/v1.6.3/aptly_1.6.3_linux_amd64.zip"
-url_api = "https://api.github.com/repos/aptly-dev/aptly/releases/assets/457534365"
-
[[tools."aqua:taiki-e/cargo-llvm-cov"]]
version = "0.8.7"
backend = "aqua:taiki-e/cargo-llvm-cov"
@@ -60,20 +46,6 @@ url = "https://github.com/jqlang/jq/releases/download/jq-1.8.2/jq-linux-amd64"
url_api = "https://api.github.com/repos/jqlang/jq/releases/assets/453012752"
provenance = "github-attestations"
-[[tools.rclone]]
-version = "1.74.4"
-backend = "aqua:rclone/rclone"
-
-[tools.rclone."platforms.linux-arm64"]
-checksum = "sha256:97685285c9ad6a0cf17d5844115d2a67245af6444db672187074bd9c358de419"
-url = "https://github.com/rclone/rclone/releases/download/v1.74.4/rclone-v1.74.4-linux-arm64.zip"
-url_api = "https://api.github.com/repos/rclone/rclone/releases/assets/470550100"
-
-[tools.rclone."platforms.linux-x64"]
-checksum = "sha256:fe435e0c36228e7c2f116a8701f01127bb1f694005fc11d1f27186c8bca4115d"
-url = "https://github.com/rclone/rclone/releases/download/v1.74.4/rclone-v1.74.4-linux-amd64.zip"
-url_api = "https://api.github.com/repos/rclone/rclone/releases/assets/470549540"
-
[[tools.rust]]
version = "1.97.1"
backend = "core:rust"
diff --git a/mise.toml b/mise.toml
index e5ac914..b3899cb 100644
--- a/mise.toml
+++ b/mise.toml
@@ -7,11 +7,9 @@ min_version = "2026.7.5"
experimental = true
[tools]
-"aqua:aptly-dev/aptly" = "1.6.3"
"aqua:taiki-e/cargo-llvm-cov" = "0.8.7"
gh = "2.96.0"
jq = "1.8.2"
-rclone = "1.74.4"
rust = { version = "1.97.1", profile = "minimal", components = [
"clippy",
"llvm-tools-preview",
@@ -20,11 +18,14 @@ rust = { version = "1.97.1", profile = "minimal", components = [
[bootstrap.packages]
# APT
+"apt:apt-utils" = "latest"
"apt:build-essential" = "latest"
+"apt:debsigs" = "latest"
"apt:createrepo-c" = "latest"
"apt:gnupg" = "latest"
"apt:libssl-dev" = "latest"
"apt:pkg-config" = "latest"
+"apt:rpm" = "latest"
# DNF
"dnf:createrepo_c" = "latest"
@@ -32,9 +33,10 @@ rust = { version = "1.97.1", profile = "minimal", components = [
"dnf:gnupg2" = "latest"
"dnf:openssl-devel" = "latest"
"dnf:pkgconf-pkg-config" = "latest"
+"dnf:rpm" = "latest"
[task_config]
dir = "{{cwd}}"
includes = [
- "git::https://github.com/dimidiumlabs/infra.git//tasks?ref=9e7330a3e5bde39a87e0ac1b76c9e85db7a6d64a",
+ "git::https://github.com/dimidiumlabs/infra.git//tasks?ref=4a4589fdb968686a7c91b380ff369aba23bd8662",
]