name: 'Build and Release Binary File' author: 'Neshura' on: push: tags: - '[0-9]+.[0-9]+.[0-9]+' - '[0-9]+.[0-9]+.[0-9]+rc[0-9]+' jobs: run-tests: runs-on: docker steps: - name: Placeholder run: echo Placeholder Job build: needs: test if: success() runs-on: docker container: rust:latest steps: - name: Installing Node, NPM run: apt update && apt install -y nodejs npm - name: Installing Yarn, Vite run: npm install --global yarn vite - name: Installing Tauri CLI run: cargo install tauri-cli - name: Checking Out Repository Code uses: https://code.forgejo.org/actions/checkout@v3 - name: Install Yarn Packages run: yarn install - name: Build Svelte App run: yarn tauri build - name: Compiling To Linux Target run: | cargo tauri build mv target/release/comicinfo-editor-v2.deb comicinfo-editor-v2-linux-amd64.deb mv target/release/comicinfo-editor-v2.AppImage comicinfo-editor-v2-linux-amd64.AppImage - name: Uploading Build Artifact uses: actions/upload-artifact@v3 with: name: comicinfo-editor-v2-linux-amd64 path: | comicinfo-editor-v2-linux-amd64.deb comicinfo-editor-v2-linux-amd64.AppImage if-no-files-found: error upload-release: needs: build if: success() runs-on: docker steps: - name: Downloading All Build Artifacts uses: actions/download-artifact@v3 - name: Rearrange Artifact Paths run: | mkdir release mv comicinfo-editor-v2-linux-amd64/comicinfo-editor-v2-linux-amd64/* release/ - name: Upload Artifacts As Generic Packages run: | echo 'curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ --upload-file release/comicinfo-editor-v2-linux-amd64.deb \ https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/generic/${{ github.event.repository.name }}/${{ github.ref_name }}/comicinfo-editor-v2-linux-amd64.deb' curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ --upload-file release/comicinfo-editor-v2-linux-amd64.deb \ https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/generic/${{ github.event.repository.name }}/${{ github.ref_name }}/comicinfo-editor-v2-linux-amd64.deb echo 'curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ --upload-file release/comicinfo-editor-v2-linux-amd64.AppImage \ https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/generic/${{ github.event.repository.name }}/${{ github.ref_name }}/comicinfo-editor-v2-linux-amd64.AppImage' curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ --upload-file release/comicinfo-editor-v2-linux-amd64.AppImage \ https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/generic/${{ github.event.repository.name }}/${{ github.ref_name }}/comicinfo-editor-v2-linux-amd64.AppImage - name: Release New Version uses: actions/forgejo-release@v1 with: direction: upload url: https://forgejo.neshweb.net release-dir: release token: ${{ secrets.FORGEJO_TOKEN }} tag: ${{ github.ref_name }}