| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- name: Build and Publish FAP to Release
- on:
- workflow_dispatch:
- jobs:
- build-and-publish:
- name: Build and Publish FAP to Latest Release
- runs-on: ubuntu-latest
- steps:
- - name: Checkout Repository
- uses: actions/checkout@v3
- - name: Set up Python
- uses: actions/setup-python@v4
- with:
- python-version: '3.x'
- - name: Install UFBT
- run: |
- python3 -m pip install --upgrade pip
- pip install ufbt
- - name: Initialize UFBT Environment
- run: |
- ufbt update
- ufbt vscode_dist
- - name: Build FAP Applications
- run: ufbt faps
- - name: Archive Build Outputs
- run: tar -czf build-output.tar.gz build/
- - name: Get Latest Release Info
- id: get-release
- uses: octokit/request-action@v2
- with:
- route: GET /repos/${{ github.repository }}/releases/latest
- continue-on-error: true
- - name: Create a New Release (if latest does not exist)
- if: steps.get-release.outputs.status == '404'
- id: create-release
- uses: actions/create-release@v1
- with:
- tag_name: latest
- release_name: Latest Release
- draft: false
- prerelease: false
- generate_release_notes: true
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- - name: Upload Build Artifacts to Release
- uses: actions/upload-release-asset@v1
- with:
- upload_url: ${{ steps.get-release.outputs.data.html_url || steps.create-release.outputs.upload_url }}
- asset_path: build-output.tar.gz
- asset_name: build-output.tar.gz
- asset_content_type: application/gzip
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|