This commit is contained in:
parent
7cf2f53793
commit
5a1d128f44
@ -7,26 +7,34 @@ jobs:
|
|||||||
build-image:
|
build-image:
|
||||||
container:
|
container:
|
||||||
image: catthehacker/ubuntu:act-latest
|
image: catthehacker/ubuntu:act-latest
|
||||||
|
env:
|
||||||
|
USER: node
|
||||||
|
HOME: /home/node
|
||||||
|
NIX_CONFIG: experimental-features = nix-command flakes
|
||||||
|
volumes:
|
||||||
|
- /home/paul/nix-ci/nix-runner-nix:/nix
|
||||||
|
- /home/paul/nix-ci/nix-runner-etc-nix:/etc/nix
|
||||||
|
- /home/paul/nix-ci/nix-runner-home-node:/home/node
|
||||||
|
options: --user 1000:1000 --group-add 988
|
||||||
steps:
|
steps:
|
||||||
|
- name: Prep nix env
|
||||||
|
run: |
|
||||||
|
if [ ! -f ~/.nix-profile/etc/profile.d/nix.sh ]; then
|
||||||
|
curl -L https://nixos.org/nix/install | bash -s -- --no-daemon
|
||||||
|
fi
|
||||||
|
. ~/.nix-profile/etc/profile.d/nix.sh
|
||||||
|
env >> "$GITHUB_ENV"
|
||||||
- name: Checkout repo
|
- name: Checkout repo
|
||||||
uses: actions/checkout@v4
|
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
|
- name: Get image meta
|
||||||
run: nix build .#image-meta -o image-meta
|
run: nix build .#image-meta -o image-meta
|
||||||
- name: Version check
|
- name: Version check
|
||||||
run: |
|
run: |
|
||||||
VERSION=$(cat image-meta/version)
|
VERSION=$(cat image-meta/version)
|
||||||
[ "$GITHUB_REF_NAME" = v"$VERSION" ]
|
[ "$GITHUB_REF_NAME" = v"$VERSION" ]
|
||||||
- name: Build image
|
- run: nix build --log-format raw --print-build-logs .#image -o image.tar.gz
|
||||||
run: nix build .#image -o image.tar.gz
|
- run: gunzip -c image.tar.gz > image.tar
|
||||||
- run: docker login -u paul -p "$PASSWORD" git.pbrinkmeier.de
|
- run: nix run .#crane -- auth login git.pbrinkmeier.de -u paul -p "$PASSWORD"
|
||||||
env:
|
env:
|
||||||
PASSWORD: "${{ secrets.REGISTRY_PASSWORD }}"
|
PASSWORD: "${{ secrets.REGISTRY_PASSWORD }}"
|
||||||
- run: docker load < image.tar.gz
|
- run: nix run .#crane -- push image.tar $(cat image-meta/name)
|
||||||
- run: docker image push $(cat image-meta/name)
|
|
||||||
|
21
flake.nix
21
flake.nix
@ -16,15 +16,22 @@
|
|||||||
|
|
||||||
vrnp-static = pkgs.buildGoModule {
|
vrnp-static = pkgs.buildGoModule {
|
||||||
pname = "vrnp";
|
pname = "vrnp";
|
||||||
version = "0.0.10";
|
version = "0.0.10-test";
|
||||||
vendorHash = null;
|
vendorHash = null;
|
||||||
|
|
||||||
# For building the package, we use only the files not ignored by Git as inputs.
|
# For building the package, we use only the files not ignored by Git as inputs.
|
||||||
# Also, flake.nix and flake.lock are not included to avoid annoying rebuilds when
|
# Also, flake.nix, flake.lock and .gitea are not included to avoid annoying rebuilds when
|
||||||
# working on them.
|
# working on them.
|
||||||
src = pkgs.lib.cleanSourceWith {
|
src = pkgs.lib.cleanSourceWith {
|
||||||
src = gitignore.lib.gitignoreSource ./.;
|
src = ./.;
|
||||||
filter = path: type: builtins.baseNameOf path != "flake.nix" && builtins.baseNameOf path != "flake.lock";
|
filter = gitignore.lib.gitignoreFilterWith {
|
||||||
|
basePath = ./.;
|
||||||
|
extraRules = ''
|
||||||
|
flake.nix
|
||||||
|
flake.lock
|
||||||
|
.gitea
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Avoid linking against libc
|
# Avoid linking against libc
|
||||||
@ -55,6 +62,12 @@
|
|||||||
config.Cmd = [ "${vrnp-static}/bin/vrnp" ];
|
config.Cmd = [ "${vrnp-static}/bin/vrnp" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
apps = {
|
||||||
|
crane = {
|
||||||
|
type = "app";
|
||||||
|
program = "${pkgs.crane}/bin/crane";
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user