name: Build on: push: branches: - master tags: - "v*" pull_request: branches: - master jobs: Build: strategy: matrix: options: # - os: ubuntu-latest # framework: netcoreapp2.1 # runtime: -x64 # codecov: false - os: windows-latest framework: netcoreapp2.1 runtime: -x64 codecov: true - os: windows-latest framework: net472 runtime: -x64 codecov: false - os: windows-latest framework: net472 runtime: -x86 codecov: false runs-on: ${{ matrix.options.os }} steps: - uses: actions/checkout@v1 - name: Install nuget uses: NuGet/setup-nuget@v1 - name: Enable long file paths run: | git config --global core.autocrlf false git config --global core.longpaths true - name: Update Submodules run: git submodule -q update --init --recursive - name: Build shell: pwsh run: | $DebugPreference = "Continue" ./build.ps1 "${{matrix.options.framework}}" - name: Test shell: pwsh run: ./test.ps1 "${{ matrix.options.os }}" "${{matrix.options.framework}}" "${{matrix.options.runtime}}" "${{matrix.options.codecov}}" env: XUNIT_PATH: .\tests\ImageSharp.Tests # Required for xunit - name: Update Codecov uses: iansu/codecov-action-node@v1.0.0 if: matrix.options.cover == true with: token: ${{secrets.CODECOV_TOKEN}} file: "coverage.${{matrix.options.framework}}.xml" flags: unittests # Publish: # runs-on: windows-latest # needs: [Build] # if: github.event_name == 'push' # steps: # - uses: actions/checkout@v1 # - name: install nuget # uses: NuGet/setup-nuget@v1 # - name: Enable long file paths # run: git config --global core.longpaths true # - name: Update submodules # run: git submodule -q update --init --recursive # - name: Build # shell: pwsh # run: | # $DebugPreference = "Continue" # ./build.ps1 # - name: Publish to nightly feed -myget # if: success() # run: nuget.exe push .\artifacts\*.nupkg ${{secrets.MYGET_TOKEN}} -Source https://www.myget.org/F/sixlabors/api/v2/package # TODO: if github.ref starts with 'refs/tags' then it was tag push and we can optionally push out package to nuget.org