From e38719c292c71a0662bf317d092b6e5fdb2db193 Mon Sep 17 00:00:00 2001 From: trev Date: Wed, 16 Apr 2025 02:40:37 -0400 Subject: [PATCH] feat: update workflow --- .github/workflows/lint.yaml | 2 +- .github/workflows/update.yaml | 38 +++++++++++++++++++++++++++++++++++ .scripts/update.sh | 13 ++++++++---- flake.nix | 3 +-- 4 files changed, 49 insertions(+), 7 deletions(-) create mode 100644 .github/workflows/update.yaml diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index 4d96c76..c91fd78 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -28,7 +28,7 @@ jobs: - name: Install NPM Packages working-directory: ./client - run: npm ci --legacy-peer-deps + run: npm ci - uses: nicknovitski/nix-develop@v1 diff --git a/.github/workflows/update.yaml b/.github/workflows/update.yaml new file mode 100644 index 0000000..b03a7ac --- /dev/null +++ b/.github/workflows/update.yaml @@ -0,0 +1,38 @@ +name: Update Workflow + +on: + schedule: + - cron: "0 0 * * *" + +jobs: + update: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install Nix + uses: cachix/install-nix-action@v31 + with: + nix_path: nixpkgs=channel:nixos-unstable + + - name: Use Cachix + uses: cachix/cachix-action@v16 + with: + name: trevstack + authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' + + - name: Install NPM Packages + working-directory: ./client + run: npm ci + + - name: Update + run: nix develop --command trevstack-update + + - name: Create Pull Request + uses: peter-evans/create-pull-request@v7 + with: + delete-branch: true + title: Bump deps + + diff --git a/.scripts/update.sh b/.scripts/update.sh index 63a3eba..4214e9f 100755 --- a/.scripts/update.sh +++ b/.scripts/update.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash git_root=$(git rev-parse --show-toplevel) +updated=false echo "updating client" cd "${git_root}/client" @@ -9,6 +10,7 @@ if ! git diff --exit-code package.json package-lock.json; then git add package-lock.json git add package.json git commit -m "build(client): updated npm dependencies" + updated=true fi echo "updating server" @@ -19,12 +21,15 @@ if ! git diff --exit-code go.mod go.sum; then git add go.mod git add go.sum git commit -m "build(go): updated go dependencies" + updated=true fi -echo "updating nix" -cd "${git_root}" -nix-update --flake --version=skip --subpackage trevstack-client trevstack -if ! git diff --exit-code flake.nix; then +if [ "${updated}" = true ]; then + echo "updating nix" + cd "${git_root}" + nix-update --flake --version=skip --subpackage trevstack-client trevstack git add flake.nix git commit -m "build(nix): updated nix hashes" +else + echo "nothing to update" fi \ No newline at end of file diff --git a/flake.nix b/flake.nix index 7ad301c..c5f030b 100644 --- a/flake.nix +++ b/flake.nix @@ -92,9 +92,8 @@ pname = "${pname}-client"; inherit version; src = ./client; - npmDepsHash = "sha256-yKabRCijP2oSe6AhMVvxbY/gCA+7/6xSw0YoIzaGezA="; + npmDepsHash = "sha256-o+ANqVBYztpQNAFTThSHdS+euteIGijUTZSXp2DlkDU="; nodejs = pkgs.nodejs_22; - npmFlags = ["--legacy-peer-deps"]; installPhase = '' cp -r build "$out"