name: Build and publish app release on: release: types: [published] env: APP_NAME: news jobs: build_and_publish: environment: release runs-on: ubuntu-latest name: "Release: build, sign and upload the app" strategy: matrix: php-versions: ['7.4'] nextcloud: ['stable20'] database: ['sqlite'] steps: - name: Checkout uses: actions/checkout@v2 - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php-versions }} extensions: pdo_sqlite,pdo_mysql,pdo_pgsql,gd,zip coverage: none - name: Set up server non MySQL uses: SMillerDev/nextcloud-actions/setup-nextcloud@main with: cron: true version: ${{ matrix.nextcloud }} database-type: ${{ matrix.database }} - name: build and create archive working-directory: ../server/apps/${{ env.APP_NAME }} run: make && make appstore env: app_private_key: ${{ secrets.APP_PRIVATE_KEY }} app_public_cert: ${{ secrets.APP_PUBLIC_CERT }} - name: Upload app tarball to release uses: svenstaro/upload-release-action@v2 id: attach_to_release with: repo_token: ${{ secrets.GITHUB_TOKEN }} file: ../server/apps/${{ env.APP_NAME }}/build/artifacts/appstore/${{ env.APP_NAME }}.tar.gz asset_name: ${{ env.APP_NAME }}.tar.gz tag: ${{ github.ref }} overwrite: true - name: Upload app to Nextcloud appstore uses: R0Wi/nextcloud-appstore-push-action@v1 with: app_name: ${{ env.APP_NAME }} appstore_token: ${{ secrets.APPSTORE_TOKEN }} download_url: ${{ steps.attach_to_release.outputs.browser_download_url }} app_private_key: ${{ secrets.APP_PRIVATE_KEY }} nightly: ${{ github.event.release.prerelease }}