name: build on: push: branches: - main pull_request: branches: - main release: types: - created workflow_dispatch: jobs: build-fw-hw-sw: runs-on: ubuntu-latest steps: - name: Git checkout uses: actions/checkout@v3 - name: Build script run: ./docker_build.sh release --force-clean - name: Upload artifact uses: actions/upload-artifact@v3 with: name: SC64 path: SC64.zip - name: Upload release assets if: github.event_name == 'release' && github.event.action == 'created' uses: softprops/action-gh-release@v0.1.15 with: files: SC64.zip build-apps: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] include: - os: windows-latest name: Apps-Windows zip: tar.exe -a -c -f - os: ubuntu-latest name: Apps-Linux zip: zip -r - os: macos-latest name: Apps-macOS zip: zip -r runs-on: ${{ matrix.os }} steps: - name: Git checkout uses: actions/checkout@v3 - name: Setup python uses: actions/setup-python@v4 with: python-version: 3.11 - name: Install python requirements run: pip install -r requirements.txt pyinstaller working-directory: sw/pc - name: Create sc64 executable run: pyinstaller --onefile sc64.py working-directory: sw/pc - name: Create primer executable run: pyinstaller --onefile primer.py working-directory: sw/pc - name: Upload artifact uses: actions/upload-artifact@v3 with: name: ${{ matrix.name }} path: sw/pc/dist/* - name: Zip release executables if: github.event_name == 'release' && github.event.action == 'created' run: ${{ matrix.zip }} ${{ matrix.name }}.zip * working-directory: sw/pc/dist - name: Upload release assets if: github.event_name == 'release' && github.event.action == 'created' uses: softprops/action-gh-release@v0.1.15 with: files: sw/pc/dist/${{ matrix.name }}.zip