From 5d83a287a1dd1a112d97ee2f79bdfeda43e5aa1d Mon Sep 17 00:00:00 2001 From: Burgess Chang Date: Sat, 25 May 2024 22:07:35 +0800 Subject: [PATCH] ci: add mdbook workflow Signed-off-by: Burgess Chang --- .github/workflows/page.yaml | 48 +++++++++++++++++++++++++++++++++++++ flake.lock | 1 - flake.nix | 10 +++----- nix/local/devshells.nix | 15 ++++++++---- 4 files changed, 61 insertions(+), 13 deletions(-) create mode 100644 .github/workflows/page.yaml diff --git a/.github/workflows/page.yaml b/.github/workflows/page.yaml new file mode 100644 index 00000000..549bd7b6 --- /dev/null +++ b/.github/workflows/page.yaml @@ -0,0 +1,48 @@ +name: Generate page + +on: + push: + paths: + - 'doc/**' + workflow_call: + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + mdbook: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Setup Nix + uses: nixbuild/nix-quick-install-action@v26 + with: + github_access_token: ${{ secrets.GITHUB_TOKEN }} + + - name: Generate pages + run: | + nix develop .#ci -c 'mdbook build' + + - name: Copy book to page branch + run: | + git checkout page || git checkout --orphan page + find . -mindepth 1 -maxdepth 1 ! -name 'result-book' ! -name '.git' -exec rm -rf {} + + mv result-book/* ./ + rm result-book -r + git add . + + - name: Push book + uses: stefanzweifel/git-auto-commit-action@v5 + with: + branch: page + commit_message: "docs: auto update" + commit_author: Burgess Chang + commit_user_name: github-actions[bot] + commit_user_email: github-actions[bot]@users.noreply.github.com diff --git a/flake.lock b/flake.lock index eca5af24..7703edd5 100644 --- a/flake.lock +++ b/flake.lock @@ -346,7 +346,6 @@ "nixpkgs" ], "paisano": [ - "hive", "std", "paisano" ], diff --git a/flake.nix b/flake.nix index 01648d4c..c5418e6b 100644 --- a/flake.nix +++ b/flake.nix @@ -20,13 +20,6 @@ "colmena.cachix.org-1:7BzpDnjjH8ki2CT3f6GdOk7QAzPOl+1t3LvTLXqYcSg=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" ]; - - substituters = [ - "https://mirrors.cernet.edu.cn/nix-channels/store" - "https://mirror.nju.edu.cn/nix-channels/store" - "https://mirror.sjtu.edu.cn/nix-channels/store" - "https://cache.nixos.org" - ]; }; # Home Manager @@ -172,6 +165,9 @@ nixpkgs = { follows = "nixpkgs"; }; + paisano = { + follows = "std/paisano"; + }; std = { follows = "std"; }; diff --git a/nix/local/devshells.nix b/nix/local/devshells.nix index ca1d1241..4025a5d5 100644 --- a/nix/local/devshells.nix +++ b/nix/local/devshells.nix @@ -7,12 +7,17 @@ let pkgs = nixpkgs; in { + ci = std.lib.dev.mkShell { + name = "ci"; + nixago = with cell.nixago; [ mdbook ]; + }; + default = std.lib.dev.mkShell { commands = [ # Development { - package = pkgs.git; category = "development"; + package = pkgs.git; } { category = "development"; @@ -21,20 +26,20 @@ in # Tool { - package = colmena.packages.colmena; category = "tool"; + package = colmena.packages.colmena; } { - package = pkgs.dconf2nix; category = "tool"; + package = pkgs.dconf2nix; } { - package = pkgs.fish; category = "tool"; + package = pkgs.fish; } { - package = std.packages.std; category = "tool"; + package = std.packages.std; } ];