13 Commits
Author SHA1 Message Date
paul f0c94d8d7d Merge pull request 'Add CI for building image' (#1) from ci/init into main
Build image / build-image (push) Successful in 3m15s
Reviewed-on: #1
2025-04-23 17:23:30 +02:00
Paul Brinkmeier 9f26a280cd Add version to image meta 2025-04-23 17:22:51 +02:00
Paul Brinkmeier 1eedb2a113 Run on tags instead of push 2025-04-23 17:22:51 +02:00
Paul Brinkmeier b77a2d908d Add docker commands 2025-04-23 17:22:51 +02:00
Paul Brinkmeier 2abfb10605 Try using catthehacker/ubuntu container 2025-04-23 17:22:50 +02:00
Paul Brinkmeier c98044dbbc Add version file for crane push 2025-04-23 17:22:50 +02:00
Paul Brinkmeier 831d3765ef Add crane tool 2025-04-23 17:22:49 +02:00
Paul Brinkmeier 1cc660dbf2 Add docker load command 2025-04-23 17:22:49 +02:00
Paul Brinkmeier 9e5c73e3db Add sudo installation step 2025-04-23 17:22:49 +02:00
Paul Brinkmeier b15f0b08a1 Try nix-quick-install-action 2025-04-23 17:22:49 +02:00
Paul Brinkmeier 4e6e4f91e0 Add install nix and build container steps 2025-04-23 17:22:48 +02:00
Paul Brinkmeier 0b1a6699bb Set runs-on 2025-04-23 17:22:48 +02:00
Paul Brinkmeier 9c51fb65f1 Init CI 2025-04-23 17:22:48 +02:00
2 changed files with 17 additions and 9 deletions
@@ -1,7 +1,8 @@
name: Build image name: Build image
on: on:
tags: push:
- 'v*' tags:
- 'v*'
jobs: jobs:
build-image: build-image:
container: container:
@@ -9,18 +10,23 @@ jobs:
steps: steps:
- name: Checkout repo - name: Checkout repo
uses: actions/checkout@v4 uses: actions/checkout@v4
- run: apt-get update && apt-get install -y sudo # Required for installing nix
- name: Install sudo
run: apt-get update && apt-get install -y sudo
- name: Install Nix - name: Install Nix
uses: cachix/install-nix-action@v31 uses: cachix/install-nix-action@v31
with: with:
enable_kvm: false enable_kvm: false
- run: echo $GITHUB_REF_NAME - 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 - name: Build image
run: nix build .#image -o image.tar.gz run: nix build .#image -o image.tar.gz
- name: Get image name
run: nix build .#image-name -o image-name
- run: docker login -u paul -p "$PASSWORD" git.pbrinkmeier.de - run: docker login -u paul -p "$PASSWORD" git.pbrinkmeier.de
env: env:
PASSWORD: "${{ secrets.REGISTRY_PASSWORD }}" PASSWORD: "${{ secrets.REGISTRY_PASSWORD }}"
- run: docker load < image.tar.gz - run: docker load < image.tar.gz
- run: docker image push $(cat image-name) - run: docker image push $(cat image-meta/name)
+4 -2
View File
@@ -39,8 +39,10 @@
}; };
packages.${system} = { packages.${system} = {
default = vrnp-static; default = vrnp-static;
image-name = pkgs.runCommand "vrnp-version" {} '' image-meta = pkgs.runCommand "vrnp-version" {} ''
echo -n git.pbrinkmeier.de/paul/vrnp:${vrnp-static.version} > $out 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 { image = pkgs.dockerTools.buildImage {
name = "git.pbrinkmeier.de/paul/vrnp"; name = "git.pbrinkmeier.de/paul/vrnp";