diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index aa1f42ea..00000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,60 +0,0 @@ -# Use the latest 2.1 version of CircleCI pipeline process engine. -# See: https://circleci.com/docs/2.0/configuration-reference -version: 2.1 - -# Define a job to be invoked later in a workflow. -# See: https://circleci.com/docs/2.0/configuration-reference/#jobs -jobs: - build-docs: - docker: - - image: nixpkgs/nix-flakes - steps: - - run: - name: Disable Sandbox - command: mkdir -p ~/.config/nix/; echo 'sandbox = false' >> ~/.config/nix/nix.conf; - - checkout - - run: - name: "Build docs" - no_output_timeout: 30m - command: "nix build '.#docs' --show-trace" - - persist_to_workspace: - root: "result/share/" - paths: [ doc ] - docs-deploy: - docker: - - image: node:8.10.0 - steps: - - checkout - - attach_workspace: - at: . - - run: - name: Install and configure dependencies - command: | - npm install -g --silent gh-pages@2.0.1 - git config user.email "ci-build@pta2002.com" - git config user.name "ci-build" - # - add_ssh_keys: - # fingerprints: - # - ef:e9:c6:bf:56:b5:58:f9:3b:b7:e0:bf:ca:b9:d7:75 - - add_ssh_keys: - fingerprints: - - e6:0d:b3:76:76:d9:e3:93:31:24:a6:49:d7:a2:8f:a3 - - run: - name: Deploy docs to gh-pages branch - command: gh-pages --dist doc --message "[skip ci] Docs update" - -# Invoke jobs via workflows -# See: https://circleci.com/docs/2.0/configuration-reference/#workflows -workflows: - build-docs-workflow: - jobs: - - build-docs: - filters: - branches: - only: main - - docs-deploy: - requires: - - build-docs - filters: - branches: - only: main diff --git a/.github/workflows/build_documentation.yml b/.github/workflows/build_documentation.yml new file mode 100644 index 00000000..e559b944 --- /dev/null +++ b/.github/workflows/build_documentation.yml @@ -0,0 +1,55 @@ +name: Build and deploy documentation + +on: + push: + # Runs on pushes targeting the default branch + branches: [main] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow one concurrent deployment +concurrency: + group: "pages" + cancel-in-progress: true + +jobs: + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Setup pages + uses: actions/configure-pages@v3 + + - name: Install nix + uses: cachix/install-nix-action@v22 + with: + nix_path: nixpkgs=channel:nixos-unstable + + - name: Configure cachix + uses: cachix/cachix-action@v12 + with: + name: nix-community + authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' + + - run: nix build .#docs --show-trace + + - name: Upload artifact + uses: actions/upload-pages-artifact@v2 + with: + path: "result/share/doc" + + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2