From 8f0941c8d7da4877f79dda51d764ee956c51fcc8 Mon Sep 17 00:00:00 2001 From: Marien Zwart Date: Sat, 22 Jun 2024 20:04:51 +1000 Subject: [PATCH] CI: experimental flake-update workflow I want to use a matrix strategy for the check and cachix workflows, so I need to not just commit but also push the updated flake.lock somewhere other than `main`, so multiple workers can check out the pending change. Try the simplest possible thing first, expecting it to fail with permission issues. --- .github/workflows/flake-update.yml | 39 ++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 .github/workflows/flake-update.yml diff --git a/.github/workflows/flake-update.yml b/.github/workflows/flake-update.yml new file mode 100644 index 0000000..46e02df --- /dev/null +++ b/.github/workflows/flake-update.yml @@ -0,0 +1,39 @@ +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name: nix flake update +description: "Check out main, update flake.lock, push to flake-update." + +on: + workflow_dispatch: + +jobs: + check: + runs-on: ubuntu-latest + permissions: + contents: "write" + steps: + - name: Check out repository + uses: actions/checkout@v4 + with: + ref: main + - name: Install Nix + uses: DeterminateSystems/nix-installer-action@main + - name: Update and push flake.lock + run: | + git config user.email "github-actions[bot]@users.noreply.github.com" + git config user.name "github-actions[bot]" + git checkout -b flake-update + nix flake update --commit-lock-file + git push --force origin flake-update