Skip to content
Snippets Groups Projects
build-gluon.yml 1.52 KiB
Newer Older
  • Learn to ignore specific revisions
  • David Bauer's avatar
    David Bauer committed
    name: Build Gluon
    on:
      push:
    
        branches:
          - master
    
    David Bauer's avatar
    David Bauer committed
      pull_request:
        types: [opened, synchronize, reopened]
    
    permissions:
      contents: read
    
    
    David Bauer's avatar
    David Bauer committed
    jobs:
    
        permissions:
          contents: read  # for dorny/paths-filter to fetch a list of changed files
          pull-requests: read  # for dorny/paths-filter to read pull requests
    
        runs-on: ubuntu-latest
        outputs:
          targets: ${{ steps.filter.outputs.changes }}
        steps:
    
          - uses: actions/checkout@v4
    
    
          # Filter targets based on changed files
          - uses: dorny/paths-filter@v2
            id: filter
            with:
              filters: .github/filters.yml
    
    
      build_firmware:
    
        needs: changed
    
        if: ${{ needs.changed.outputs.targets != '[]' && needs.changed.outputs.targets != '' }}
    
        strategy:
          fail-fast: false
          matrix:
    
            # Read back changed targets to create build matrix
    
            target: ${{ fromJSON(needs.changed.outputs.targets) }}
    
        runs-on: ubuntu-latest
    
    David Bauer's avatar
    David Bauer committed
        steps:
    
          - uses: actions/checkout@v4
    
          - name: Install Dependencies
    
            run: sudo contrib/actions/install-dependencies.sh
    
    David Bauer's avatar
    David Bauer committed
          - name: Build
    
            run: contrib/actions/run-build.sh ${{ matrix.target }}
    
          - name: Archive build logs
            if: ${{ !cancelled() }}
    
            uses: actions/upload-artifact@v3
    
              name: ${{ matrix.target }}_logs
    
    David Bauer's avatar
    David Bauer committed
          - name: Archive build output
    
            uses: actions/upload-artifact@v3
    
    David Bauer's avatar
    David Bauer committed
            with:
    
              name: ${{ matrix.target }}_output
    
    David Bauer's avatar
    David Bauer committed
              path: output