From 5ad56e416b76b5ffc328cfeb854ec439771ab175 Mon Sep 17 00:00:00 2001 From: Martin Schulze Date: Fri, 13 Sep 2024 16:47:09 +0200 Subject: [PATCH] DEBUG: remove irrelevant tests --- .github/workflows/tests.yml | 332 +----------------------------------- 1 file changed, 1 insertion(+), 331 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 44890d802e..687e2e32c3 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -7,196 +7,6 @@ permissions: contents: read jobs: - changelog: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - name: Check that PR is mentioned in Changelog - run: | - if ! ./.github/workflows/check_pr_label.sh "${{github.event.pull_request.number}}" "no changelog"; then - grep "#${{github.event.pull_request.number}}" docs/CHANGELOG.md - fi - if: ${{github.event.pull_request}} - - shfmt: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - run: | - curl https://github.com/mvdan/sh/releases/download/v3.5.1/shfmt_v3.5.1_linux_amd64 -o shfmt - chmod a+x shfmt - - run: ./shfmt --diff . - - # Ensure we detect when a change disables Bats from reporting failure. - # This would not be detectable by Bats' selftests. - failsafe: - runs-on: ubuntu-22.04 - steps: - - uses: actions/checkout@v4 - - name: Check failing tests fail suite, - run: "! bin/bats test/fixtures/bats/failing.bats" - - shellcheck: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - name: Run shellcheck - run: | - sudo apt-get update -y - sudo apt-get install shellcheck - ./shellcheck.sh - - linux: - strategy: - matrix: - os: ['ubuntu-20.04', 'ubuntu-22.04'] - env_vars: - - '' - # allow for some parallelity without GNU parallel, since it is not installed by default - - 'BATS_NO_PARALLELIZE_ACROSS_FILES=1 BATS_NUMBER_OF_PARALLEL_JOBS=2' - - 'BATS_PARALLEL_BINARY_NAME=rush' - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - name: Install rush - run: | - curl -sSfL https://github.com/shenwei356/rush/releases/download/v0.5.0/rush_linux_amd64.tar.gz | sudo tar xzf - -C /usr/local/bin - if: contains(matrix.env_vars, 'rush') - - name: Run test on OS ${{ matrix.os }} - shell: 'script -q -e -c "bash {0}"' # work around tty issues - env: - TERM: linux # fix tput for tty issue work around - run: | - bash --version - bash -c "time ${{ matrix.env_vars }} bin/bats --print-output-on-failure --formatter tap test" - - unset_variables: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - name: Check unset variables - shell: 'script -q -e -c "bash {0}"' # work around tty issues - env: - TERM: linux # fix tput for tty issue work around - BASH_ENV: ${GITHUB_WORKSPACE}/.github/workflows/set_nounset.bash - run: bin/bats test --print-output-on-failure - - npm_on_linux: - strategy: - matrix: - os: ['ubuntu-20.04', 'ubuntu-22.04'] - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 - with: - node-version: v18.20.2 - - run: npm pack ./ - - run: npm install -g ./bats-*.tgz - - name: Run test on OS ${{ matrix.os }} - shell: 'script -q -e -c "bash {0}"' # work around tty issues - env: - TERM: linux # fix tput for tty issue work around - run: bats test --print-output-on-failure - - windows: - runs-on: windows-2019 - steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - name: Check failing tests fail suite, - run: bash -c "! bin/bats test/fixtures/bats/failing.bats" - - run: | - bash --version - bash -c "time bin/bats --print-output-on-failure --formatter tap test" - - npm_on_windows: - strategy: - matrix: - os: ['windows-2019'] - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 - with: - node-version: v18.20.2 - - run: npm pack ./ - - run: npm install -g (get-item .\bats-*.tgz).FullName - - run: bats -T --print-output-on-failure test - - macos: - strategy: - matrix: - os: ['macos-12', 'macos-13'] - env_vars: - - '' - # allow for some parallelity without GNU parallel, since it is not installed by default - - 'BATS_NO_PARALLELIZE_ACROSS_FILES=1 BATS_NUMBER_OF_PARALLEL_JOBS=2' - - 'BATS_PARALLEL_BINARY_NAME=rush' - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - name: Install unbuffer via expect - run: brew install expect - - name: Install rush - run: | - curl -sSfL https://github.com/shenwei356/rush/releases/download/v0.5.0/rush_darwin_amd64.tar.gz | sudo tar xzf - -C /usr/local/bin - if: contains(matrix.env_vars, 'rush') - - - name: Check failing tests fail suite, - shell: 'unbuffer bash {0}' # work around tty issues - env: - TERM: linux # fix tput for tty issue work around - run: bash -c '! bin/bats test/fixtures/bats/failing.bats' - - - name: Run test on OS ${{ matrix.os }} - shell: 'unbuffer bash {0}' # work around tty issues - env: - TERM: linux # fix tput for tty issue work around - run: | - bash --version - bash -c "time ${{ matrix.env_vars }} bin/bats --print-output-on-failure --formatter tap test" - - npm_on_macos: - strategy: - matrix: - os: ['macos-12', 'macos-13'] - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 - with: - node-version: v18.20.2 - - name: Install unbuffer via expect - run: brew install expect - - name: Run test on OS ${{ matrix.os }} - shell: 'unbuffer bash {0}' # work around tty issues - env: - TERM: linux # fix tput for tty issue work around - run: | - npm pack ./ - # somehow there is already an installed bats version around - npm install --force -g ./bats-*.tgz - bats --print-output-on-failure test - - bash-version: - strategy: - matrix: - version: ['3.2', '4.0', '4.1', '4.2', '4.3', '4.4', '4', '5.0', '5.1', '5', 'rc'] - env_vars: - - '' - # also test running (recursively!) in parallel - - '-e BATS_NUMBER_OF_PARALLEL_JOBS=2' - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - name: Run test on bash version ${{ matrix.version }} - shell: 'script -q -e -c "bash {0}"' # work around tty issues - run: | - set -e - docker build --build-arg bashver="${{ matrix.version }}" --tag "bats/bats:bash-${{ matrix.version }}" . - docker run -it "bash:${{ matrix.version }}" --version - time docker run -it ${{ matrix.env_vars }} "bats/bats:bash-${{ matrix.version }}" --print-output-on-failure --tap /opt/bats/test - lib64-install: runs-on: ubuntu-latest steps: @@ -215,144 +25,4 @@ jobs: if: always() with: files: | - test-results/**/*.xml - - alpine: - runs-on: ubuntu-latest - container: alpine:latest - steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - name: Install dependencies - run: apk add bash ncurses util-linux - - name: Run test on bash version ${{ matrix.version }} - shell: 'script -q -e -c "bash {0}"' # work around tty issues - env: - TERM: linux # fix tput for tty issue work around - run: - time ./bin/bats --print-output-on-failure test/ - - freebsd: - runs-on: ubuntu-latest - strategy: - matrix: - packages: - - flock - - "" - steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - uses: vmactions/freebsd-vm@f8be330398166d1eb0601f01353839d4052367b2 # v1.0.7 - with: - prepare: pkg install -y bash parallel ${{ matrix.packages }} - run: | - time ./bin/bats --print-output-on-failure test/ - - find_broken_symlinks: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - # list symlinks that are broken and force non-zero exit if there are any - - run: "! find . -xtype l | grep ." - - rpm: - runs-on: ubuntu-latest - container: almalinux:8 - steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - run: dnf install -y rpm-build rpmdevtools - - name: Build and install RPM and dependencies - run: | - rpmdev-setuptree - version=$(rpmspec -q --qf '%{version}' contrib/rpm/bats.spec) - tar --transform "s,^,bats-core-${version}/," -cf /github/home/rpmbuild/SOURCES/v${version}.tar.gz ./ - rpmbuild -v -bb ./contrib/rpm/bats.spec - ls -al /github/home/rpmbuild/RPMS/noarch/ - dnf install -y /github/home/rpmbuild/RPMS/noarch/bats-*.rpm - dnf -y install procps-ng # avoid timeout failure - - name: Run tests - shell: 'script -q -e -c "bash {0}"' # work around tty issues - env: - TERM: linux # fix tput for tty issue work around - run: bats --print-output-on-failure --filter-tags !dep:install_sh test/ - - dockerfile: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - - name: Set up Docker Buildx - id: buildx - uses: docker/setup-buildx-action@d70bba72b1f3fd22344832f00baa16ece964efeb # v3.3.0 - - - uses: docker/build-push-action@2cdde995de11925a030ce8070c3d77a52ffcf1c0 # v5.3.0 - with: - platforms: linux/amd64 - tags: bats:test - load: true - - - run: docker run -itv "$PWD":/code bats:test --tap --print-output-on-failure test/ - shell: 'script -q -e -c "bash {0}"' # work around tty issues - env: - TERM: linux # fix tput for tty issue work around - - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - with: - repository: bats-core/bats-assert - path: bats-assert - - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - with: - repository: bats-core/bats-support - path: bats-support - - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - with: - repository: bats-core/bats-file - path: bats-file - - - run: | - <test.sh - apk add sudo python3 # install bats-file's dependencies - ln -sf python3 /usr/bin/python # bats-file uses python without version - bats --tap --print-output-on-failure bats-*/test/ - EOF - docker run -itv "$PWD":/code --entrypoint bash bats:test test.sh - shell: 'script -q -e -c "bash {0}"' # work around tty issues - env: - TERM: linux # fix tput for tty issue work around - - coverage: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - run: | - wget https://github.com/SimonKagstrom/kcov/releases/download/v40/kcov-amd64.tar.gz - tar -xf kcov-amd64.tar.gz - - run: | - ./usr/local/bin/kcov --exclude-path=/tmp $PWD/coverage ./bin/bats --filter-tags '!no-kcov' test/ - shell: 'script -q -e -c "bash {0}"' # work around tty issues - env: - TERM: linux # fix tput for tty issue work around - - - name: Archive code coverage results - uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 - with: - name: code-coverage-report - path: coverage/* - - - name: Print the Total Coverage - id: coverage-percent - shell: bash - env: - minimum_coverage: 86.40 - run: | - value=$(jq '.percent_covered' - int=${1%.*} - decimals=${1#*.} - echo $int${decimals::2} - } - echo "Coverage: $value%" | tee "$GITHUB_STEP_SUMMARY" - if (( $(fixed_point $value) < $(fixed_point $expected) )); then - echo " is below required minimum coverage ($minimum_coverage%)." | tee -a "$GITHUB_STEP_SUMMARY" - exit 1 - fi + test-results/**/*.xml \ No newline at end of file