From a2091dcf7044955befcbfd00ea3fcb4dfbb31824 Mon Sep 17 00:00:00 2001 From: Valery Gantchev Date: Wed, 5 Jun 2024 13:20:46 +0200 Subject: [PATCH] new deploy workflow --- .github/workflows/docs.yml | 96 ++++++++++++++++---------------------- 1 file changed, 41 insertions(+), 55 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 90544830e..ebdb8053e 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -1,65 +1,51 @@ -name: docs +name: Deploy to GitHub Pages on: - pull_request: - branches: [main] push: - branches: [main] + branches: + - main + # Review gh actions docs if you want to further define triggers, paths, etc + # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#on jobs: - checks: - if: github.event_name != 'push' + build: + name: Build Docusaurus runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v2 + - uses: actions/checkout@v4 with: - node-version: '19.x' - - name: Test Build - run: | - if [ -e yarn.lock ]; then - npm install yarn -g - yarn install --frozen-lockfile - elif [ -e package-lock.json ]; then - npm ci - else - npm i - fi - npm run build - gh-release: - if: github.event_name != 'pull_request' + fetch-depth: 0 + - uses: actions/setup-node@v4 + with: + node-version: 18 + cache: yarn + + - name: Install dependencies + run: yarn install --frozen-lockfile + - name: Build website + run: yarn build + + - name: Upload Build Artifact + uses: actions/upload-pages-artifact@v3 + with: + path: build + + deploy: + name: Deploy to GitHub Pages + needs: build + + # Grant GITHUB_TOKEN the permissions required to make a Pages deployment + permissions: + pages: write # to deploy to Pages + id-token: write # to verify the deployment originates from an appropriate source + + # Deploy to the github-pages environment + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v2 - with: - node-version: '19.x' - - name: Add key to allow access to repository - env: - SSH_AUTH_SOCK: /tmp/ssh_agent.sock - run: | - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - echo "${{ secrets.GH_PAGES_DEPLOY }}" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - cat <> ~/.ssh/config - Host github.com - HostName github.com - IdentityFile ~/.ssh/id_rsa - EOT - - name: Release to GitHub Pages - env: - USE_SSH: true - GIT_USER: git - run: | - git config --global user.email "actions@gihub.com" - git config --global user.name "gh-actions" - if [ -e yarn.lock ]; then - npm install yarn -g - yarn install --frozen-lockfile - elif [ -e package-lock.json ]; then - npm ci - else - npm i - fi - npx docusaurus deploy + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4