updated pre-commit hooks to 1.1.4 #162
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
# 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: | |
workflow_dispatch: | |
jobs: | |
linters: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.9 | |
- name: Install pre-commit | |
run: pip install pre-commit | |
- uses: ouzi-dev/commit-status-updater@v2 | |
with: | |
name: lint | |
status: pending | |
- name: Run pre-commit | |
run: pre-commit run -a --hook-stage manual | |
- name: Archive results | |
if: ${{ always() }} | |
continue-on-error: true | |
uses: actions/upload-artifact@v3 | |
with: | |
name: linter-reports | |
path: | | |
megalinter-reports/** | |
- name: Create Pull Request | |
if: ${{ failure() }} | |
uses: peter-evans/create-pull-request@v4 | |
with: | |
branch: update/pre-commit-fixes | |
title: lint fixes | |
commit-message: Auto-update lint fixes | |
body: | | |
some auto fixes have been generated during pre-commit run | |
labels: updates | |
- uses: ouzi-dev/commit-status-updater@v2 | |
if: always() | |
with: | |
name: lint | |
status: ${{ job.status }} | |
tests: | |
needs: linters | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: true | |
matrix: | |
vendor: | |
- ubuntu | |
- alpine | |
bashTarVersion: | |
- '4.4' | |
- '5.0' | |
- '5.1' | |
include: | |
- vendor: ubuntu | |
bashImage: ubuntu:20.04 | |
options: -j 30 | |
- vendor: alpine | |
bashImage: bash | |
options: -j 30 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Login to DockerHub | |
uses: docker/login-action@v2 | |
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 | |
- name: run unit tests | |
run: | | |
set -exo pipefail | |
./bin/installRequirements | |
chmod -R 777 logs | |
# shellcheck disable=SC2266 | |
USER_ID=1000 \ | |
GROUP_ID=1000 \ | |
./bin/test \ | |
-vvv \ | |
--vendor "${{matrix.vendor}}" \ | |
--bash-version "${{matrix.bashTarVersion}}" \ | |
--bash-base-image "${{matrix.bashImage}}" \ | |
--branch-name "${BRANCH}" \ | |
${{matrix.options}} --report-formatter junit -o logs -r src --ci | |
- 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: [linters, tests] | |
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 | |
# run other action with the workflow conclusion | |
- uses: ouzi-dev/commit-status-updater@v2 | |
with: | |
name: build | |
# neutral, success, skipped, cancelled, timed_out, action_required, failure | |
status: ${{ env.WORKFLOW_CONCLUSION }} |