detached 74503b0

#1 ci(release): publish nefercap releases on ermite

state
merged · 74503b0 · fast-forward
branch
ci/ermite-release → main
opened
bnema ·
updated

Moves nefercap releases to ermite.

  • GoReleaser publishes to git.bnema.dev (templated github_urls, git changelog).
  • nefercap-bin PKGBUILD uses public ermite download URLs (url_template); nefercap-git clones from ermite.
  • Drops attest-build-provenance (GitHub-only); release notes use curl instead of gh.
  • Release jobs are skipped on the GitHub mirror (no duplicate release or AUR push).

Checks: goreleaser check, snapshot build with the CI relay URL (PKGBUILD sources stay public).

CommitSubjectAuthorDateSignatureStatus
74503b0ci(release): publish releases on ermite instead of GitHubbriceGPG Verified

Checks 2

4 files · +22 -20
2/2
M .github/workflows/release.yml +3 -7
@@ -8,7 +8,10 @@ concurrency:
88 group: release-${{ github.ref }}
99 cancel-in-progress: false
1010 jobs:
11+ # Releases are published by ermite (git.bnema.dev); the GitHub mirror
12+ # receives the tags but must not publish a second release or AUR push.
1113 check:
14+ if: github.server_url != 'https://github.com'
1215 uses: ./.github/workflows/ci.yml
1316
1417 release:
@@ -16,8 +19,6 @@ jobs:
1619 runs-on: ubuntu-latest
1720 permissions:
1821 contents: write # create the release
19- id-token: write # sign the provenance attestation
20- attestations: write
2122 steps:
2223 - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
2324 with:
@@ -33,11 +34,6 @@ jobs:
3334 args: release --clean
3435 env:
3536 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
36- - uses: actions/attest-build-provenance@4d101475d8b20a2381f78447822ac1eab6504dd8 # v4.2.2
37- with:
38- subject-path: |
39- dist/*.tar.gz
40- dist/checksums.txt
4137 - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
4238 with:
4339 name: aur-bin
@@ -8,7 +8,10 @@ concurrency:
8 group: release-${{ github.ref }}8 group: release-${{ github.ref }}
9 cancel-in-progress: false9 cancel-in-progress: false
10 jobs:10 jobs:
11+ # Releases are published by ermite (git.bnema.dev); the GitHub mirror
12+ # receives the tags but must not publish a second release or AUR push.
11 check:13 check:
14+ if: github.server_url != 'https://github.com'
12 uses: ./.github/workflows/ci.yml15 uses: ./.github/workflows/ci.yml
13 16
14 release:17 release:
@@ -16,8 +19,6 @@ jobs:
16 runs-on: ubuntu-latest19 runs-on: ubuntu-latest
17 permissions:20 permissions:
18 contents: write # create the release21 contents: write # create the release
19- id-token: write # sign the provenance attestation
20- attestations: write
21 steps:22 steps:
22 - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.123 - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
23 with:24 with:
@@ -33,11 +34,6 @@ jobs:
33 args: release --clean34 args: release --clean
34 env:35 env:
35 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}36 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
36- - uses: actions/attest-build-provenance@4d101475d8b20a2381f78447822ac1eab6504dd8 # v4.2.2
37- with:
38- subject-path: |
39- dist/*.tar.gz
40- dist/checksums.txt
41 - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.137 - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
42 with:38 with:
43 name: aur-bin39 name: aur-bin
M .goreleaser.yaml +16 -10
@@ -1,10 +1,18 @@
1-# Builds the GitHub release for a pushed v* tag (.github/workflows/release.yml)
1+# Builds the ermite release for a pushed v* tag (.github/workflows/release.yml)
22 # and generates the nefercap-bin PKGBUILD. The workflow verifies that PKGBUILD
33 # with makepkg before it pushes it to the AUR, so GoReleaser never uploads it.
44 version: 2
55
66 project_name: nefercap
77
8+# Releases are published on ermite. In CI the runner sets GITHUB_API_URL and
9+# GITHUB_SERVER_URL to an address the job can reach; the public URLs are the
10+# fallback for a local run.
11+github_urls:
12+ api: '{{ or (index .Env "GITHUB_API_URL") "https://git.bnema.dev/-/github/api" }}/'
13+ upload: '{{ or (index .Env "GITHUB_API_URL") "https://git.bnema.dev/-/github/api" }}/uploads/'
14+ download: '{{ or (index .Env "GITHUB_SERVER_URL") "https://git.bnema.dev" }}/'
15+
816 before:
917 hooks:
1018 - go mod verify
@@ -47,7 +55,7 @@ git:
4755
4856 changelog:
4957 sort: asc
50- use: github
58+ use: git
5159 filters:
5260 exclude:
5361 - "^style(\\([^)]+\\))?:"
@@ -96,21 +104,19 @@ release:
96104 Linux amd64 and arm64. Replace `amd64` with `arm64` on ARM.
97105
98106 ```sh
99- gh release download {{ .Tag }} -R bnema/nefercap -p 'nefercap_{{ .Version }}_linux_amd64.tar.gz' -p checksums.txt
107+ curl -fLO https://git.bnema.dev/nefercap/releases/download/{{ .Tag }}/nefercap_{{ .Version }}_linux_amd64.tar.gz
108+ curl -fLO https://git.bnema.dev/nefercap/releases/download/{{ .Tag }}/checksums.txt
100109 sha256sum -c --ignore-missing checksums.txt
101- gh attestation verify nefercap_{{ .Version }}_linux_amd64.tar.gz -R bnema/nefercap
102110 ```
103111
104- The archive holds the `nefercap` binary, the README and the license. Install the binary as `/usr/bin/nefercap`: NeferWL allows that path to capture by default. See the [README](https://github.com/bnema/nefercap#readme) for runtime dependencies.
105- footer: |
106- ---
107-
108- **Full changelog**: https://github.com/bnema/nefercap/compare/{{ .PreviousTag }}...{{ .Tag }}
112+ The archive holds the `nefercap` binary, the README and the license. Install the binary as `/usr/bin/nefercap`: NeferWL allows that path to capture by default. See the [README](https://git.bnema.dev/nefercap) for runtime dependencies.
109113
110114 aurs:
111115 - name: nefercap-bin
112116 ids: [nefercap]
113- homepage: https://github.com/bnema/nefercap
117+ homepage: https://git.bnema.dev/nefercap
118+ # Public URL: github_urls.download is the CI-only relay address.
119+ url_template: 'https://git.bnema.dev/nefercap/releases/download/{{ .Tag }}/{{ .ArtifactName }}'
114120 description: Screenshots and silent screen recording for Wayland, from one shortcut
115121 maintainers:
116122 - "bnema <b at bnema dot dev>"
@@ -1,10 +1,18 @@
1-# Builds the GitHub release for a pushed v* tag (.github/workflows/release.yml)1+# Builds the ermite release for a pushed v* tag (.github/workflows/release.yml)
2 # and generates the nefercap-bin PKGBUILD. The workflow verifies that PKGBUILD2 # and generates the nefercap-bin PKGBUILD. The workflow verifies that PKGBUILD
3 # with makepkg before it pushes it to the AUR, so GoReleaser never uploads it.3 # with makepkg before it pushes it to the AUR, so GoReleaser never uploads it.
4 version: 24 version: 2
5 5
6 project_name: nefercap6 project_name: nefercap
7 7
8+# Releases are published on ermite. In CI the runner sets GITHUB_API_URL and
9+# GITHUB_SERVER_URL to an address the job can reach; the public URLs are the
10+# fallback for a local run.
11+github_urls:
12+ api: '{{ or (index .Env "GITHUB_API_URL") "https://git.bnema.dev/-/github/api" }}/'
13+ upload: '{{ or (index .Env "GITHUB_API_URL") "https://git.bnema.dev/-/github/api" }}/uploads/'
14+ download: '{{ or (index .Env "GITHUB_SERVER_URL") "https://git.bnema.dev" }}/'
15+
8 before:16 before:
9 hooks:17 hooks:
10 - go mod verify18 - go mod verify
@@ -47,7 +55,7 @@ git:
47 55
48 changelog:56 changelog:
49 sort: asc57 sort: asc
50- use: github58+ use: git
51 filters:59 filters:
52 exclude:60 exclude:
53 - "^style(\\([^)]+\\))?:"61 - "^style(\\([^)]+\\))?:"
@@ -96,21 +104,19 @@ release:
96 Linux amd64 and arm64. Replace `amd64` with `arm64` on ARM.104 Linux amd64 and arm64. Replace `amd64` with `arm64` on ARM.
97 105
98 ```sh106 ```sh
99- gh release download {{ .Tag }} -R bnema/nefercap -p 'nefercap_{{ .Version }}_linux_amd64.tar.gz' -p checksums.txt107+ curl -fLO https://git.bnema.dev/nefercap/releases/download/{{ .Tag }}/nefercap_{{ .Version }}_linux_amd64.tar.gz
108+ curl -fLO https://git.bnema.dev/nefercap/releases/download/{{ .Tag }}/checksums.txt
100 sha256sum -c --ignore-missing checksums.txt109 sha256sum -c --ignore-missing checksums.txt
101- gh attestation verify nefercap_{{ .Version }}_linux_amd64.tar.gz -R bnema/nefercap
102 ```110 ```
103 111
104- The archive holds the `nefercap` binary, the README and the license. Install the binary as `/usr/bin/nefercap`: NeferWL allows that path to capture by default. See the [README](https://github.com/bnema/nefercap#readme) for runtime dependencies.112+ The archive holds the `nefercap` binary, the README and the license. Install the binary as `/usr/bin/nefercap`: NeferWL allows that path to capture by default. See the [README](https://git.bnema.dev/nefercap) for runtime dependencies.
105- footer: |
106- ---
107-
108- **Full changelog**: https://github.com/bnema/nefercap/compare/{{ .PreviousTag }}...{{ .Tag }}
109 113
110 aurs:114 aurs:
111 - name: nefercap-bin115 - name: nefercap-bin
112 ids: [nefercap]116 ids: [nefercap]
113- homepage: https://github.com/bnema/nefercap117+ homepage: https://git.bnema.dev/nefercap
118+ # Public URL: github_urls.download is the CI-only relay address.
119+ url_template: 'https://git.bnema.dev/nefercap/releases/download/{{ .Tag }}/{{ .ArtifactName }}'
114 description: Screenshots and silent screen recording for Wayland, from one shortcut120 description: Screenshots and silent screen recording for Wayland, from one shortcut
115 maintainers:121 maintainers:
116 - "bnema <b at bnema dot dev>"122 - "bnema <b at bnema dot dev>"
M README.md +1 -1
@@ -133,7 +133,7 @@ paru -S nefercap-bin # latest release, pre-built
133133 paru -S nefercap-git # latest main, built from source
134134 ```
135135
136-Pre-built archives are on the [releases page](https://github.com/bnema/nefercap/releases). To build from a checkout:
136+Pre-built archives are on the [releases page](https://git.bnema.dev/nefercap/releases). To build from a checkout:
137137
138138 ```sh
139139 make bin # builds bin/nefercap
@@ -133,7 +133,7 @@ paru -S nefercap-bin # latest release, pre-built
133 paru -S nefercap-git # latest main, built from source133 paru -S nefercap-git # latest main, built from source
134 ```134 ```
135 135
136-Pre-built archives are on the [releases page](https://github.com/bnema/nefercap/releases). To build from a checkout:136+Pre-built archives are on the [releases page](https://git.bnema.dev/nefercap/releases). To build from a checkout:
137 137
138 ```sh138 ```sh
139 make bin # builds bin/nefercap139 make bin # builds bin/nefercap
M packaging/aur/nefercap-git/PKGBUILD +2 -2
@@ -6,7 +6,7 @@ pkgver=0.0.0.r0.g0000000
66 pkgrel=1
77 pkgdesc='Screenshots and silent screen recording for Wayland, from one shortcut (git version)'
88 arch=('x86_64' 'aarch64')
9-url='https://github.com/bnema/nefercap'
9+url='https://git.bnema.dev/nefercap'
1010 license=('GPL-3.0-only')
1111 # Loaded at runtime (purego, no cgo): not seen by makepkg's library scan.
1212 depends=('glibc' 'wayland' 'libxkbcommon' 'vulkan-icd-loader' 'vulkan-driver')
@@ -16,7 +16,7 @@ optdepends=('ffmpeg: screen recording (libx264)'
1616 'neferwl: hidden-workspace capture, HUD exclusion and capture indicator')
1717 provides=('nefercap')
1818 conflicts=('nefercap' 'nefercap-bin')
19-source=('git+https://github.com/bnema/nefercap.git')
19+source=('git+https://git.bnema.dev/nefercap.git')
2020 sha256sums=('SKIP')
2121
2222 pkgver() {
@@ -6,7 +6,7 @@ pkgver=0.0.0.r0.g0000000
6 pkgrel=16 pkgrel=1
7 pkgdesc='Screenshots and silent screen recording for Wayland, from one shortcut (git version)'7 pkgdesc='Screenshots and silent screen recording for Wayland, from one shortcut (git version)'
8 arch=('x86_64' 'aarch64')8 arch=('x86_64' 'aarch64')
9-url='https://github.com/bnema/nefercap'9+url='https://git.bnema.dev/nefercap'
10 license=('GPL-3.0-only')10 license=('GPL-3.0-only')
11 # Loaded at runtime (purego, no cgo): not seen by makepkg's library scan.11 # Loaded at runtime (purego, no cgo): not seen by makepkg's library scan.
12 depends=('glibc' 'wayland' 'libxkbcommon' 'vulkan-icd-loader' 'vulkan-driver')12 depends=('glibc' 'wayland' 'libxkbcommon' 'vulkan-icd-loader' 'vulkan-driver')
@@ -16,7 +16,7 @@ optdepends=('ffmpeg: screen recording (libx264)'
16 'neferwl: hidden-workspace capture, HUD exclusion and capture indicator')16 'neferwl: hidden-workspace capture, HUD exclusion and capture indicator')
17 provides=('nefercap')17 provides=('nefercap')
18 conflicts=('nefercap' 'nefercap-bin')18 conflicts=('nefercap' 'nefercap-bin')
19-source=('git+https://github.com/bnema/nefercap.git')19+source=('git+https://git.bnema.dev/nefercap.git')
20 sha256sums=('SKIP')20 sha256sums=('SKIP')
21 21
22 pkgver() {22 pkgver() {

Comments0 open / 0

no comments yet.

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
l
merge request: the list of files (j k move, enter opens, esc back)
M
merge request: the merge menu; there 1–3 pick the mode, D deletes the branch, enter merges
R
merge request: mark the head read
esc
close a dialog, leave a field

Branches 2

Tags 9

↑↓ moveenter openesc close