name: test and deploy on: push: branches: [ master ] env: CARGO_TERM_COLOR: always jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Install wasm-pack run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh - name: Test WASM in-browser run: wasm-pack test --firefox --chrome --headless - name: Build Rust for WASM run: wasm-pack build --release - name: Install Node uses: actions/setup-node@v2 with: node-version: 18 - name: Install Node Modules run: npm ci working-directory: ./www - name: Build Js run: npm run build --if-present working-directory: ./www - name: Build Docs run: cargo doc --no-deps --document-private-items - name: Move Docs to Staging Directory run: mv target/doc www/dist/ - name: Move CNAME file to Staging Directory run: mv docs/CNAME www/dist - name: Deploy To Pages uses: peaceiris/actions-gh-pages@v3 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./www/dist package: runs-on: ubuntu-latest needs: [build] # for ignoring bad builds if: github.event_name == 'push' && github.ref == 'refs/heads/master' steps: - uses: actions/checkout@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - name: Set up QEMU uses: docker/setup-qemu-action@v2 - name: Login to DockerHub uses: docker/login-action@v2 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build CLI Container uses: docker/build-push-action@v2 with: push: true platforms: linux/amd64,linux/arm64 tags: sarsoo/draught:latest