diff --git a/.woodpecker.yml b/.woodpecker.yml new file mode 100644 index 0000000..fc71132 --- /dev/null +++ b/.woodpecker.yml @@ -0,0 +1,22 @@ +steps: + build-docker-image: + image: alpine:edge + commands: + - apk add --no-cache git nix --repository=https://dl-cdn.alpinelinux.org/alpine/edge/testing + - echo "system-features = nixos-test benchmark big-parallel uid-range kvm" > /etc/nix/nix.conf + - nix build --extra-experimental-features nix-command --extra-experimental-features flakes .#docker + - cp $(nix build --extra-experimental-features nix-command --extra-experimental-features flakes --print-out-paths .#docker) ./memejoin-rs.tar.gz + + publish-image: + when: + - event: tag + branch: master + image: docker + secrets: [ forgejo_token ] + commands: + - 'docker login -u ${CI_REPO_OWNER} --password $${FORGEJO_TOKEN} git.spacegirl.nl' + - 'docker image load --input memejoin-rs.tar.gz' + - 'docker image tag memejoin-rs:${CI_COMMIT_TAG} git.spacegirl.nl/${CI_REPO}:${CI_COMMIT_TAG}' + - 'docker image push git.spacegirl.nl/${CI_REPO}:${CI_COMMIT_TAG}' + volumes: + - /var/run/docker.sock:/var/run/docker.sock diff --git a/flake.nix b/flake.nix index 3daab6c..1ebb90f 100644 --- a/flake.nix +++ b/flake.nix @@ -8,6 +8,7 @@ outputs = { self, nixpkgs, rust-overlay, flake-utils, ... }: flake-utils.lib.eachDefaultSystem (system: let + tag = "0.1.4_3-alpha"; overlays = [ (import rust-overlay) ]; pkgs = import nixpkgs { inherit system overlays; @@ -45,8 +46,8 @@ packages = with pkgs; flake-utils.lib.flattenTree rec { default = rustPlatform.buildRustPackage rec { + inherit tag; name = "memejoin-rs"; - version = "0.1.4_2-alpha"; src = self; buildInputs = [ openssl.dev ]; nativeBuildInputs = [ local-rust pkg-config openssl openssl.dev cmake gcc libopus ]; @@ -57,8 +58,8 @@ }; docker = dockerTools.buildImage { + inherit tag; name = "memejoin-rs"; - tag = "0.1.4_2-alpha"; copyToRoot = buildEnv { name = "image-root"; paths = [ default cacert openssl openssl.dev ffmpeg libopus youtube-dl yt-dlp ];