Skip to content

debug

debug #177

Workflow file for this run

---
# Lint the code base and launch unit test at each push or pull request
name: Lint and test
on: # yamllint disable-line rule:truthy
push:
# execute when pushing only branches, not tags
branches:
- '**'
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-22.04
strategy:
fail-fast: true
matrix:
vendor:
- alpine
bashTarVersion:
- '5.1'
include:
- vendor: alpine
bashTarVersion: 5.1
bashImage: amd64/bash:5.1-alpine3.18
batsOptions: -j 1
runPrecommitTests: false
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- uses: ouzi-dev/commit-status-updater@v2
with:
name: build bash-tools-${{matrix.vendor}}-${{matrix.bashTarVersion}}
status: pending
# only if pre-commit
- name: Set up Python
if: matrix.runPrecommitTests
uses: actions/setup-python@v4
with:
python-version: 3.9
# Run unit tests
- name: run unit tests
run: |
set -exo pipefail
bin/installRequirements
chmod -R 777 logs
# shellcheck disable=SC2266
USER_ID=1000 \
GROUP_ID=1000 \
vendor/bash-tools-framework/bin/test \
-vvv \
--vendor "${{matrix.vendor}}" \
--bash-version "${{matrix.bashTarVersion}}" \
--bash-base-image "${{matrix.bashImage}}" \
--branch-name "${GITHUB_REF##*/}" \
${{matrix.batsOptions}} --report-formatter junit -o logs -r src --ci -x --print-output-on-failure
- name: Upload Test Results
if: always()
uses: actions/upload-artifact@v3
with:
name: Test Results ${{matrix.vendor}} ${{matrix.bashTarVersion}}
path: logs/report.xml
- uses: ouzi-dev/commit-status-updater@v2
if: always()
with:
name: build bash-tools-${{matrix.vendor}}-${{matrix.bashTarVersion}}
status: ${{ job.status }}
publishTestResults:
name: 'Publish Tests Results'
if: ${{ always() }}
needs: [build]
runs-on: ubuntu-latest
permissions:
checks: write
# needed by ouzi-dev/commit-status-updater@v2
statuses: write
# only needed unless run with comment_mode: off
pull-requests: write
steps:
- name: Download Artifacts
uses: actions/download-artifact@v3
with:
path: artifacts
- name: Checkstyle aggregation
uses: lcollins/[email protected]
with:
path: 'artifacts/**/*.xml'
# run this action to get the workflow conclusion
# You can get the conclusion via env (env.WORKFLOW_CONCLUSION)
- uses: technote-space/workflow-conclusion-action@v3
- uses: ouzi-dev/commit-status-updater@v2
with:
name: build
# neutral, success, skipped, cancelled, timed_out, action_required, failure
status: ${{ env.WORKFLOW_CONCLUSION }}