Compare commits
1 Commits
5e0d7837f1
...
5a1d128f44
Author | SHA1 | Date | |
---|---|---|---|
5a1d128f44 |
@ -7,26 +7,34 @@ jobs:
|
||||
build-image:
|
||||
container:
|
||||
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:
|
||||
- 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
|
||||
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
|
||||
- run: nix build --log-format raw --print-build-logs .#image -o image.tar.gz
|
||||
- run: gunzip -c image.tar.gz > image.tar
|
||||
- run: nix run .#crane -- auth login git.pbrinkmeier.de -u paul -p "$PASSWORD"
|
||||
env:
|
||||
PASSWORD: "${{ secrets.REGISTRY_PASSWORD }}"
|
||||
- run: docker load < image.tar.gz
|
||||
- run: docker image push $(cat image-meta/name)
|
||||
- run: nix run .#crane -- push image.tar $(cat image-meta/name)
|
||||
|
21
flake.nix
21
flake.nix
@ -16,15 +16,22 @@
|
||||
|
||||
vrnp-static = pkgs.buildGoModule {
|
||||
pname = "vrnp";
|
||||
version = "0.0.10";
|
||||
version = "0.0.10-test";
|
||||
vendorHash = null;
|
||||
|
||||
# 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.
|
||||
src = pkgs.lib.cleanSourceWith {
|
||||
src = gitignore.lib.gitignoreSource ./.;
|
||||
filter = path: type: builtins.baseNameOf path != "flake.nix" && builtins.baseNameOf path != "flake.lock";
|
||||
src = ./.;
|
||||
filter = gitignore.lib.gitignoreFilterWith {
|
||||
basePath = ./.;
|
||||
extraRules = ''
|
||||
flake.nix
|
||||
flake.lock
|
||||
.gitea
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
# Avoid linking against libc
|
||||
@ -55,6 +62,12 @@
|
||||
config.Cmd = [ "${vrnp-static}/bin/vrnp" ];
|
||||
};
|
||||
};
|
||||
apps = {
|
||||
crane = {
|
||||
type = "app";
|
||||
program = "${pkgs.crane}/bin/crane";
|
||||
};
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user