diff --git a/.github/workflows/release_nightly.yml b/.github/workflows/release_nightly.yml index b8c9d34fc8c5..9cface9a7395 100644 --- a/.github/workflows/release_nightly.yml +++ b/.github/workflows/release_nightly.yml @@ -312,7 +312,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build-web: - name: Build web${{ matrix.demo && ' demo' || '' }} + name: Build web${{ matrix.demo && ' demo and selfhosted' || ' extensions' }} needs: create-nightly-release if: needs.create-nightly-release.outputs.is_active == 'true' runs-on: ubuntu-24.04 @@ -381,9 +381,10 @@ jobs: CARGO_FEATURES: jpegxr${{ matrix.demo && ',webgpu' || '' }} FIREFOX_EXTENSION_ID: ${{ secrets.FIREFOX_EXTENSION_ID }} # Needed to inject into manifest.json WASM_SOURCE: cargo_and_store + BUILD_COMMAND: ${{ matrix.demo && 'npm run build:dual-wasm-repro' || 'npm run build:repro' }} working-directory: web shell: bash -l {0} - run: npm run build:repro + run: $BUILD_COMMAND - name: Produce reproducible source archive if: ${{ !matrix.demo }} @@ -407,7 +408,7 @@ jobs: run: npm run docs - name: Publish npm package - if: ${{ !matrix.demo }} + if: matrix.demo # npm scoped packages are private by default, explicitly make public run: npm publish --access public --provenance continue-on-error: true @@ -416,12 +417,12 @@ jobs: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - name: Package selfhosted - if: ${{ !matrix.demo }} + if: matrix.demo run: zip -r "${{ needs.create-nightly-release.outputs.package_prefix }}-web-selfhosted.zip" . working-directory: web/packages/selfhosted/dist - name: Upload selfhosted - if: ${{ !matrix.demo }} + if: matrix.demo run: | tag_name="${{ needs.create-nightly-release.outputs.tag_name }}" package_file="${{ needs.create-nightly-release.outputs.package_prefix }}-web-selfhosted.zip" diff --git a/web/README.md b/web/README.md index 02bbca1026bf..ef88c8296902 100644 --- a/web/README.md +++ b/web/README.md @@ -105,7 +105,8 @@ In this project, you may run the following commands to build all packages: - You may also use `npm run build:debug` to disable Webpack optimizations and activate the (extremely verbose) ActionScript debugging output. - There is `npm run build:dual-wasm` as well, to build a second WebAssembly module that disables all supported WebAssembly extensions, potentially resulting in support for more browsers, at the expense of longer build time. - - `npm run build:repro` enables reproducible builds. Note that this also requires a `version_seal.json`, which is not provided in the normal Git repository - only specially-marked reproducible source archives. Running this without a version seal will generate one based on the current state of your environment. + - `npm run build:repro` enables reproducible builds with the default WASM module. Note that this also requires a `version_seal.json`, which is not provided in the normal Git repository - only specially-marked reproducible source archives. Running this without a version seal will generate one based on the current state of your environment. + - `npm run build:dual-wasm-repro` enables reproducible builds with both WASM modules. Note that this also requires a `version_seal.json`, which is not provided in the normal Git repository - only specially-marked reproducible source archives. Running this without a version seal will generate one based on the current state of your environment. - You will also need to run `rustup component add rust-src` with either of the previous two commands since we rebuild std for the vanilla WASM module. From here, you may follow the instructions to [use Ruffle on your website](packages/selfhosted/README.md), diff --git a/web/package.json b/web/package.json index 2d511a1a94b6..faf10dc23c3f 100644 --- a/web/package.json +++ b/web/package.json @@ -45,7 +45,8 @@ "build": "npm run build --workspace=ruffle-core && npm run build --workspace=ruffle-demo --workspace=ruffle-extension --workspace=ruffle-selfhosted", "build:debug": "cross-env NODE_ENV=development CARGO_FEATURES=avm_debug npm run build", "build:dual-wasm": "cross-env BUILD_WASM_MVP=true npm run build", - "build:repro": "cross-env BUILD_WASM_MVP=true ENABLE_VERSION_SEAL=true npm run build", + "build:repro": "cross-env ENABLE_VERSION_SEAL=true npm run build", + "build:dual-wasm-repro": "cross-env BUILD_WASM_MVP=true ENABLE_VERSION_SEAL=true npm run build", "demo": "npm run preview --workspace ruffle-demo", "test": "npm test --workspaces --if-present", "wdio": "npm run wdio --workspaces --if-present --",