name: CI on: [push, pull_request] jobs: build: strategy: fail-fast: false matrix: lua_ver: ['5.1', '5.3'] numbers: ['default', 'alternate'] target: ['esp32', 'esp32s2', 'esp32s3', 'esp32c3'] runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: submodules: recursive - name: Prepare cache key run: git rev-parse HEAD:sdk/esp32-esp-idf > idf.rev shell: bash - name: Cache Espressif tools uses: actions/cache@v2 with: path: ~/.espressif key: ${{ runner.os }}-espressif-tools-${{ hashFiles('idf.rev') }} - name: Install dependencies run: ./install.sh shell: bash - name: Build firmware (default configuration) if: ${{ matrix.numbers == 'default' }} run: | cp sdkconfig.defaults sdkconfig make IDF_TARGET=${{ matrix.target }} shell: bash - name: Build firmware (Lua 5.1, integer-only) if: ${{ matrix.lua_ver == '5.1' && matrix.numbers == 'alternate' }} run: | cp sdkconfig.defaults sdkconfig echo CONFIG_LUA_NUMBER_INTEGRAL=y >> sdkconfig make IDF_TARGET=${{ matrix.target }} shell: bash - name: Build firmware (Lua 5.3, 64bit int/double) if: ${{ matrix.lua_ver == '5.3' && matrix.numbers == 'alternate' }} run: | cp sdkconfig.defaults sdkconfig echo CONFIG_LUA_NUMBER_INT64=y >> sdkconfig echo CONFIG_LUA_NUMBER_DOUBLE=y >> sdkconfig make IDF_TARGET=${{ matrix.target }} shell: bash - name: Upload luac.cross uses: actions/upload-artifact@v2 if: ${{ success() }} with: name: luac.cross-${{ matrix.lua_ver }}-${{ matrix.numbers }}-${{ matrix.target }} path: build/luac_cross/luac.cross