mirror of
https://github.com/actualbudget/actual.git
synced 2026-03-22 00:13:45 -05:00
* adding path filters to workflows so they only run when required * trigger them also when the workflow changes * adding yarn lock in case packages affect e2e * release notes * add the package.json in case we modify the scripts * Remove API changes from size comparison workflow * Clarify size impact of package changes in workflow Updated comments to clarify that certain package changes don't affect the size of the web/api. * Fix comments for VRT update exclusions * Update VRT screenshots Auto-generated by VRT workflow PR: #6364 * Update VRT screenshots Auto-generated by VRT workflow PR: #6364 * Fix comment formatting in VRT update workflow --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
131 lines
4.9 KiB
YAML
131 lines
4.9 KiB
YAML
name: Electron
|
|
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
|
|
env:
|
|
CI: true
|
|
|
|
on:
|
|
pull_request:
|
|
paths:
|
|
- "packages/**"
|
|
- "package.json"
|
|
- "yarn.lock"
|
|
- ".github/workflows/electron-pr.yml"
|
|
- "!packages/api/**" # API changes don't affect Electron
|
|
- "!packages/ci-actions/**" # CI actions changes don't affect Electron
|
|
- "!packages/docs/**" # Docs changes don't affect Electron
|
|
- "!packages/eslint-plugin-actual/**" # Eslint plugin changes don't affect Electron
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
build:
|
|
strategy:
|
|
matrix:
|
|
os:
|
|
- ubuntu-22.04
|
|
- windows-latest
|
|
- macos-latest
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
- if: ${{ startsWith(matrix.os, 'windows') }}
|
|
run: pip.exe install setuptools
|
|
- if: ${{ ! startsWith(matrix.os, 'windows') }}
|
|
run: |
|
|
mkdir .venv
|
|
python3 -m venv .venv
|
|
source .venv/bin/activate
|
|
python3 -m pip install setuptools
|
|
- if: ${{ startsWith(matrix.os, 'ubuntu') }}
|
|
name: Setup Flatpak dependencies
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install flatpak -y
|
|
sudo apt-get install flatpak-builder -y
|
|
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
|
sudo flatpak install org.freedesktop.Sdk//24.08 -y
|
|
sudo flatpak install org.freedesktop.Platform//24.08 -y
|
|
sudo flatpak install org.electronjs.Electron2.BaseApp//24.08 -y
|
|
|
|
METAINFO_FILE="packages/desktop-electron/extra-resources/linux/com.actualbudget.actual.metainfo.xml"
|
|
TODAY=$(date +%Y-%m-%d)
|
|
VERSION=$(node ./packages/ci-actions/bin/get-next-package-version.js --package-json ./packages/desktop-electron/package.json --type nightly)
|
|
sed -i "s/%RELEASE_VERSION%/$VERSION/g; s/%RELEASE_DATE%/$TODAY/g" "$METAINFO_FILE"
|
|
sudo apt-get install appstream
|
|
appstreamcli --version
|
|
appstreamcli validate "$METAINFO_FILE"
|
|
- name: Set up environment
|
|
uses: ./.github/actions/setup
|
|
- name: Build Electron
|
|
run: ./bin/package-electron
|
|
|
|
- name: Upload Linux x64 AppImage
|
|
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
|
with:
|
|
name: Actual-linux-x86_64.AppImage
|
|
if-no-files-found: ignore
|
|
path: packages/desktop-electron/dist/Actual-linux-x86_64.AppImage
|
|
|
|
- name: Upload Linux arm64 AppImage
|
|
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
|
with:
|
|
name: Actual-linux-arm64.AppImage
|
|
if-no-files-found: ignore
|
|
path: packages/desktop-electron/dist/Actual-linux-arm64.AppImage
|
|
|
|
- name: Upload Linux x64 flatpak
|
|
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
|
with:
|
|
name: Actual-linux-x86_64.flatpak
|
|
if-no-files-found: ignore
|
|
path: packages/desktop-electron/dist/Actual-linux-x86_64.flatpak
|
|
|
|
- name: Upload Windows x32 exe
|
|
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
|
with:
|
|
name: Actual-windows-ia32.exe
|
|
if-no-files-found: ignore
|
|
path: packages/desktop-electron/dist/Actual-windows-ia32.exe
|
|
|
|
- name: Upload Windows x64 exe
|
|
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
|
with:
|
|
name: Actual-windows-x64.exe
|
|
if-no-files-found: ignore
|
|
path: packages/desktop-electron/dist/Actual-windows-x64.exe
|
|
|
|
- name: Upload Windows arm64 exe
|
|
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
|
with:
|
|
name: Actual-windows-arm64.exe
|
|
if-no-files-found: ignore
|
|
path: packages/desktop-electron/dist/Actual-windows-arm64.exe
|
|
|
|
- name: Upload Mac x64 dmg
|
|
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
|
with:
|
|
name: Actual-mac-x64.dmg
|
|
if-no-files-found: ignore
|
|
path: packages/desktop-electron/dist/Actual-mac-x64.dmg
|
|
|
|
- name: Upload Mac arm64 dmg
|
|
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
|
with:
|
|
name: Actual-mac-arm64.dmg
|
|
if-no-files-found: ignore
|
|
path: packages/desktop-electron/dist/Actual-mac-arm64.dmg
|
|
|
|
- name: Upload Windows Store Build
|
|
if: ${{ startsWith(matrix.os, 'windows') }}
|
|
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
|
with:
|
|
name: actual-electron-${{ matrix.os }}-appx
|
|
path: |
|
|
packages/desktop-electron/dist/*.appx
|