name: release on: push: tags: - "v[0-9]+.[0-9]+.[0-9]+" - "[0-9]+.[0-9]+.[0-9]+" permissions: contents: write jobs: release: runs-on: ubuntu-24.04 outputs: upload_url: ${{ steps.get_upload_url.outputs.upload_url }} steps: - uses: actions/checkout@v4 - name: Create github release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} tag: ${{ github.ref_name }} run: | gh release create "$tag" --generate-notes --draft - id: get_upload_url name: Get upload url of Github release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} tag: ${{ github.ref_name }} run: | upload_url=$(gh release view "$tag" --json uploadUrl -q ".uploadUrl") echo "upload_url=$upload_url" >> "$GITHUB_OUTPUT" docker: if: github.repository == 'lnbits/lnbits' needs: [ release ] uses: ./.github/workflows/docker.yml with: tag: ${{ github.ref_name }} secrets: DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} docker-latest: if: github.repository == 'lnbits/lnbits' needs: [ release ] uses: ./.github/workflows/docker.yml with: tag: latest secrets: DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} pypi: if: github.repository == 'lnbits/lnbits' runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - name: Set up Python 3.10 uses: actions/setup-python@v5 with: python-version: "3.10" - name: Install uv uses: astral-sh/setup-uv@v6 - name: Build the project run: uv build - name: Publish to pypi env: UV_PUBLISH_TOKEN: ${{ secrets.PYPI_API_KEY }} run: uv publish appimage: needs: [ release ] uses: ./.github/workflows/appimage.yml with: tag_name: ${{ github.ref_name }} upload_url: ${{ needs.release.outputs.upload_url }}