Closes https://github.com/webrecorder/replayweb.page/issues/523, closes https://github.com/webrecorder/replayweb.page/issues/396, closes https://github.com/webrecorder/replayweb.page/issues/470, closes https://github.com/webrecorder/replayweb.page/issues/237 ## Changes https://github.com/webrecorder/replayweb.page/pull/521 - Adds public `navigateReplayTo` method in `<replay-app-main>` that allows embeds to control replay navigation directly without reloading entire UI. - Enables reloading `<wr-coll-replay>` iframe even if source URL hasn't changed. - Refactors lifecycle events to prevent unnecessary re-renders. https://github.com/webrecorder/replayweb.page/pull/524 - Fixes incorrect page count shown - Enables non-seed pages by default - Improves UX and accessibility of scrolling to load more by displaying help text https://github.com/webrecorder/replayweb.page/pull/525 - Updates general styles and icons throughout to match Browsertrix styles - Allows deep customization of components with `part` and `exportparts` https://github.com/webrecorder/replayweb.page/pull/526 - Enables importing Shoelace (ie Bootstrap) icons as inline SVG - Updates location bar buttons to use Bootstrap icons - Replaces deprecated raw-loader with Webpack-native asset rule https://github.com/webrecorder/replayweb.page/pull/529 - Allows hiding collection metadata in embed. - Moves non-seed toggle next to search bar to match resources controls and enable hiding entire column when metadata is hidden. https://github.com/webrecorder/replayweb.page/pull/533 - Fix non-seed pages toggle https://github.com/webrecorder/replayweb.page/pull/535, https://github.com/webrecorder/replayweb.page/pull/534 - Upgrade to Node 22 and Yarn 4 --------- Co-authored-by: Ilya Kreymer <ikreymer@gmail.com> Co-authored-by: Misty De Méo <hi@mistydemeo.com>
114 lines
4.0 KiB
YAML
114 lines
4.0 KiB
YAML
name: Build/release
|
|
|
|
on: push
|
|
|
|
jobs:
|
|
release:
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
strategy:
|
|
matrix:
|
|
os: [macos-14, ubuntu-latest]
|
|
platform: [windows, linux]
|
|
exclude:
|
|
- os: macos-14
|
|
platform: windows
|
|
|
|
steps:
|
|
- name: Check out Git repository
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Set up corepack
|
|
run: corepack enable yarn
|
|
|
|
- name: Install Node.js, NPM and Yarn
|
|
uses: actions/setup-node@v6
|
|
with:
|
|
node-version: 22
|
|
|
|
- name: Cache Dirs
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
~/.cache/electron
|
|
~/.cache/electron-builder
|
|
**/node_modules
|
|
key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }}
|
|
|
|
- name: Update Ruffle
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: node --run update-ruffle
|
|
|
|
- name: Run Build
|
|
env:
|
|
APPLE_ID: ${{ secrets.APPLE_ID }}
|
|
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
|
|
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
|
|
CSC_LINK: ${{ secrets.CSC_LINK }}
|
|
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
|
|
WIN_CSC_LINK: ${{ secrets.WIN_CSC_LINK }}
|
|
WIN_CSC_KEY_PASSWORD: ${{ secrets.WIN_CSC_KEY_PASSWORD }}
|
|
PLATFORM: ${{ matrix.platform }}
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
run: |
|
|
|
|
#if [ "$RUNNER_OS" != "Linux" ]; then
|
|
# sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*
|
|
# sudo xcode-select -s "/Applications/Xcode_12.3.app"
|
|
#fi
|
|
|
|
if [ "$GITHUB_REF" == "refs/heads/main" ] || [ -f ./force_release ]; then
|
|
export BUILD_CMD="release"
|
|
else
|
|
export BUILD_CMD="dist"
|
|
fi
|
|
|
|
if [ "$RUNNER_OS" == "Linux" ]; then
|
|
if [ "$PLATFORM" == "linux" ]; then
|
|
#mkdir -p plugins-linux;
|
|
#pushd plugins-linux;
|
|
#wget "https://s3.amazonaws.com/webrecorder-builds/flashplugin/libpepflashplayer.so";
|
|
#popd;
|
|
|
|
docker run --rm \
|
|
-e CI=${CI} \
|
|
-e GH_TOKEN=${GH_TOKEN} \
|
|
-e BUILD_CMD=${BUILD_CMD} \
|
|
-v ${PWD}:/project \
|
|
-v ~/.cache/electron:/root/.cache/electron \
|
|
-v ~/.cache/electron-builder:/root/.cache/electron-builder \
|
|
electronuserland/builder:22-wine \
|
|
/bin/bash -c "corepack enable yarn && yarn install --immutable && yarn run $BUILD_CMD --linux --x64"
|
|
else
|
|
#mkdir -p plugins-win;
|
|
#pushd plugins-win;
|
|
#wget "https://s3.amazonaws.com/webrecorder-builds/flashplugin/pepflashplayer-x86_64.dll";
|
|
#wget "https://s3.amazonaws.com/webrecorder-builds/flashplugin/pepflashplayer-x86.dll";
|
|
#popd;
|
|
|
|
docker run --rm \
|
|
-e CI=${CI} \
|
|
-e GH_TOKEN=${GH_TOKEN} \
|
|
-e WIN_CSC_LINK=${WIN_CSC_LINK} \
|
|
-e WIN_CSC_KEY_PASSWORD=${WIN_CSC_KEY_PASSWORD} \
|
|
-e BUILD_CMD=${BUILD_CMD} \
|
|
-v ${PWD}:/project \
|
|
-v ~/.cache/electron:/root/.cache/electron \
|
|
-v ~/.cache/electron-builder:/root/.cache/electron-builder \
|
|
electronuserland/builder:22-wine \
|
|
/bin/bash -c "corepack enable yarn && yarn install --immutable && yarn run $BUILD_CMD --win --x64 --ia32"
|
|
fi
|
|
else
|
|
#mkdir -p plugins-mac;
|
|
#pushd plugins-mac;
|
|
#wget "https://s3.amazonaws.com/webrecorder-builds/flashplugin/PepperFlashPlayer.plugin.zip";
|
|
#unzip PepperFlashPlayer.plugin.zip;
|
|
#rm PepperFlashPlayer.plugin.zip;
|
|
#popd;
|
|
yarn install --immutable
|
|
yarn run $BUILD_CMD
|
|
fi
|
|
|