impr: Handle read-only files more gracefully #1271
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build for the web | |
on: | |
push: | |
branches: ["*"] | |
pull_request: | |
workflow_dispatch: | |
env: | |
BUILD_TYPE: Release | |
permissions: | |
pages: write | |
id-token: write | |
actions: write | |
jobs: | |
build: | |
runs-on: ubuntu-22.04 | |
name: 🌍 WebAssembly | |
steps: | |
- name: 🧰 Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: 📁 Restore docker /cache | |
uses: actions/cache@v4 | |
with: | |
path: cache | |
key: web-cmakecache-${{ hashFiles('**/CMakeLists.txt') }} | |
- name: 🐳 Inject /cache into docker | |
uses: reproducible-containers/buildkit-cache-dance@v2 | |
with: | |
cache-source: cache | |
cache-target: /cache | |
- name: 🛠️ Build using docker | |
run: | | |
docker buildx build . -f dist/web/Dockerfile --progress=plain --build-arg 'JOBS=4' --output out --target raw | |
- name: 🔨 Fix permissions | |
run: | | |
chmod -c -R +rX "out/" | |
- name: ⬆️ Upload artifacts | |
uses: actions/upload-pages-artifact@v2 | |
with: | |
path: out/ | |
# See https://github.com/actions/cache/issues/342#issuecomment-1711054115 | |
- name: 🗑️ Delete old cache | |
continue-on-error: true | |
env: | |
GH_TOKEN: ${{ github.token }} | |
run: | | |
gh extension install actions/gh-actions-cache | |
gh actions-cache delete "build-web-cache" --confirm | |
deploy: | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
name: 📃 Deploy to GitHub Pages | |
runs-on: ubuntu-latest | |
if: ${{ github.ref == 'refs/heads/master' && github.event.repository.fork == false }} | |
needs: build | |
steps: | |
- name: 🌍 Deploy | |
id: deployment | |
uses: actions/deploy-pages@v2 |