C/C++ CI #140
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: C/C++ CI | |
| on: | |
| create: | |
| tags: | |
| - '*' | |
| jobs: | |
| create_release: | |
| name: Create Release | |
| runs-on: ubuntu-latest | |
| outputs: | |
| upload_url: ${{ steps.create_release.outputs.upload_url }} | |
| steps: | |
| - name: Inject slug/short variables | |
| uses: rlespinasse/github-slug-action@v3.x | |
| - name: Create release | |
| id: create_release | |
| uses: actions/create-release@v1 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| tag_name: ${{ github.ref }} | |
| release_name: ${{env.GITHUB_REF_SLUG}} | |
| body: "Release ${{env.GITHUB_REF_SLUG}} of qNimble verion of BOSSA" | |
| build_release: | |
| name: Publish for ${{ matrix.os }}-${{matrix.arch}} | |
| runs-on: ${{ matrix.os }} | |
| needs: create_release | |
| strategy: | |
| matrix: | |
| include: | |
| - os: ubuntu-latest | |
| artifact_name: bin/bossac | |
| asset_name: qbossac | |
| arch: amd64 | |
| suffix: -linux-amd64 | |
| archive_ext: .tar.bz2 | |
| - os: ubuntu-latest | |
| artifact_name: bin/bossac | |
| asset_name: qbossac | |
| arch: i686 | |
| suffix: -linux-i686 | |
| make_flags: "EXTRA_FLAGS=-m32" | |
| archive_ext: .tar.bz2 | |
| - os: windows-latest | |
| artifact_name: bin/bossac | |
| asset_name: qbossac | |
| arch: i686 | |
| msystem: MINGW32 | |
| suffix: -win32 | |
| ext: .exe | |
| archive_ext: .zip | |
| - os: windows-latest | |
| artifact_name: bin/bossac | |
| asset_name: qbossac | |
| arch: x86_64 | |
| msystem: MINGW64 | |
| suffix: -win64 | |
| archive_ext: .zip | |
| ext: .exe | |
| - os: macos-latest | |
| artifact_name: bin/bossac | |
| asset_name: qbossac | |
| arch: amd64 | |
| suffix: -mac | |
| archive_ext: .tar.bz2 | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: Inject slug/short variables | |
| uses: rlespinasse/github-slug-action@v3.x | |
| - name: get linux multilib | |
| if: ${{matrix.os == 'ubuntu-latest'}} | |
| run: sudo apt-get update; sudo apt-get install gcc-multilib g++-multilib | |
| - name: get msys2 | |
| uses: msys2/setup-msys2@v2 | |
| if: ${{matrix.os == 'windows-latest'}} | |
| with: | |
| msystem: ${{ matrix.msystem }} | |
| install: git zip base-devel binutils mingw-w64-${{ matrix.arch }}-toolchain | |
| release: false | |
| - name: make (win) | |
| if: ${{matrix.os == 'windows-latest'}} | |
| shell: msys2 {0} | |
| run: | | |
| git reset --hard | |
| make bossac | |
| mkdir qbossa-${{env.GITHUB_REF_SLUG}} | |
| cp bin/bossac.exe qbossa-${{env.GITHUB_REF_SLUG}}/qbossac.exe | |
| zip bin/bossac.zip qbossa-${{env.GITHUB_REF_SLUG}}/* | |
| ls qbossa-${{env.GITHUB_REF_SLUG}} | |
| - name: make (not win) | |
| if: ${{matrix.os != 'windows-latest'}} | |
| run: | | |
| #make -n bossac ${{matrix.make_flags}} | |
| make bossac ${{matrix.make_flags}} | |
| mkdir qbossa-${{env.GITHUB_REF_SLUG}} | |
| cp bin/bossac qbossa-${{env.GITHUB_REF_SLUG}}/qbossac | |
| tar -cjf bin/bossac.tar.bz2 qbossa-${{env.GITHUB_REF_SLUG}} | |
| ls qbossa-${{env.GITHUB_REF_SLUG}} | |
| - name: Upload file (Binary) | |
| uses: actions/upload-release-asset@v1 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| upload_url: ${{ needs.create_release.outputs.upload_url }} | |
| asset_path: ${{matrix.artifact_name}}${{matrix.ext}} | |
| asset_name: ${{matrix.asset_name}}-${{env.GITHUB_REF_SLUG}}${{matrix.suffix}}${{matrix.ext}} | |
| asset_content_type: application/octet-stream | |
| - name: Upload file (Archive) | |
| uses: actions/upload-release-asset@v1 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| upload_url: ${{ needs.create_release.outputs.upload_url }} | |
| asset_path: ${{matrix.artifact_name}}${{matrix.archive_ext}} | |
| asset_name: ${{matrix.asset_name}}-${{env.GITHUB_REF_SLUG}}${{matrix.suffix}}${{matrix.archive_ext}} | |
| asset_content_type: application/octet-stream |