From 863983f0ffc100e5a8680f5e4ef9179543f59d04 Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Tue, 26 Jul 2022 22:49:47 +0100 Subject: [PATCH] ci: update all to preserve executable permission when zipping --- .../binaries-linux-arm32v7-static.yml | 24 +++++++++---------- .../workflows/binaries-linux-x64-static.yml | 20 +++++++++------- .github/workflows/binaries-mac-x64.yml | 4 ++-- .github/workflows/binaries-windows-x64.yml | 9 ++++--- .github/workflows/test-linux-x64.yml | 5 ++-- 5 files changed, 30 insertions(+), 32 deletions(-) diff --git a/.github/workflows/binaries-linux-arm32v7-static.yml b/.github/workflows/binaries-linux-arm32v7-static.yml index 95775ae74..03ae5d139 100644 --- a/.github/workflows/binaries-linux-arm32v7-static.yml +++ b/.github/workflows/binaries-linux-arm32v7-static.yml @@ -20,14 +20,13 @@ jobs: docker: runs-on: ubuntu-latest steps: - - - name: Set up QEMU + - name: Set up QEMU uses: docker/setup-qemu-action@v1 - - - name: Set up Docker Buildx + + - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - - - name: Build and push + + - name: Build and push id: docker_build uses: docker/build-push-action@v2 with: @@ -36,17 +35,16 @@ jobs: tags: hledger-linux-static-arm32v7:latest load: true - - name: Extract binaries from docker + - name: Gather binaries from docker run: | - # Create temporary container from it container_id=$(docker create hledger-linux-static-arm32v7:latest) - # Copy stuff from temp container - docker cp $container_id:/root/hledger /tmp/hledger-linux-static-arm32v7 - # Delete temp container + docker cp $container_id:/root/hledger tmp docker rm -v $container_id + cd tmp + zip hledger-linux-static-arm32v7.zip hledger hledger-ui hledger-web - - name: Upload binary + - name: Upload binaries artifact uses: actions/upload-artifact@v3 with: name: hledger-linux-static-arm32v7 - path: /tmp/hledger-linux-static-arm32v7 + path: tmp/hledger-linux-static-arm32v7.zip diff --git a/.github/workflows/binaries-linux-x64-static.yml b/.github/workflows/binaries-linux-x64-static.yml index 052814608..ec6fadae5 100644 --- a/.github/workflows/binaries-linux-x64-static.yml +++ b/.github/workflows/binaries-linux-x64-static.yml @@ -54,18 +54,20 @@ jobs: cabal build --enable-executable-static hledger-ui || echo "ERROR: building hledger failed" cabal build --enable-executable-static hledger-web || echo "ERROR: building hledger-web failed" - - name: Extract and strip binaries + - name: Gather binaries run: | - mkdir /tmp/hledger - cp dist-newstyle/build/x86_64-linux/ghc-*/hledger-*/x/hledger/build/hledger/hledger /tmp/hledger/hledger - cp dist-newstyle/build/x86_64-linux/ghc-*/hledger-ui-*/x/hledger-ui/build/hledger-ui/hledger-ui /tmp/hledger/hledger-ui - cp dist-newstyle/build/x86_64-linux/ghc-*/hledger-web-*/x/hledger-web/build/hledger-web/hledger-web /tmp/hledger/hledger-web - strip /tmp/hledger/hledger - strip /tmp/hledger/hledger-ui - strip /tmp/hledger/hledger-web + mkdir tmp + cd tmp + cp dist-newstyle/build/x86_64-linux/ghc-*/hledger-*/x/hledger/build/hledger/hledger . + cp dist-newstyle/build/x86_64-linux/ghc-*/hledger-ui-*/x/hledger-ui/build/hledger-ui/hledger-ui . + cp dist-newstyle/build/x86_64-linux/ghc-*/hledger-web-*/x/hledger-web/build/hledger-web/hledger-web . + strip hledger + strip hledger-ui + strip hledger-web + zip hledger-linux-x64.zip hledger hledger-ui hledger-web - name: Upload binaries uses: actions/upload-artifact@v3 with: name: hledger-linux-x64 - path: /tmp/hledger + path: tmp/hledger-linux-x64.zip diff --git a/.github/workflows/binaries-mac-x64.yml b/.github/workflows/binaries-mac-x64.yml index 79c9f2624..078f3528c 100644 --- a/.github/workflows/binaries-mac-x64.yml +++ b/.github/workflows/binaries-mac-x64.yml @@ -159,7 +159,7 @@ jobs: # artifacts: - - name: Gather executables + - name: Gather binaries run: | mkdir tmp cd tmp @@ -173,7 +173,7 @@ jobs: if: env.CONTINUE # XXX intermittent upload failures - - name: Upload executables artifact + - name: Upload binaries artifact uses: actions/upload-artifact@v3 with: name: hledger-mac-x64 diff --git a/.github/workflows/binaries-windows-x64.yml b/.github/workflows/binaries-windows-x64.yml index fbf086215..b7d9df47f 100644 --- a/.github/workflows/binaries-windows-x64.yml +++ b/.github/workflows/binaries-windows-x64.yml @@ -162,22 +162,21 @@ jobs: # artifacts: - - name: Gather executables + - name: Gather binaries run: | mkdir tmp cd tmp - mkdir hledger-windows-x64 - cd hledger-windows-x64 cp /C/Users/runneradmin/AppData/Roaming/local/bin/hledger.exe . cp /C/Users/runneradmin/AppData/Roaming/local/bin/hledger-web.exe . strip hledger.exe strip hledger-web.exe + zip hledger-windows-x64.zip hledger.exe hledger-web.exe if: env.CONTINUE # XXX intermittent upload failures - - name: Create executables artifact + - name: Create binaries artifact uses: actions/upload-artifact@v3 with: name: hledger-windows-x64 - path: tmp/hledger-windows-x64 + path: tmp/hledger-windows-x64.zip if: env.CONTINUE diff --git a/.github/workflows/test-linux-x64.yml b/.github/workflows/test-linux-x64.yml index 756e5c111..f6d7b80a1 100644 --- a/.github/workflows/test-linux-x64.yml +++ b/.github/workflows/test-linux-x64.yml @@ -263,7 +263,7 @@ jobs: # --no-print-missing-docs is 600% quieter if: env.CONTINUE - - name: Gather executables + - name: Gather binaries id: exes run: | mkdir tmp @@ -275,14 +275,13 @@ jobs: strip hledger-ui strip hledger-web zip hledger-linux-x64.zip hledger hledger-ui hledger-web - # ^ create zip file ourselves, upload-artifact's zipping drops executable permissions if: env.CONTINUE # how to set a context variable, and an attempt to make a nice artifact version suffix: # echo "::set-output name=version::$(git branch --show-current | sed 's/-.*//')-$(git rev-parse --short HEAD)" # XXX intermittent upload failures - - name: Upload executables artifact + - name: Upload binaries artifact uses: actions/upload-artifact@v3 with: name: hledger-linux-x64