diff --git a/.github/workflows/windows-installer.yml b/.github/workflows/windows-installer.yml new file mode 100644 index 000000000..37d86a9a6 --- /dev/null +++ b/.github/workflows/windows-installer.yml @@ -0,0 +1,61 @@ +name: "Windows Installer" + +# any branch is useful for testing before a PR is submitted +on: [push, pull_request] + +jobs: + build: + # run on pushes to any branch + # run on PRs from external forks + if: | + (github.event_name != 'pull_request') + || (github.event.pull_request.head.repo.id != github.event.pull_request.base.repo.id) + + name: Build Zip & Exe + runs-on: windows-latest + + steps: + - uses: msys2/setup-msys2@v2 + with: + path-type: inherit + install: >- + zip + + - name: Checkout repository + uses: actions/checkout@v2 + + - uses: actions/setup-node@v2 + with: + node-version: 12 + + - name: Install all dependencies and symlink for ep_etherpad-lite + shell: msys2 {0} + run: src/bin/installDeps.sh + + - name: Run the backend tests + shell: msys2 {0} + run: cd src && npm test + + - name: Build the .zip + shell: msys2 {0} + run: src/bin/buildForWindows.sh + + - name: Extract the .zip into folder + run: 7z x etherpad-lite-win.zip -oetherpad-lite-new + + - name: Grab nsis config + run: git clone https://github.com/ether/etherpad_nsis.git + + - name: Create installer + uses: joncloud/makensis-action@v3.4 + with: + script-file: 'etherpad_nsis/etherpad.nsi' + + - name: Check something.. + run: ls etherpad_nsis + + - name: Archive production artifacts + uses: actions/upload-artifact@v2 + with: + name: etherpad-server-windows.exe + path: etherpad_nsis/etherpad-server-windows.exe