From 115dd077ca8d50e92f898d604e731be04ed2e1be Mon Sep 17 00:00:00 2001 From: Quentin Dufour Date: Thu, 18 May 2023 11:56:10 +0200 Subject: [PATCH 1/5] add build scripts with alba --- .albatros | 19 +++++++++ flake.lock | 113 ++++++++++++++++++++++++++++++++++++++++++----------- flake.nix | 68 ++++++++++++++++++++++++++------ 3 files changed, 165 insertions(+), 35 deletions(-) diff --git a/.albatros b/.albatros index 6439de6..e190d1e 100755 --- a/.albatros +++ b/.albatros @@ -2,3 +2,22 @@ set -euxo pipefail nix build --print-build-logs .#packages.x86_64-unknown-linux-musl.debug + +if [[ ! -z $TAG && ! -z $DOCKER_AUTH ]]; then + +# Configure Docker Auth +mkdir .docker +cat > .docker/config.json <&2 + ''; + + build-container = gpkgs.writeScriptBin "aerogramme-build-container" '' + nix build --print-build-logs .#packages.x86_64-unknown-linux-musl.container -o docker/linux.amd64.tar.gz + nix build --print-build-logs .#packages.armv6l-unknown-linux-musl.container -o docker/linux.arm.tar.gz + nix build --print-build-logs .#packages.aarch64-unknown-linux-musleabihf.container -o docker/linux.arm64.tar.gz + ''; + + publish-garage = gpkgs.writeScriptBin "aerogramme-publish-garage" '' + RTAG=''${TAG:-$COMMIT} + echo "selected release tag is $RTAG" + ${alba} container push -t aerogramme:$RTAG docker/ 's3://registry.deuxfleurs.org?endpoint=garage.deuxfleurs.fr&s3ForcePathStyle=true®ion=garage' 1>&2 + ''; + + publish-docker-hub = gpkgs.writeScriptBin "aerogramme-publish-dockerhub" '' + RTAG=''${TAG:-$COMMIT} + echo "selected release tag is $RTAG" + ${alba} container push -t aerogramme:$RTAG docker/ "docker://docker.io/dxflrs/aerogramme:$RTAG" 1>&2 + ''; + + in + { + packages = { + x86_64-linux = { + inherit build-static publish-static build-container publish-garage publish-docker-hub; + }; + } // platformSpecific.packages; + }; } -- 2.43.4 From c55337f9d30f88650908794ba9511bdda4c50711 Mon Sep 17 00:00:00 2001 From: Quentin Dufour Date: Thu, 18 May 2023 12:39:14 +0200 Subject: [PATCH 2/5] fix albatros building script --- .albatros | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.albatros b/.albatros index e190d1e..2ad096a 100755 --- a/.albatros +++ b/.albatros @@ -3,7 +3,10 @@ set -euxo pipefail nix build --print-build-logs .#packages.x86_64-unknown-linux-musl.debug -if [[ ! -z $TAG && ! -z $DOCKER_AUTH ]]; then +if [[ ! -z $TAG ]]; then +# Build +nix run .#build-static +nix run .#build-container # Configure Docker Auth mkdir .docker -- 2.43.4 From 05764ba016ac5156ff9779f3ab224ab008bed724 Mon Sep 17 00:00:00 2001 From: Quentin Dufour Date: Thu, 18 May 2023 14:41:20 +0200 Subject: [PATCH 3/5] fix build container --- flake.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index d75395d..5fe4db9 100644 --- a/flake.nix +++ b/flake.nix @@ -146,30 +146,35 @@ alba = albatros.alba; build-static = gpkgs.writeScriptBin "aerogramme-build-static" '' + set -euxo pipefail nix build --print-build-logs .#packages.x86_64-unknown-linux-musl.aerogramme -o static/linux/amd64/aerogramme nix build --print-build-logs .#packages.aarch64-unknown-linux-musl.aerogramme -o static/linux/arm64/aerogramme nix build --print-build-logs .#packages.armv6l-unknown-linux-musleabihf.aerogramme -o static/linux/arm/aerogramme ''; publish-static = gpkgs.writeScriptBin "aerogramme-push-static" '' + set -euxo pipefail RTAG=''${TAG:-$COMMIT} echo "selected release tag is $RTAG" ${alba} static push -t aerogramme:$RTAG static/ 's3://download.deuxfleurs.org?endpoint=garage.deuxfleurs.fr&s3ForcePathStyle=true®ion=garage' 1>&2 ''; build-container = gpkgs.writeScriptBin "aerogramme-build-container" '' + set -euxo pipefail nix build --print-build-logs .#packages.x86_64-unknown-linux-musl.container -o docker/linux.amd64.tar.gz - nix build --print-build-logs .#packages.armv6l-unknown-linux-musl.container -o docker/linux.arm.tar.gz - nix build --print-build-logs .#packages.aarch64-unknown-linux-musleabihf.container -o docker/linux.arm64.tar.gz + nix build --print-build-logs .#packages.aarch64-unknown-linux-musl.container -o docker/linux.arm64.tar.gz + nix build --print-build-logs .#packages.armv6l-unknown-linux-musleabihf.container -o docker/linux.arm.tar.gz ''; publish-garage = gpkgs.writeScriptBin "aerogramme-publish-garage" '' + set -euxo pipefail RTAG=''${TAG:-$COMMIT} echo "selected release tag is $RTAG" ${alba} container push -t aerogramme:$RTAG docker/ 's3://registry.deuxfleurs.org?endpoint=garage.deuxfleurs.fr&s3ForcePathStyle=true®ion=garage' 1>&2 ''; publish-docker-hub = gpkgs.writeScriptBin "aerogramme-publish-dockerhub" '' + set -euxo pipefail RTAG=''${TAG:-$COMMIT} echo "selected release tag is $RTAG" ${alba} container push -t aerogramme:$RTAG docker/ "docker://docker.io/dxflrs/aerogramme:$RTAG" 1>&2 -- 2.43.4 From 92e237fb9749083d80ab109e362d540af449dcf9 Mon Sep 17 00:00:00 2001 From: Quentin Dufour Date: Thu, 18 May 2023 16:42:13 +0200 Subject: [PATCH 4/5] fix alba path --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 5fe4db9..da0dd43 100644 --- a/flake.nix +++ b/flake.nix @@ -143,7 +143,7 @@ gpkgs = import nixpkgs { system = "x86_64-linux"; # hardcoded as we will cross compile }; - alba = albatros.alba; + alba = albatros.packages.x86_64-linux.alba; build-static = gpkgs.writeScriptBin "aerogramme-build-static" '' set -euxo pipefail -- 2.43.4 From c0cbbca7b50deae586237d6acfbb5081454bbe81 Mon Sep 17 00:00:00 2001 From: Quentin Dufour Date: Wed, 26 Jul 2023 09:56:57 +0200 Subject: [PATCH 5/5] ignore cargo.nix for language detection --- .gitattributes | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..0804cfa --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +Cargo.nix linguist-vendored +flake.lock linguist-vendored -- 2.43.4