From b6f967c767f28e9f93e6f5942dc3b1762e28b55c Mon Sep 17 00:00:00 2001 From: suika <2320837+Suika@users.noreply.github.com> Date: Sat, 8 May 2021 02:31:03 +0200 Subject: [PATCH] Speed up build process by caching artifacts because the pyoxydizer isn't updated that often, why build it every time and waste 20 min. This change caches the built artifacts, so the pyoxydizer step runs in matter of seconds. Also removed release job, since it has nothing to do in here. Every component has their build job, but release should be it's own dedicated job, since it relies on many parts. --- static/build_files/macos/Info.plist | 23 ++++++++ static/build_files/macos/macos_build.yml | 74 ++++++------------------ 2 files changed, 42 insertions(+), 55 deletions(-) create mode 100644 static/build_files/macos/Info.plist diff --git a/static/build_files/macos/Info.plist b/static/build_files/macos/Info.plist new file mode 100644 index 00000000..b5e9e52c --- /dev/null +++ b/static/build_files/macos/Info.plist @@ -0,0 +1,23 @@ + + + + + CFBundleDisplayName + client + CFBundleExecutable + MacOS/client + CFBundleIconFile + icon.icns + CFBundleIdentifier + client + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + client + CFBundlePackageType + APPL + CFBundleShortVersionString + 0.0.0 + NSHighResolutionCapable + True + \ No newline at end of file diff --git a/static/build_files/macos/macos_build.yml b/static/build_files/macos/macos_build.yml index c18f1290..0726982e 100644 --- a/static/build_files/macos/macos_build.yml +++ b/static/build_files/macos/macos_build.yml @@ -16,9 +16,23 @@ jobs: - uses: actions-rs/toolchain@v1 with: toolchain: stable - - name: Rust Cache - uses: Swatinem/rust-cache@v1.2.0 - - name: rust-cargo + - name: Cargo Cache + uses: actions/cache@v2 + with: + path: ~/.cargo + key: ${{ runner.os }}-cargo-${{ hashFiles('Cargo.toml') }} + restore-keys: | + ${{ runner.os }}-cargo-${{ hashFiles('Cargo.toml') }} + ${{ runner.os }}-cargo + - name: Cargo Artifacts Cache + uses: actions/cache@v2 + with: + path: target + key: ${{ runner.os }}-cargo-target-${{ hashFiles('Cargo.toml') }} + restore-keys: | + ${{ runner.os }}-cargo-target-${{ hashFiles('Cargo.toml') }} + ${{ runner.os }}-cargo-target + - name: Install PyOxidizer uses: actions-rs/cargo@v1.0.3 with: command: install @@ -35,34 +49,10 @@ jobs: mkdir -p "Hydrus Network.app/Contents/Resources" mkdir -p "Hydrus Network.app/Contents/Frameworks" mv install/static/icon.icns "Hydrus Network.app/Contents/Resources/icon.icns" - cat > "Hydrus Network.app/Contents/Info.plist" < - - - - CFBundleDisplayName - client - CFBundleExecutable - MacOS/client - CFBundleIconFile - icon.icns - CFBundleIdentifier - client - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - client - CFBundlePackageType - APPL - CFBundleShortVersionString - 0.0.0 - NSHighResolutionCapable - True - - EOF + cp install/static/build_files/macos/Info.plist "Hydrus Network.app/Contents/Info.plist" cp install/static/build_files/macos/ReadMeFirst.rtf ./ReadMeFirst.rtf - ln -s /Applications ./Applications cp install/static/build_files/macos/running_from_app "install/running_from_app" + ln -s /Applications ./Applications mv install/* "Hydrus Network.app/Contents/MacOS/" rm -rf install cd $GITHUB_WORKSPACE @@ -76,29 +66,3 @@ jobs: path: HydrusNetwork.dmg if-no-files-found: error retention-days: 2 - - create-release: - name: Create Release Entry - runs-on: ubuntu-20.04 - needs: [build-macos] - steps: - - name: Checkout code - uses: actions/checkout@v2 - - name: Get All Artifacts - uses: actions/download-artifact@v2 - - name: Extract version metadata - id: meta - run: | - echo "::set-output name=version::${GITHUB_REF##*/}" - echo "::set-output name=version_short::${GITHUB_REF##*/v}" - - name: Rename Files - run: | - mv MacOS-DMG/HydrusNetwork.dmg Hydrus.Network.${{ steps.meta.outputs.version_short }}.-.macOS.-.App.dmg - - name: Release new - uses: softprops/action-gh-release@v1 - if: startsWith(github.ref, 'refs/tags/') - with: - files: | - Hydrus.Network.${{ steps.meta.outputs.version_short }}.-.macOS.-.App.dmg - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file