From ccff2e91462f8708895c68197c13cedd923d8b12 Mon Sep 17 00:00:00 2001 From: Daniel Seichter Date: Sun, 9 Jun 2024 16:05:48 +0200 Subject: [PATCH] #3 add release workflow --- .github/workflows/release.yml | 94 +++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..7725003 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,94 @@ +name: Build Binaries + +on: + push: + tags: + - 'v*' + +jobs: + + build-windows-binary: + runs-on: windows-latest + steps: + + - name: 'Checkout' + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: 3.12 + + - name: Create and start virtual environment + run: | + python3 -m venv venv + venv\Scripts\activate.bat + + - name: Install dependencies + run: pip install -r src/requirements.txt + + - name: Build Windows binary + run: pyinstaller --onefile -w src/githubissueclient.py -n githubissueclient-windows-${{ github.ref_name }}.exe + + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: githubissueclient-windows-${{ github.ref_name }}.exe + path: dist/githubissueclient-windows-${{ github.ref_name }}.exe + + build-linux-binary: + runs-on: ubuntu-latest + steps: + + - name: 'Checkout' + uses: actions/checkout@v4 + + - name: Install dependencies + run: sudo apt-get install build-essential libgtk-3-dev + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: 3.12 + + - name: Create and start virtual environment + run: | + python3 -m venv venv + source venv/bin/activate + + - name: Install dependencies + run: pip install -r src/requirements.txt + + - name: Build Linux binary + run: pyinstaller --onefile src/githubissueclient.py -n githubissueclient-linux-${{ github.ref_name }} + + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: githubissueclient-linux-${{ github.ref_name }} + path: dist/githubissueclient-linux-${{ github.ref_name }} + + deploy: + runs-on: ubuntu-latest + needs: [build-windows-binary, build-linux-binary] + steps: + - uses: actions/download-artifact@v4 + with: + name: githubissueclient-linux-${{ github.ref_name }} + + - uses: actions/download-artifact@v4 + with: + name: githubissueclient-windows-${{ github.ref_name }}.exe + + - name: Create Release + id: create_release + uses: softprops/action-gh-release@v2 + with: + tag_name: ${{ github.ref_name }} + name: Release ${{ github.ref_name }} + draft: false + prerelease: false + generate_release_notes: true + files: | + githubissueclient-linux-${{ github.ref_name }} + githubissueclient-windows-${{ github.ref_name }}.exe \ No newline at end of file