diff --git a/.github/workflows/main.yml b/.github/workflows/analysis.yml similarity index 80% rename from .github/workflows/main.yml rename to .github/workflows/analysis.yml index 4a13cca..cf0c236 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/analysis.yml @@ -16,11 +16,11 @@ jobs: SONAR_SERVER_URL: "https://sonarcloud.io" BUILD_WRAPPER_OUT_DIR: build_wrapper_output_directory # Directory where build-wrapper output will be placed SONAR_CACHE_DIR: sonar_cache - environment: deploy + environment: Analysis strategy: fail-fast: false matrix: - node: [feedc0de, comred, peter, mick, allfeatures, nofeatures] + node: [allfeatures] steps: - name: Checkout (without submodules) @@ -87,20 +87,3 @@ jobs: SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} run: | sonar-scanner --define sonar.host.url="${{ env.SONAR_SERVER_URL }}" --define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}" --define sonar.cfamily.cache.path="${{ env.SONAR_CACHE_DIR }}" - - - name: Set outputs - id: vars - run: | - echo "::set-output name=sha_short::$(git rev-parse --short HEAD)" - echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})" - - - name: Upload Build Artifact - uses: actions/upload-artifact@v2.2.4 - with: - name: bobbyquad_${{ matrix.node }} - path: | - build_${{ matrix.node }}/bobbyquad_${{ matrix.node }}.bin - build_${{ matrix.node }}/bobbyquad_${{ matrix.node }}.elf - build_${{ matrix.node }}/bootloader/bootloader.bin - build_${{ matrix.node }}/bootloader/bootloader.elf - build_${{ matrix.node }}/partition_table/partition-table.bin diff --git a/.github/workflows/userconfigs.yml b/.github/workflows/userconfigs.yml new file mode 100644 index 0000000..bc8d10f --- /dev/null +++ b/.github/workflows/userconfigs.yml @@ -0,0 +1,70 @@ +name: Build +on: + push: + release: + types: + - created + +jobs: + build: + name: "config_name" + runs-on: ubuntu-latest + environment: Userconfigs + strategy: + fail-fast: false + matrix: + node: [feedc0de, comred, peter, mick, allfeatures, nofeatures] + steps: + + - name: Checkout (without submodules) + uses: actions/checkout@v2 + with: + fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis + + - name: Checkout and install esp-idf + uses: 0xFEEDC0DE64/checkout_install_esp_idf@main + + - name: Fast Submodule Checkout components/arduino-esp32 + uses: 0xFEEDC0DE64/fast_submodule_checkout@main + with: + submodule: components/arduino-esp32 + + - name: Checkout remaining submodules + run: git submodule update --init --recursive $(git submodule | awk '{ if ($2 != "esp-idf" && $2 != "components/arduino-esp32") print $2 }') + + - name: Setup ccache + uses: 0xFEEDC0DE64/setup_ccache@main + with: + key: ${{ runner.os }}-ccache-${{ matrix.node }} + + + - name: Build firmware + run: | + export CCACHE_MAXSIZE=400M CCACHE_BASEDIR="$(pwd)" + . export.sh + ./switchconf.sh ${{ matrix.node }} + build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} idf.py --ccache build + ccache -s + + - name: Cache sonar + uses: 0xFEEDC0DE64/cache-with-update@update-cache-on-cachehit + with: + path: ${{ env.SONAR_SERVER_URL }} + key: ${{ runner.os }}-sonar-${{ matrix.node }} + + - name: Set outputs + id: vars + run: | + echo "::set-output name=sha_short::$(git rev-parse --short HEAD)" + echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})" + + - name: Upload Build Artifact + uses: actions/upload-artifact@v2.2.4 + with: + name: bobbyquad_${{ matrix.node }} + path: | + build_${{ matrix.node }}/bobbyquad_${{ matrix.node }}.bin + build_${{ matrix.node }}/bobbyquad_${{ matrix.node }}.elf + build_${{ matrix.node }}/bootloader/bootloader.bin + build_${{ matrix.node }}/bootloader/bootloader.elf + build_${{ matrix.node }}/partition_table/partition-table.bin