name: "Deploy site" on: pull_request: branches: - "*" push: branches: - "master" workflow_dispatch: # Allow manually running workflow schedule: - cron: "23 2 * * *" env: DEPLOY: >- ${{ github.event_name != 'pull_request' && github.ref == 'refs/heads/master' }} OUTPUT: _html jobs: build: name: Build lektor website runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: "3.12" - uses: actions/setup-node@v4 with: node-version: "lts/*" - name: Install Lektor run: | python -m pip install --upgrade pip setuptools python -m pip install lektor - name: Build lektor website run: lektor build -f webpack -O '${{ env.OUTPUT }}' - name: Check for broken internal links uses: wjdp/htmltest-action@master with: path: ${{ env.OUTPUT }} config: .htmltest.yml skip_external: true log_level: 1 - name: Deploy lektor website if: env.DEPLOY == 'true' run: lektor deploy -O '${{ env.OUTPUT }}' ghpages-https env: LEKTOR_DEPLOY_USERNAME: lektor LEKTOR_DEPLOY_PASSWORD: ${{ secrets.GITHUB_TOKEN }}