feat: linux builds #926
This file contains hidden or 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: PR | |
| on: | |
| pull_request: | |
| types: | |
| - opened | |
| - synchronize | |
| - reopened | |
| - ready_for_review | |
| branches: | |
| - master | |
| jobs: | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-22.04 | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| - uses: actions/cache@v4 | |
| with: | |
| path: '**/node_modules' | |
| key: ${{ runner.os }}-modules-${{ hashFiles('**/package-lock.json') }} | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: npm run lint | |
| run: | | |
| npm run lint | |
| build: | |
| name: Build and upload Installer | |
| runs-on: ubuntu-22.04 | |
| if: github.event.pull_request.draft == false | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| - uses: actions/cache@v4 | |
| with: | |
| path: '**/node_modules' | |
| key: ${{ runner.os }}-modules-${{ hashFiles('**/package-lock.json') }} | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Install system requirements | |
| run: | | |
| sudo dpkg --add-architecture i386 | |
| sudo apt-get update | |
| sudo apt-get install -y --allow-downgrades libc6:i386 libgcc-s1:i386 libstdc++6:i386 | |
| sudo apt-get install -y wine32 wine64 | |
| sudo apt-get install -y flatpak | |
| sudo apt-get install -y flatpak-builder | |
| - name: Add Flathub Flatpak remote | |
| run: flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo | |
| - name: Build Installer | |
| run: npm run package:all | |
| - name: Upload PR artifact (.exe) | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: FlyByWire-Installer-exe | |
| path: ./dist/*.exe | |
| - name: Upload PR artifact (.AppImage) | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: FlyByWire-Installer-AppImage | |
| path: ./dist/*.AppImage | |
| - name: Upload PR artifact (.rpm) | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: FlyByWire-Installer-rpm | |
| path: ./dist/*.rpm | |
| - name: Upload PR artifact (.deb) | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: FlyByWire-Installer-deb | |
| path: ./dist/*.deb | |
| - name: Upload PR artifact (.snap) | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: FlyByWire-Installer-snap | |
| path: ./dist/*.snap | |
| - name: Upload PR artifact (.flatpak) | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: FlyByWire-Installer-flatpak | |
| path: ./dist/*.flatpak |