Skip to content

fix: open up town map exits and make portal in nest maps spawn later … #55

fix: open up town map exits and make portal in nest maps spawn later …

fix: open up town map exits and make portal in nest maps spawn later … #55

Workflow file for this run

name: Build, Test, and Publish
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
env:
CARGO_TERM_COLOR: always
permissions:
id-token: write
contents: read
jobs:
test-game:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./wild-thyme
steps:
- uses: actions/checkout@v3
- name: Run tests
run: cargo test --verbose
build-game:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./wild-thyme
steps:
- uses: actions/checkout@v3
- id: cache-rustup
name: Cache Rust toolchain
uses: actions/cache@v3
with:
path: ~/.rustup
key: toolchain-wasm32-unknown-unknown
- if: ${{ steps.cache-rustup.outputs.cache-hit != 'true' }}
name: Install toolchain
run: rustup target add wasm32-unknown-unknown
- uses: Swatinem/rust-cache@v2
- name: Install wasm-bindgen
run: cargo install wasm-bindgen-cli
- name: Build
run: cargo build --release --target=wasm32-unknown-unknown
- name: Generate JS bindings
run: wasm-bindgen target/wasm32-unknown-unknown/release/and_we_had_a_wild_thyme.wasm --out-dir wasm --no-modules
- name: Archive wasm
uses: actions/upload-artifact@v3
with:
name: wasm-build
path: wild-thyme/wasm
build-web:
needs: build-game
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./delightful-thyme
steps:
- uses: actions/checkout@v3
- uses: oven-sh/setup-bun@v1
- name: Download wasm artifact
uses: actions/download-artifact@v3
with:
name: wasm-build
path: delightful-thyme/wild-thyme
- name: Install
run: bun install
- name: Copy wasm and built js
run: mkdir public/wasm && cp wild-thyme/*.wasm public/wasm/ && cp wild-thyme/*.js public/wasm/
- name: Build
run: bun run build
- name: Debug workflow
run: pwd;echo;ls -al;echo;ls -al dist;echo;ls -al public;echo;ls -al public/wasm;
- name: Archive web build
uses: actions/upload-artifact@v3
with:
name: web-build
path: delightful-thyme/dist
publish:
needs: build-web
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./publish
steps:
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
aws-region: us-west-2
- name: Download web build artifact
uses: actions/download-artifact@v3
with:
name: web-build
path: publish
- name: Debug workflow
run: pwd;echo;ls -al;echo;ls -al wasm;
- name: Publish to S3
run: aws s3 sync --delete . ${{ secrets.AWS_WILD_THYME_S3BUCKET }}
- name: Add Cloudfront invalidation
run: aws cloudfront create-invalidation --distribution-id ${{ secrets.AWS_WILD_THYME_CLOUDFRONT_ID }} --paths "/*" --no-cli-pager