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.
This commit is contained in:
parent
00dcb6ad83
commit
b6f967c767
|
@ -0,0 +1,23 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>client</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>MacOS/client</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>icon.icns</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>client</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>client</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>0.0.0</string>
|
||||
<key>NSHighResolutionCapable</key>
|
||||
<string>True</string></dict>
|
||||
</plist>
|
|
@ -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" <<EOF
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>client</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>MacOS/client</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>icon.icns</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>client</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>client</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>0.0.0</string>
|
||||
<key>NSHighResolutionCapable</key>
|
||||
<string>True</string></dict>
|
||||
</plist>
|
||||
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 }}
|
Loading…
Reference in New Issue