images: add custom image which packages SOPS. update renovate and add publishing workflow
This commit is contained in:
1 parent
44a841af2e
commit
c8186c43c3
4 files changed
+50
No files matched your search
@@ -0,0 +1,22 @@
|
|||||||
|
name: build
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [main]
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v7
|
||||||
|
- uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: git.studiovita.li
|
||||||
|
username: ${{ gitea.actor }}
|
||||||
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
|
- uses: docker/build-push-action@v6
|
||||||
|
with:
|
||||||
|
context: images/act
|
||||||
|
push: true
|
||||||
|
tags: git.studiovita.li/studio/actions:ubuntu-latest
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
FROM docker.gitea.com/runner-images:ubuntu-latest
|
||||||
|
|
||||||
|
## renovate: datasource=github-releases depName=getsops/sops
|
||||||
|
ARG SOPS_VERSION=v3.13.3
|
||||||
|
|
||||||
|
RUN set -eux; \
|
||||||
|
arch=$(dpkg --print-architecture); \
|
||||||
|
asset="sops-${SOPS_VERSION}.linux.${arch}"; \
|
||||||
|
url="https://github.com/getsops/sops/releases/download/${SOPS_VERSION}"; \
|
||||||
|
curl -fsSL -o "/tmp/$asset" "$url/$asset"; \
|
||||||
|
curl -fsSL -o /tmp/checksums.txt "$url/sops-${SOPS_VERSION}.checksums.txt"; \
|
||||||
|
(cd /tmp && grep " ${asset}$" checksums.txt | sha256sum -c -); \
|
||||||
|
install -m 0755 "/tmp/$asset" /usr/local/bin/sops; \
|
||||||
|
rm -f "/tmp/$asset" /tmp/checksums.txt; \
|
||||||
|
sops --version
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
# act runner image
|
||||||
|
|
||||||
|
Gitea / Forgejo Actions runner image based on `runner-images:ubuntu-latest` with the pinned, checksum-verified SOPS build installed.
|
||||||
|
|
||||||
|
Built and pushed to `git.studiovita.li/studio/actions:ubuntu-latest` by the `build` workflow on push to `main`. Update `SOPS_VERSION` in `Dockerfile` to bump SOPS (tracked in renovate.json).
|
||||||
@@ -13,6 +13,14 @@
|
|||||||
"#+\\s*renovate:\\s*datasource=(?<datasource>[^\\s]+)\\s+depName=(?<depName>[^\\s]+)\\s+[A-Z0-9_]+\\s*:\\s*[\"']?(?<currentValue>[^\\s\"'#]+)[\"']?"
|
"#+\\s*renovate:\\s*datasource=(?<datasource>[^\\s]+)\\s+depName=(?<depName>[^\\s]+)\\s+[A-Z0-9_]+\\s*:\\s*[\"']?(?<currentValue>[^\\s\"'#]+)[\"']?"
|
||||||
],
|
],
|
||||||
"description": "match any pinned dependency using SCREAMING_SNAKE_CASE naming as ENV"
|
"description": "match any pinned dependency using SCREAMING_SNAKE_CASE naming as ENV"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"customType": "regex",
|
||||||
|
"managerFilePatterns": ["**/Dockerfile"],
|
||||||
|
"matchStrings": [
|
||||||
|
"#+\\s*renovate:\\s*datasource=(?<datasource>[^\\s]+)\\s+depName=(?<depName>[^\\s]+)[ \\t]*\\n[ \\t]*ARG\\s+[A-Z0-9_]+=(?<currentValue>[^\\s\"'#]+)"
|
||||||
|
],
|
||||||
|
"description": "match pinned ARG deps in Dockerfiles"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user