name: Build release workflow on: push: tags: - '*' jobs: create_release: runs-on: ubuntu-22.04 name: Create github release permissions: contents: write outputs: upload_url: > ${{ steps.get_release.outputs.upload_url || steps.create_release.outputs.upload_url }} steps: - name: Try to Get Release id: get_release uses: zebra-lucky/actions-js-getRelease@0.0.3 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag: ${{ github.ref }} - name: Create Release id: create_release if: ${{ !steps.get_release.outputs.upload_url }} uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ github.ref }} release_name: ${{ github.ref }} draft: false prerelease: false build_with_pyinstaller: needs: create_release runs-on: ubuntu-22.04 name: create PyInstaller build permissions: contents: write steps: - name: Set up Python 3.12 uses: actions/setup-python@v5 with: python-version: '3.12' - name: Set outputs for pkg_ver id: set_vars run: | export JM_VERSION=${{ github.ref_name }} echo "::set-output name=pkg_ver::$(echo $JM_VERSION)" - name: Checkout uses: actions/checkout@v1 - name: build env: JM_VERSION: ${{ github.ref_name }} run: | ./contrib/build-linux/pyinstaller-build/build.sh - name: Upload Asset uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ needs.create_release.outputs.upload_url }} asset_path: dist/joinmarket-clientserver-${{ github.ref_name}}.tgz asset_name: joinmarket-clientserver-${{ github.ref_name}}.tgz asset_content_type: application/octet-stream - name: Upload Qt Asset uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ needs.create_release.outputs.upload_url }} asset_path: dist/joinmarket-clientserver-qt-${{ github.ref_name}}.tgz asset_name: joinmarket-clientserver-qt-${{ github.ref_name}}.tgz asset_content_type: application/octet-stream - name: Upload Snicker Asset uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ needs.create_release.outputs.upload_url }} asset_path: dist/joinmarket-clientserver-snicker-${{ github.ref_name}}.tgz asset_name: joinmarket-clientserver-snicker-${{ github.ref_name}}.tgz asset_content_type: application/octet-stream - name: Upload ObWatch Asset uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ needs.create_release.outputs.upload_url }} asset_path: dist/joinmarket-clientserver-obwatch-${{ github.ref_name}}.tgz asset_name: joinmarket-clientserver-obwatch-${{ github.ref_name}}.tgz asset_content_type: application/octet-stream - name: Upload start-dn Asset uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ needs.create_release.outputs.upload_url }} asset_path: dist/joinmarket-clientserver-start-dn-${{ github.ref_name}}.tgz asset_name: joinmarket-clientserver-start-dn-${{ github.ref_name}}.tgz asset_content_type: application/octet-stream