From 4248bcd080387f6a4c6f293bcf2cb2b87bde3127 Mon Sep 17 00:00:00 2001 From: Neshura Date: Fri, 17 Nov 2023 12:00:26 +0000 Subject: [PATCH] Add Build + Release Worklfow --- .forgejo/workflows/build+release.yml | 82 ++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 .forgejo/workflows/build+release.yml diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml new file mode 100644 index 0000000..23ce7a3 --- /dev/null +++ b/.forgejo/workflows/build+release.yml @@ -0,0 +1,82 @@ +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 + run: apt update && apt install -y nodejs + - + name: Checking Out Repository Code + uses: https://code.forgejo.org/actions/checkout@v3 + - + 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 }}