Compare commits

..

6 Commits

3 changed files with 32 additions and 10 deletions

View File

@@ -1,28 +1,38 @@
name: Github Pages name: Github Pages
on: [push] on: [push]
permissions: permissions:
contents: write contents: write
jobs: jobs:
build-github-pages: deploy:
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions:
pages: write
id-token: write
steps: steps:
- uses: actions/checkout@v2 # repo checkout - uses: actions/checkout@v2 # repo checkout
- uses: mymindstorm/setup-emsdk@v11 # setup emscripten toolchain - uses: mymindstorm/setup-emsdk@v11 # setup emscripten toolchain
with: with:
version: 1.39.20 version: 1.39.20
- uses: actions-rs/toolchain@v1 # get rust toolchain for wasm - uses: actions-rs/toolchain@v1 # get rust toolchain for wasm
with: with:
toolchain: stable toolchain: stable
target: wasm32-unknown-emscripten target: wasm32-unknown-emscripten
override: true override: true
# TODO: Update to v2
- name: Rust Cache # cache the rust build artefacts - name: Rust Cache # cache the rust build artefacts
uses: Swatinem/rust-cache@v1 uses: Swatinem/rust-cache@v1
- name: Build # build - name: Build # build
run: ./scripts/build-wasm.sh run: ./scripts/build-wasm.sh
- name: Deploy
uses: JamesIves/github-pages-deploy-action@v4 - name: Upload Artifact
uses: actions/upload-pages-artifact@v2
with: with:
folder: dist path: './dist/'
retention-days: 7
- name: Deploy
uses: actions/deploy-pages@v2

7
BUILD.md Normal file
View File

@@ -0,0 +1,7 @@
# Building Pac-Man
## GitHub Actions Workflow
1. Build workflow produces executables & WASM files for all platforms
2. Uploaded as artifacts
3. Deployment workflow downloads artifacts and uploads to GitHub Pages

11
scripts/build-wasm.sh Normal file → Executable file
View File

@@ -1,11 +1,16 @@
#!/bin/sh #!/bin/sh
set -eux set -eux
echo "Building WASM with Emscripten"
cargo build --target=wasm32-unknown-emscripten --release cargo build --target=wasm32-unknown-emscripten --release
echo "Copying release files to dist/"
mkdir -p dist mkdir -p dist
mkdir -p dist/deps
cp target/wasm32-unknown-emscripten/release/pacman.wasm dist output_folder="target/wasm32-unknown-emscripten/release"
cp target/wasm32-unknown-emscripten/release/pacman.js dist cp $output_folder/pacman.wasm dist
cp target/wasm32-unknown-emscripten/release/deps/pacman.data dist/deps cp $output_folder/pacman.js dist
cp $output_folder/deps/pacman.data dist/deps
cp assets/index.html dist cp assets/index.html dist