From bd98997c615e9204b1a8f1d4d42c831a2dccd099 Mon Sep 17 00:00:00 2001 From: Ybeichen Date: Fri, 29 Dec 2023 17:03:09 +0800 Subject: [PATCH] Add ruxgo_book workflow and fix some bugs in release.yaml --- .github/workflows/deploy_book.yaml | 45 ++++++++++++++++++++++++++++++ .github/workflows/release.yaml | 27 ++++++++++++++++-- 2 files changed, 70 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/deploy_book.yaml diff --git a/.github/workflows/deploy_book.yaml b/.github/workflows/deploy_book.yaml new file mode 100644 index 0000000..e9854fd --- /dev/null +++ b/.github/workflows/deploy_book.yaml @@ -0,0 +1,45 @@ +name: Deploy ruxgo_book +on: + push: + branches: + - master + +jobs: + deploy: + runs-on: ubuntu-latest + permissions: + contents: write # To push a branch + pull-requests: write # To create a PR from that branch + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Install latest mdbook + run: | + tag=$(curl 'https://api.github.com/repos/rust-lang/mdbook/releases/latest' | jq -r '.tag_name') + url="https://github.com/rust-lang/mdbook/releases/download/${tag}/mdbook-${tag}-x86_64-unknown-linux-gnu.tar.gz" + mkdir mdbook + curl -sSL $url | tar -xz --directory=./mdbook + echo `pwd`/mdbook >> $GITHUB_PATH + + - name: Install i18n support + run: cargo install mdbook-i18n + + - name: Deploy GitHub Pages + run: | + # This assumes your book is in the root of your repository. + # Just add a `cd` here if you need to change to another directory. + cd doc/ruxgo_book/ + mdbook build + git worktree add gh-pages + git config user.name "Deploy from CI" + git config user.email "" + cd gh-pages + # Delete the ref to avoid keeping history. + git update-ref -d refs/heads/gh-pages + rm -rf * + mv ../book/* . + git add . + git commit -m "Deploy $GITHUB_SHA to gh-pages" + git push --force --set-upstream origin gh-pages \ No newline at end of file diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 1619c23..27108db 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -1,6 +1,9 @@ name: Build and Release on: + push: + tags: + - 'v*' release: types: [created] @@ -11,12 +14,32 @@ jobs: strategy: fail-fast: false matrix: - target: [x86_64-pc-windows-gnu, x86_64-unknown-linux-musl] + target: [x86_64-unknown-linux-musl, x86_64-pc-windows-gnu] steps: - uses: actions/checkout@master + + - name: Setup cachix + uses: cachix/install-nix-action@v12 + with: + # Nix 2.0 or higher + nix_version: 2.3.10 + + - name: Setup Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: "nightly" + + - name: Cache Cargo registry + uses: actions/cache@v2 + with: + path: ~/.cargo/registry + key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-cargo- + - name: Compile and release - uses: rust-build/rust-build.action@v1.4.3 + uses: rust-build/rust-build.action@v1.4.4 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: