Merge pull request 'Add CI for building image' (#1) from ci/init into main
All checks were successful
Build image / build-image (push) Successful in 3m15s

Reviewed-on: #1
This commit is contained in:
paul 2025-04-23 17:23:30 +02:00
commit f0c94d8d7d
2 changed files with 38 additions and 1 deletions

View File

@ -0,0 +1,32 @@
name: Build image
on:
push:
tags:
- 'v*'
jobs:
build-image:
container:
image: catthehacker/ubuntu:act-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
# Required for installing nix
- name: Install sudo
run: apt-get update && apt-get install -y sudo
- name: Install Nix
uses: cachix/install-nix-action@v31
with:
enable_kvm: false
- name: Get image meta
run: nix build .#image-meta -o image-meta
- name: Version check
run: |
VERSION=$(cat image-meta/version)
[ "$GITHUB_REF_NAME" = v"$VERSION" ]
- name: Build image
run: nix build .#image -o image.tar.gz
- run: docker login -u paul -p "$PASSWORD" git.pbrinkmeier.de
env:
PASSWORD: "${{ secrets.REGISTRY_PASSWORD }}"
- run: docker load < image.tar.gz
- run: docker image push $(cat image-meta/name)

View File

@ -39,7 +39,12 @@
}; };
packages.${system} = { packages.${system} = {
default = vrnp-static; default = vrnp-static;
docker = pkgs.dockerTools.buildImage { image-meta = pkgs.runCommand "vrnp-version" {} ''
mkdir -p $out
echo -n ${vrnp-static.version} > $out/version
echo -n git.pbrinkmeier.de/paul/vrnp:${vrnp-static.version} > $out/name
'';
image = pkgs.dockerTools.buildImage {
name = "git.pbrinkmeier.de/paul/vrnp"; name = "git.pbrinkmeier.de/paul/vrnp";
tag = vrnp-static.version; tag = vrnp-static.version;
copyToRoot = pkgs.buildEnv { copyToRoot = pkgs.buildEnv {