diff --git a/.forgejo/workflows/docker.yml b/.forgejo/workflows/docker.yml index 1cfcb0e..a9d0850 100644 --- a/.forgejo/workflows/docker.yml +++ b/.forgejo/workflows/docker.yml @@ -35,8 +35,8 @@ jobs: steps: - run: nix run -I nixpkgs=channel:nixos-unstable nixpkgs#attic-client login nex https://nix.nexveridian.com ${{ secrets.ATTIC_TOKEN }} || true - - run: nix run -I nixpkgs=channel:nixos-unstable nixpkgs#attic-client cache create NexVeridian-web || true - - run: nix run -I nixpkgs=channel:nixos-unstable nixpkgs#attic-client use NexVeridian-web || true + - run: nix run -I nixpkgs=channel:nixos-unstable nixpkgs#attic-client cache create nexveridian-web || true + - run: nix run -I nixpkgs=channel:nixos-unstable nixpkgs#attic-client use nexveridian-web || true - name: Install Node.js run: | @@ -48,13 +48,22 @@ jobs: - uses: actions/checkout@v4 - # Install Docker from Nix - # - name: Install Docker - # run: | - # mkdir -p ~/.local/docker - # nix build -I nixpkgs=channel:nixos-unstable nixpkgs#docker -o ~/.local/docker - # ln -sf ~/.local/docker/bin/docker ~/.local/bin/docker - # ln -sf ~/.local/docker/bin/dockerd ~/.local/bin/dockerd + # Check Docker availability + - name: Check Docker + run: | + echo "Checking for Docker..." + if command -v docker &> /dev/null; then + echo "Docker found at: $(which docker)" + docker version || echo "Docker command failed" + else + echo "Docker not found, installing from Nix..." + rm -rf ~/.local/docker + mkdir -p ~/.local/docker + nix build -I nixpkgs=channel:nixos-unstable nixpkgs#docker -o ~/.local/docker + ln -sf ~/.local/docker/bin/docker ~/.local/bin/docker + echo "Docker installed at: $(which docker)" + docker version || echo "Docker command failed after install" + fi # Login against a Docker registry except on PR # https://github.com/docker/login-action @@ -95,7 +104,18 @@ jobs: docker tag ${{ env.STRIP_REPO_USERNAME }}:latest ${{ env.REGISTRY }}/${{ env.REPO }}:latest docker push ${{ env.REGISTRY }}/${{ env.REPO }}:latest - # - run: | - # for i in {1..10}; do - # nix run -I nixpkgs=channel:nixos-unstable nixpkgs#attic-client push NexVeridian-web /nix/store/*/ && break || [ $i -eq 5 ] || sleep 5 - # done + - name: Push to attic + if: always() + run: | + valid_paths="" + for path in /nix/store/*/; do + if nix path-info "$path" >/dev/null 2>&1; then + valid_paths="$valid_paths $path" + fi + done + + if [ -n "$valid_paths" ]; then + for i in {1..10}; do + nix run -I nixpkgs=channel:nixos-unstable nixpkgs#attic-client push nexveridian-web $valid_paths && break || [ $i -eq 5 ] || sleep 5 + done + fi