# This is a basic workflow to help you get started with Actions name: 'Ubuntu 22.04 - AppImage Build' # Controls when the action will run. on: # Triggers the workflow on push or pull request events but only for the main branch push: branches: - main pull_request: branches: - main # Allows you to run this workflow manually from the Actions tab workflow_dispatch: # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: build: strategy: matrix: node-version: [20] # The type of runner that the job will run on runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - name: Cache node modules uses: actions/cache@v4 env: cache-name: cache-node-modules with: # npm cache files are stored in `~/.npm` on Linux/macOS path: ~/.npm key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-build-${{ env.cache-name }}- ${{ runner.os }}-build- ${{ runner.os }}- - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - name: Install linux dependencies run: | sudo apt-get update sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf - name: Install Dependencies run: npm i - name: Build the app run: npm run electron:build - name: Upload AppImage artifact uses: actions/upload-artifact@v4 with: name: monerod-gui-ubuntu-22-portable path: release/*.AppImage