diff --git a/.github/workflows/CICD.yml b/.github/workflows/CICD.yml index f7039d1..d7a443c 100644 --- a/.github/workflows/CICD.yml +++ b/.github/workflows/CICD.yml @@ -231,55 +231,56 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - coverage: - name: Code Coverage - runs-on: ${{ matrix.job.os }} - strategy: - fail-fast: true - matrix: - # job: [ { os: ubuntu-latest }, { os: macos-latest }, { os: windows-latest } ] - job: [ { os: ubuntu-latest } ] ## cargo-tarpaulin is currently only available on linux - steps: - - uses: actions/checkout@v1 - # - name: Reattach HEAD ## may be needed for accurate code coverage info - # run: git checkout ${{ github.head_ref }} - - name: Initialize workflow variables - id: vars - shell: bash - run: | - # staging directory - STAGING='_staging' - echo set-output name=STAGING::${STAGING} - echo ::set-output name=STAGING::${STAGING} - # check for CODECOV_TOKEN availability (work-around for inaccessible 'secrets' object for 'if'; see ) - unset HAS_CODECOV_TOKEN - if [ -n $CODECOV_TOKEN ]; then HAS_CODECOV_TOKEN='true' ; fi - echo set-output name=HAS_CODECOV_TOKEN::${HAS_CODECOV_TOKEN} - echo ::set-output name=HAS_CODECOV_TOKEN::${HAS_CODECOV_TOKEN} - env: - CODECOV_TOKEN: "${{ secrets.CODECOV_TOKEN }}" - - name: Create all needed build/work directories - shell: bash - run: | - mkdir -p '${{ steps.vars.outputs.STAGING }}/work' - - name: Install required packages - run: | - sudo apt-get -y install libssl-dev - pushd '${{ steps.vars.outputs.STAGING }}/work' >/dev/null - wget --no-verbose https://github.com/xd009642/tarpaulin/releases/download/0.9.3/cargo-tarpaulin-0.9.3-travis.tar.gz - tar xf cargo-tarpaulin-0.9.3-travis.tar.gz - cp cargo-tarpaulin "$(dirname -- "$(which cargo)")"/ - popd >/dev/null - - name: Generate coverage - run: | - cargo tarpaulin --out Xml - - name: Upload coverage results (CodeCov.io) - # CODECOV_TOKEN (aka, "Repository Upload Token" for REPO from CodeCov.io) ## set via REPO/Settings/Secrets - # if: secrets.CODECOV_TOKEN (not supported {yet?}; see ) - if: steps.vars.outputs.HAS_CODECOV_TOKEN - run: | - # CodeCov.io - cargo tarpaulin --out Xml - bash <(curl -s https://codecov.io/bash) - env: - CODECOV_TOKEN: "${{ secrets.CODECOV_TOKEN }}" + ## fix! [rivy; 2020-22-01] `cargo tarpaulin` is unable to test this repo at the moment; alternate recipe or another testing framework? + # coverage: + # name: Code Coverage + # runs-on: ${{ matrix.job.os }} + # strategy: + # fail-fast: true + # matrix: + # # job: [ { os: ubuntu-latest }, { os: macos-latest }, { os: windows-latest } ] + # job: [ { os: ubuntu-latest } ] ## cargo-tarpaulin is currently only available on linux + # steps: + # - uses: actions/checkout@v1 + # # - name: Reattach HEAD ## may be needed for accurate code coverage info + # # run: git checkout ${{ github.head_ref }} + # - name: Initialize workflow variables + # id: vars + # shell: bash + # run: | + # # staging directory + # STAGING='_staging' + # echo set-output name=STAGING::${STAGING} + # echo ::set-output name=STAGING::${STAGING} + # # check for CODECOV_TOKEN availability (work-around for inaccessible 'secrets' object for 'if'; see ) + # unset HAS_CODECOV_TOKEN + # if [ -n $CODECOV_TOKEN ]; then HAS_CODECOV_TOKEN='true' ; fi + # echo set-output name=HAS_CODECOV_TOKEN::${HAS_CODECOV_TOKEN} + # echo ::set-output name=HAS_CODECOV_TOKEN::${HAS_CODECOV_TOKEN} + # env: + # CODECOV_TOKEN: "${{ secrets.CODECOV_TOKEN }}" + # - name: Create all needed build/work directories + # shell: bash + # run: | + # mkdir -p '${{ steps.vars.outputs.STAGING }}/work' + # - name: Install required packages + # run: | + # sudo apt-get -y install libssl-dev + # pushd '${{ steps.vars.outputs.STAGING }}/work' >/dev/null + # wget --no-verbose https://github.com/xd009642/tarpaulin/releases/download/0.9.3/cargo-tarpaulin-0.9.3-travis.tar.gz + # tar xf cargo-tarpaulin-0.9.3-travis.tar.gz + # cp cargo-tarpaulin "$(dirname -- "$(which cargo)")"/ + # popd >/dev/null + # - name: Generate coverage + # run: | + # cargo tarpaulin --out Xml + # - name: Upload coverage results (CodeCov.io) + # # CODECOV_TOKEN (aka, "Repository Upload Token" for REPO from CodeCov.io) ## set via REPO/Settings/Secrets + # # if: secrets.CODECOV_TOKEN (not supported {yet?}; see ) + # if: steps.vars.outputs.HAS_CODECOV_TOKEN + # run: | + # # CodeCov.io + # cargo tarpaulin --out Xml + # bash <(curl -s https://codecov.io/bash) + # env: + # CODECOV_TOKEN: "${{ secrets.CODECOV_TOKEN }}"