name: Build RPMs on: push: tags: - 'v*' pull_request: branches: - master workflow_dispatch: env: OS_VERSION: 4.5.0.16 jobs: build: runs-on: ubuntu-latest name: Build App strategy: matrix: store: [yes, no] arch: [armv7hl, aarch64, i486] include: - arch: armv7hl libarch: armv7 - arch: aarch64 libarch: arm64 - arch: i486 libarch: 386 steps: - uses: actions/checkout@v4 with: submodules: recursive - name: Download lib run: | wget "https://github.com/RikudouSage/SpliitApi/releases/latest/download/libspliit-${{ matrix.libarch }}.h" -O lib/libspliit.h wget "https://github.com/RikudouSage/SpliitApi/releases/latest/download/libspliit-${{ matrix.libarch }}.so" -O lib/libspliit.so - name: Prepare run: docker pull coderus/sailfishos-platform-sdk:$OS_VERSION && mkdir output - name: Build ${{ matrix.arch }} (store) if: matrix.store == 'yes' run: docker run --rm --privileged -v $PWD:/share coderus/sailfishos-platform-sdk:$OS_VERSION /bin/bash -c " mkdir -p build ; cd build ; cp -r /share/* . ; HARBOUR_STORE=1 MB2_QMAKE_ARGS='CONFIG+=harbour_store' mb2 -t SailfishOS-$OS_VERSION-${{ matrix.arch }} build --no-check ; sudo cp -r RPMS/*.rpm /share/output ; sudo cp /share/harbour-spliit.rpmlintrc /share/output/harbour-spliit.rpmlintrc" - name: Build ${{ matrix.arch }} if: matrix.store != 'yes' run: docker run --rm --privileged -v $PWD:/share coderus/sailfishos-platform-sdk:$OS_VERSION /bin/bash -c " mkdir -p build ; cd build ; cp -r /share/* . ; mb2 -t SailfishOS-$OS_VERSION-${{ matrix.arch }} build --no-check ; sudo cp -r RPMS/*.rpm /share/output ; sudo cp /share/harbour-spliit.rpmlintrc /share/output/harbour-spliit.rpmlintrc" - name: Upload RPM (${{ matrix.arch }}) if: matrix.store != 'yes' uses: actions/upload-artifact@v4 with: name: rpm-${{ matrix.arch }} path: output - name: Upload RPM Store (${{ matrix.arch }}) if: matrix.store == 'yes' uses: actions/upload-artifact@v4 with: name: rpm-store-${{ matrix.arch }} path: output release: permissions: write-all name: Release if: startsWith(github.ref, 'refs/tags/v') needs: - build runs-on: ubuntu-latest steps: - name: Download armv7hl uses: actions/download-artifact@v4 with: name: rpm-store-armv7hl continue-on-error: true - name: Download aarch64 uses: actions/download-artifact@v4 with: name: rpm-store-aarch64 continue-on-error: true - name: Download i486 uses: actions/download-artifact@v4 with: name: rpm-store-i486 continue-on-error: true - name: Extract Version Name id: extract_name uses: actions/github-script@v4 with: result-encoding: string script: | return context.payload.ref.replace(/refs\/tags\//, ''); - name: Create a Release uses: softprops/action-gh-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: name: ${{ steps.extract_name.outputs.result }} draft: false prerelease: false generate_release_notes: true files: '*.rpm'