Replace gitea-release plugin with curl-based release upload (#3)

Uses basic auth (droneci user) and Gitea API directly to create
the release and upload the binary asset.

Reviewed-on: #3
This commit was merged in pull request #3.
This commit is contained in:
2026-03-25 19:45:34 +11:00
parent f65864af22
commit 45cb378022
2 changed files with 15 additions and 11 deletions
+11 -7
View File
@@ -15,16 +15,20 @@ steps:
depends_on: [test] depends_on: [test]
- name: release - name: release
image: woodpeckerci/plugin-gitea-release image: alpine/curl
settings:
api_key:
from_secret: GITEA_TOKEN
base_url: https://git.unkin.net
files: node-lookup
title: ${CI_COMMIT_TAG}
environment: environment:
DRONECI_PASSWORD: DRONECI_PASSWORD:
from_secret: DRONECI_PASSWORD from_secret: DRONECI_PASSWORD
commands:
- |
RELEASE_ID=$(curl -sf -X POST "https://git.unkin.net/api/v1/repos/${CI_REPO}/releases" \
-u "droneci:$DRONECI_PASSWORD" \
-H "Content-Type: application/json" \
-d "{\"tag_name\":\"${CI_COMMIT_TAG}\",\"name\":\"${CI_COMMIT_TAG}\"}" \
| grep -o '"id":[0-9]*' | head -1 | cut -d: -f2)
curl -sf -X POST "https://git.unkin.net/api/v1/repos/${CI_REPO}/releases/${RELEASE_ID}/assets" \
-u "droneci:$DRONECI_PASSWORD" \
-F "attachment=@node-lookup"
backend_options: backend_options:
kubernetes: kubernetes:
serviceAccountName: default serviceAccountName: default
+4 -4
View File
@@ -354,11 +354,11 @@ func TestAllFactsForNode_QueryContainsCertname(t *testing.T) {
srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
receivedQuery = r.URL.Query().Get("query") receivedQuery = r.URL.Query().Get("query")
w.Header().Set("Content-Type", "application/json") w.Header().Set("Content-Type", "application/json")
json.NewEncoder(w).Encode([]fact{}) _ = json.NewEncoder(w).Encode([]fact{})
})) }))
defer srv.Close() defer srv.Close()
allFactsForNode(srv.URL+"/pdb/query/v4/facts", "mynode.example.com") _, _ = allFactsForNode(srv.URL+"/pdb/query/v4/facts", "mynode.example.com")
if !strings.Contains(receivedQuery, "mynode.example.com") { if !strings.Contains(receivedQuery, "mynode.example.com") {
t.Fatalf("expected certname in query, got: %s", receivedQuery) t.Fatalf("expected certname in query, got: %s", receivedQuery)
} }
@@ -405,10 +405,10 @@ func TestRun_AllFacts_PrintsSortedByName(t *testing.T) {
cfg := config{PuppetDBURL: srv.URL + "/pdb/query/v4/facts", RoleFact: "enc_role"} cfg := config{PuppetDBURL: srv.URL + "/pdb/query/v4/facts", RoleFact: "enc_role"}
err := run(cfg, "node1", "", "", "", false, false, false, false, false, false, true) err := run(cfg, "node1", "", "", "", false, false, false, false, false, false, true)
w.Close() _ = w.Close()
os.Stdout = old os.Stdout = old
var buf strings.Builder var buf strings.Builder
io.Copy(&buf, r) _, _ = io.Copy(&buf, r)
out := buf.String() out := buf.String()
if err != nil { if err != nil {