name: Build Addon on: push: tags: - 'v*.*.*' pull_request: branches: [ main, master ] workflow_dispatch: jobs: build: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up PDM uses: pdm-project/setup-pdm@v4 with: python-version: '3.11' - name: Install dependencies run: | pdm sync -d -G build - name: Build addon run: pdm run scons - name: Upload build artifacts if: success() uses: actions/upload-artifact@v4 with: name: packaged_addon path: ./*.nvda-addon upload_release: runs-on: ubuntu-latest if: ${{ startsWith(github.ref, 'refs/tags/') }} needs: build steps: - name: Download releases files uses: actions/download-artifact@v4.1.7 with: name: packaged_addon - name: Display structure of downloaded files run: tree - name: Release uses: softprops/action-gh-release@v1 with: files: ./*.nvda-addon fail_on_unmatched_files: true prerelease: ${{ contains(github.ref, '-') }}