From 9f26a280cd65bec46010984de5c5d3ee257452d7 Mon Sep 17 00:00:00 2001 From: Paul Brinkmeier Date: Wed, 23 Apr 2025 17:01:00 +0200 Subject: [PATCH] Add version to image meta --- .../{build-container.yml => build-image.yml} | 15 ++++++++++----- flake.nix | 6 ++++-- 2 files changed, 14 insertions(+), 7 deletions(-) rename .gitea/workflows/{build-container.yml => build-image.yml} (59%) diff --git a/.gitea/workflows/build-container.yml b/.gitea/workflows/build-image.yml similarity index 59% rename from .gitea/workflows/build-container.yml rename to .gitea/workflows/build-image.yml index b1acf26..763446d 100644 --- a/.gitea/workflows/build-container.yml +++ b/.gitea/workflows/build-image.yml @@ -10,18 +10,23 @@ jobs: steps: - name: Checkout repo 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 uses: cachix/install-nix-action@v31 with: 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 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 env: PASSWORD: "${{ secrets.REGISTRY_PASSWORD }}" - run: docker load < image.tar.gz - - run: docker image push $(cat image-name) + - run: docker image push $(cat image-meta/name) diff --git a/flake.nix b/flake.nix index 178dcca..7f132a2 100644 --- a/flake.nix +++ b/flake.nix @@ -39,8 +39,10 @@ }; packages.${system} = { default = vrnp-static; - image-name = pkgs.runCommand "vrnp-version" {} '' - echo -n git.pbrinkmeier.de/paul/vrnp:${vrnp-static.version} > $out + 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";