6 Commits

Author SHA1 Message Date
f5f55ce5e8 add build-base 2025-12-19 10:38:36 +01:00
09fe6c8df3 add release 2025-12-19 10:35:26 +01:00
13c3e3ea9b fix ci yaml path 2025-12-19 08:28:58 +01:00
61fc7342e3 add gh badge 2025-12-19 08:27:43 +01:00
e9a258223f use 14.3, 14.1 no longer available 2025-12-19 08:17:11 +01:00
9cabd79f98 run ci on github on main 2025-12-19 08:07:52 +01:00
4 changed files with 93 additions and 5 deletions

View File

@@ -1,6 +1,10 @@
name: Test-Jaildk
on: [push]
on:
push:
branches:
- main
jobs:
test:
@@ -13,7 +17,7 @@ jobs:
uses: vmactions/freebsd-vm@v1
id: testjaildk
with:
release: "14.1"
release: "14.3"
usesh: true
prepare: |
pkg install -y curl cpdup
@@ -34,9 +38,9 @@ jobs:
cp src/jaildk.sh jaildk
sh jaildk setup /jail
fetch https://download.freebsd.org/ftp/releases/amd64/amd64/14.1-RELEASE/base.txz -o /jail/base/14.1-RELEASE-base.txz
mkdir -p /jail/base/14.1-RELEASE
tar -xf /jail/base/14.1-RELEASE-base.txz -C /jail/base/14.1-RELEASE --unlink
fetch https://download.freebsd.org/ftp/releases/amd64/amd64/14.3-RELEASE/base.txz -o /jail/base/14.3-RELEASE-base.txz
mkdir -p /jail/base/14.3-RELEASE
tar -xf /jail/base/14.3-RELEASE-base.txz -C /jail/base/14.3-RELEASE --unlink
/jail/bin/jaildk create test
ls -l /jail/etc/test

54
.woodpecker/release.sh Executable file
View File

@@ -0,0 +1,54 @@
#!/bin/bash
# This is my own simple codeberg generic releaser. It takes to
# binaries to be uploaded as arguments and takes every other args from
# env. Works on tags or normal commits (push), tags must start with v.
set -e
die() {
echo $*
exit 1
}
if test -z "$DEPLOY_TOKEN"; then
die "token DEPLOY_TOKEN not set"
fi
git fetch --all
# determine current tag or commit hash
version="$CI_COMMIT_TAG"
previous=""
log=""
if test -z "$version"; then
version="${CI_COMMIT_SHA:0:6}"
log=$(git log -1 --oneline)
else
previous=$(git tag -l | grep -E "^v" | tac | grep -A1 "$version" | tail -1)
log=$(git log -1 --oneline "${previous}..${version}" | sed 's|^|- |g')
fi
# release body
printf "# Changes\n\n %s\n" "$log" > body.txt
# create the release
https --ignore-stdin --check-status -b -A bearer -a "$DEPLOY_TOKEN" POST \
"https://codeberg.org/api/v1/repos/${CI_REPO_OWNER}/${CI_REPO_NAME}/releases" \
tag_name="$version" name="Release $version" body=@body.txt > release.json
# we need the id to upload files
ID=$(jq -r .id < release.json)
if test -z "$ID"; then
cat release.json
die "failed to create release"
fi
# actually upload
for file in "$@"; do
https --ignore-stdin --check-status -A bearer -a "$DEPLOY_TOKEN" -f POST \
"https://codeberg.org/api/v1/repos/${CI_REPO_OWNER}/${CI_REPO_NAME}/releases/$ID/assets" \
"name=${file}" "attachment@${file}"
done

28
.woodpecker/release.yaml Normal file
View File

@@ -0,0 +1,28 @@
# build release
labels:
platform: linux/amd64
steps:
compile:
when:
event: [tag,manual]
image: alpine:latest
commands:
- apk update
- apk add --no-cache bash git build-base
- make
- file ${CI_REPO_NAME}
- mv ${CI_REPO_NAME} ${CI_REPO_NAME}-freebsd-all-$CI_COMMIT_TAG
release:
image: alpine:latest
when:
event: [tag,manual]
environment:
DEPLOY_TOKEN:
from_secret: DEPLOY_TOKEN
commands:
- apk update
- apk add --no-cache bash httpie jq git
- .woodpecker/release.sh ${CI_REPO_NAME}-*

View File

@@ -1,3 +1,5 @@
[![Test status](https://github.com/tlinden/jaildk/actions/workflows/ci.yaml/badge.svg)](https://github.com/tlinden/jaildk/actions/)
## jaildk - a FreeBSD jail development kit v2.0.4
## Breaking Changes