name: Build on: push: branches: [main] paths-ignore: - "**.md" - "**.spec.js" - ".idea" - ".vscode" - ".dockerignore" - "Dockerfile" - ".gitignore" - ".github/**" - "!.github/workflows/build.yml" pull_request: branches: [main] paths-ignore: - "**.md" - "**.spec.js" - ".idea" - ".vscode" - ".dockerignore" - "Dockerfile" - ".gitignore" - ".github/**" - "!.github/workflows/build.yml" jobs: build: runs-on: ${{ matrix.os }} container: ${{ matrix.docker_image }} strategy: matrix: os: [ubuntu-latest] package: [deb, rpm] include: - package: deb docker_image: "debian:12" - package: rpm docker_image: "almalinux:8" steps: - name: Install Build Dependencies if: matrix.package == 'deb' run: | apt-get update apt-get install -y curl git wget devscripts fakeroot equivs lintian - name: Install Build Dependencies if: matrix.package == 'rpm' run: | dnf install -y curl git wget rpm-build rpmdevtools rpmlint - name: Checkout Code uses: actions/checkout@v6 - name: Setup Node.js uses: actions/setup-node@v6 with: node-version: 20.19.2 - name: Install Dependencies run: | npm install - name: Build Release Files run: ${{ matrix.package == 'deb' && 'npm run build:deb' || matrix.package == 'rpm' && 'npm run build:rpm' }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Upload Artifact uses: actions/upload-artifact@v6 with: name: release_for_${{ matrix.package }} path: release/ retention-days: 5