Merge pull request #1776 from infogulch/master

Add iso prolog / logtalk tests to test runner
This commit is contained in:
Mark Thom
2023-04-07 06:09:08 +02:00
committed by GitHub

View File

@@ -8,7 +8,7 @@ jobs:
matrix:
include:
- { os: windows-latest, rust-version: stable, shell: 'msys2 {0}' }
- { os: macos-10.15, rust-version: stable, shell: bash }
- { os: macos-11, rust-version: stable, shell: bash }
- { os: ubuntu-20.04, rust-version: stable, shell: bash }
- { os: ubuntu-20.04, rust-version: 1.63, shell: bash }
- { os: ubuntu-20.04, rust-version: beta, shell: bash }
@@ -16,9 +16,6 @@ jobs:
defaults:
run:
shell: ${{ matrix.shell }}
outputs:
os: ${{ matrix.os }}
rust-version: ${{ matrix.rust-version }}
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@master
@@ -50,13 +47,13 @@ jobs:
- name: Test
run: cargo test --verbose --all
# Only run formatting & style check on one job to not spam warnings.
# Run code formatting and style checks on one job to not spam warnings.
- name: Check formatting
if: startsWith(matrix.os,'ubuntu') && matrix.rust-version == 'stable'
run: cargo fmt --check || echo "::warning ::cargo fmt found some formatting changes that may improve readability"
- name: Check clippy
if: startsWith(matrix.os,'ubuntu') && matrix.rust-version == 'stable'
run: cargo clippy || echo "::warning ::cargo clippy found some code style changes that may be more idiomatic"
run: cargo clippy --no-deps || echo "::warning ::cargo clippy found some code style changes that may be more idiomatic"
# On stable rust builds, build a binary and publish as a github actions
# artifact. These binaries could be useful for testing the pipeline but
@@ -64,10 +61,27 @@ jobs:
# TODO: Check that they actually work.
- name: Build release binary
if: matrix.rust-version == 'stable'
run: cargo rustc --verbose --bin scryer-prolog --release -- -D warnings
run: |
cargo rustc --verbose --bin scryer-prolog --release -- -D warnings
echo "$PWD/target/release" >> $GITHUB_PATH
- name: Publish artifact
if: matrix.rust-version == 'stable'
uses: actions/upload-artifact@v3
with:
path: target/release/scryer-prolog*
name: scryer-prolog_${{ matrix.os }}
# Run iso compliance tests.
- name: Install Logtalk
if: startsWith(matrix.os,'ubuntu') && matrix.rust-version == 'stable'
uses: logtalk-actions/setup-logtalk@master
with:
logtalk-version: git
logtalk-tool-dependencies: false
- name: Run compliance test suite
if: startsWith(matrix.os,'ubuntu') && matrix.rust-version == 'stable'
continue-on-error: true
working-directory: /home/runner/logtalk/tests/prolog
run: |
scryer-prolog -v
logtalk_tester -p scryer -g "set_logtalk_flag(clean,off)" -w -t 360