From bfdc07dd7b914b3d971036ddb33d38282c074a58 Mon Sep 17 00:00:00 2001 From: Sebastien DUMETZ Date: Mon, 5 Feb 2024 16:21:11 +0100 Subject: [PATCH] add deploy script --- .github/workflows/build.yml | 65 +++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..349df9f6 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,65 @@ + +name: Build & Deploy + +on: + push: + branches: ["gh_pages"] + pull_request: + branches: ["gh_pages"] + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: "pages-${{ github.ref }}" + cancel-in-progress: true + +jobs: + # Build job + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 20 #fetch the last 20 commits to get mtimes from + lfs: true + - name: Setup Ruby + uses: ruby/setup-ruby@v1 + with: + bundler-cache: true + cache-version: 0 # Increment this number if you need to re-download cached gems + - name: Setup Pages + id: pages + uses: actions/configure-pages@v3 + - name: restore files mtime + run: | + sudo apt -qqy update + sudo apt -qqy install git-restore-mtime + git restore-mtime + - name: Build with Jekyll + run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}" + env: + JEKYLL_ENV: production + - name: test HTML validity + run: bundle exec htmlproofer _site/ --disable-external true --enforce-https false --log-level :debug + - name: Upload artifact + if: ${{ github.ref == 'refs/heads/main' }} + uses: actions/upload-pages-artifact@v1 + + # Deployment job + deploy: + if: ${{ github.ref == 'refs/heads/main' }} + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v1