chore: update winget release action (#668) #492
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build | |
on: | |
push: | |
branches: | |
- master | |
paths-ignore: | |
- "website" | |
- "CHANGELOG.md" | |
workflow_call: | |
workflow_dispatch: | |
jobs: | |
build: | |
name: "Build" | |
strategy: | |
matrix: | |
include: | |
- os: ubuntu-latest | |
name: linux | |
task: build:linux-all | |
- os: macos-latest | |
name: mac | |
task: build:mac-all | |
- os: windows-latest | |
name: win | |
task: build:win-all | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18.x | |
cache: "yarn" | |
- name: Cache | |
uses: actions/cache@v3 | |
with: | |
path: "node_modules" | |
key: ${{ runner.os }}-build-${{ hashFiles('yarn.lock') }} | |
- name: Install | |
run: | | |
yarn install --immutable --network-timeout 120000 | |
- name: Prepare for app notarization | |
if: startsWith(matrix.os, 'macos') | |
# Import Apple API key for app notarization on macOS | |
run: | | |
mkdir -p ~/private_keys/ | |
echo '${{ secrets.APPLE_API_KEY_FILE }}' > ~/private_keys/AuthKey_${{ secrets.APPLE_API_KEY }}.p8 | |
- name: Build | |
env: | |
APPLE_API_KEY_PATH: ~/private_keys/AuthKey_${{ secrets.APPLE_API_KEY }}.p8 | |
API_KEY_ID: ${{ secrets.APPLE_API_KEY }} | |
API_KEY_ISSUER_ID: ${{ secrets.APPLE_API_ISSUER }} | |
CSC_LINK: ${{ secrets.CSC_LINK }} | |
CSC_KEY_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} | |
run: | | |
yarn build | |
yarn lerna run ${{ matrix.task }} --stream | |
- name: Build Snap | |
if: matrix.name == 'linux' | |
run: | | |
sudo snap install snapcraft --classic | |
yarn lerna run build:snap --stream | |
- name: Upload windows all-in-one build | |
uses: actions/upload-artifact@v3 | |
with: | |
name: built-app-all-in-one-${{ matrix.name }} | |
path: | | |
app/electron/dist/Pomatez-v+([0-9]).+([0-9]).+([0-9])-win-*.exe | |
- name: Upload ia32 builds | |
uses: actions/upload-artifact@v3 | |
with: | |
name: built-app-ia32-${{ matrix.name }} | |
path: | | |
app/electron/dist/Pomatez*ia32*.* | |
- name: Upload x64 builds | |
uses: actions/upload-artifact@v3 | |
with: | |
name: built-app-x64-${{ matrix.name }} | |
path: | | |
app/electron/dist/Pomatez*x64*.* | |
app/electron/dist/Pomatez*x86_64*.* | |
app/electron/dist/Pomatez*amd64*.* | |
- name: Upload arm64 builds | |
uses: actions/upload-artifact@v3 | |
with: | |
name: built-app-arm64-${{ matrix.name }} | |
path: | | |
app/electron/dist/Pomatez*arm64*.* | |
app/electron/dist/Pomatez*aarch64*.* | |
- name: Upload armv7l builds | |
uses: actions/upload-artifact@v3 | |
with: | |
name: built-app-armv7l-${{ matrix.name }} | |
path: | | |
app/electron/dist/Pomatez*armv7l*.* | |
- name: Upload autoupdaters | |
uses: actions/upload-artifact@v3 | |
with: | |
name: built-app-AutoUpdater-${{ matrix.name }} | |
path: | | |
app/electron/dist/latest* |