name: Build and Release on: workflow_run: workflows: ["Test with Pytest"] types: - completed jobs: build-x86_64: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v5 - name: Set up Python uses: actions/setup-python@v6 with: python-version: '3.14' - name: Install dependencies run: | python -m pip install --upgrade pip pip install -r requirements.txt - name: Build with PyInstaller run: | cd app pyinstaller --onefile --add-data "ui:ui" wolServer.py - name: Upload x86_64 Artifact uses: actions/upload-artifact@v3 with: name: executable-x86_64 path: app/dist/wolServer build-arm: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v5 - name: Install QEMU uses: docker/setup-qemu-action@v3 with: platforms: arm64 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 with: platforms: linux/arm64 - name: Build ARM Executable run: | docker buildx build --platform linux/arm64/v8 -t arm-builder --load --file - . <> $GITEA_ENV - name: Create Release uses: akkuman/gitea-release-action@v1 with: tag_name: "${{ env.TAG }}" target_commitish: main body: "Automated push release" token: ${{ secrets.mytoken }} files: |- app/dist/** cleanup: needs: [release] runs-on: ubuntu-latest steps: - name: Cleanup Buildx Containers run: | docker ps -q --filter "name=buildx" | xargs -r docker stop docker ps -aq --filter "name=buildx" | xargs -r docker rm docker images --filter "reference=moby/buildkit" -q | xargs -r docker rmi docker images --filter "reference=arm-builder" -q | xargs -r docker rmi docker images --filter "reference=multiarch/qemu-user-static" -q | xargs -r docker rmi docker images --filter "reference=tonistiigi/binfmt" -q | xargs -r docker rmi docker volume ls --filter "name=buildx" -q | xargs -r docker volume rm #docker images --filter "reference=gitea/runner-images" -q | xargs -r docker rmi #docker volume ls --filter "name=act" -q | xargs -r docker volume rm