From 2f5b6b80e1ba1b9a1ff761a4b8a7a9e7f2e4572e Mon Sep 17 00:00:00 2001 From: SamTV12345 <40429738+SamTV12345@users.noreply.github.com> Date: Tue, 8 Aug 2023 16:22:25 +0200 Subject: [PATCH] Fix/windows build (#5861) * Use updated env var. * Show bin and src bin. * Use native link. * Use link. * Check file link. * Use existing installation on github runner. * Use -P. * Use git checkout for copying the data to temp directory. * Use rsync to copy data. * Remove package from src. * Use simple copy to copy the dependencies. * Copy src folder only. --- .github/workflows/windows.yml | 17 ++++++++++++----- src/bin/buildForWindows.sh | 6 ++++-- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 53fe33d07a8..8869962db06 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -15,13 +15,19 @@ jobs: || (github.event.pull_request.head.repo.id != github.event.pull_request.base.repo.id) name: Build .zip runs-on: windows-latest + defaults: + run: + shell: msys2 {0} steps: - uses: msys2/setup-msys2@v2 with: + release: false + update: false path-type: inherit install: >- zip + rsync - name: Checkout repository uses: actions/checkout@v3 @@ -35,16 +41,17 @@ jobs: src/bin/doc/package-lock.json - name: Install all dependencies and symlink for ep_etherpad-lite - shell: msys2 {0} - run: src/bin/installDeps.sh + run: | + set MSYSTEM=winsymlinks:lnk + 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 + run: | + set MSYSTEM=winsymlinks:lnk + src/bin/buildForWindows.sh - name: Archive production artifacts uses: actions/upload-artifact@v3 diff --git a/src/bin/buildForWindows.sh b/src/bin/buildForWindows.sh index 4b7b7576171..6093e03b581 100755 --- a/src/bin/buildForWindows.sh +++ b/src/bin/buildForWindows.sh @@ -20,7 +20,7 @@ try cd "${workdir}" [ -f src/package.json ] || fatal "failed to cd to etherpad root directory" # See https://github.com/msys2/MSYS2-packages/issues/1216 -export MSYS=winsymlinks:lnk +export MSYSTEM=winsymlinks:lnk OUTPUT=${workdir}/etherpad-win.zip @@ -29,10 +29,12 @@ trap 'exit 1' HUP INT TERM trap 'log "cleaning up..."; try cd / && try rm -rf "${TMP_FOLDER}"' EXIT log "create a clean environment in $TMP_FOLDER..." -try git archive --format=tar HEAD | (try cd "${TMP_FOLDER}" && try tar xf -) \ +try export GIT_WORK_TREE=${TMP_FOLDER}; git checkout HEAD -f \ || fatal "failed to copy etherpad to temporary folder" try mkdir "${TMP_FOLDER}"/.git try git rev-parse HEAD >${TMP_FOLDER}/.git/HEAD +try cp -r ./src/node_modules "${TMP_FOLDER}"/src/node_modules + try cd "${TMP_FOLDER}" [ -f src/package.json ] || fatal "failed to copy etherpad to temporary folder"