aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--.github/actions/check-cc/action.yml35
-rw-r--r--.github/workflows/test.yml29
2 files changed, 55 insertions, 9 deletions
diff --git a/.github/actions/check-cc/action.yml b/.github/actions/check-cc/action.yml
index d2b98ed..945966f 100644
--- a/.github/actions/check-cc/action.yml
+++ b/.github/actions/check-cc/action.yml
@@ -1,16 +1,33 @@
name: Check cc/c++
description: Check cc/c++
+inputs:
+ version:
+ description: Specific version to check
+ required: false
runs:
using: composite
steps:
- # Is this really the most stable piece of `gcc --version` output?
- run: |
- echo (Get-Command cc).Path
- $cc = & cc --version
- echo $cc
- $($cc | Select-String -Pattern "This is free software; see the source for copying conditions." -SimpleMatch -Quiet) -or $(throw "Unexpected `cc --version` output")
- echo (Get-Command c++).Path
- $cxx = & c++ --version
- echo $cxx
- $($cxx | Select-String -Pattern "This is free software; see the source for copying conditions." -SimpleMatch -Quiet) -or $(throw "Unexpected `c++ --version` output")
+ $version = '${{ inputs.version }}'
+
+ function Check-Exe {
+ param(
+ [Parameter(Mandatory=$true)]
+ [string] $Exe
+ )
+
+ echo (Get-Command $Exe).Path
+ $output = & $Exe --version
+ echo $output
+
+ # Is this really the most stable piece of `gcc --version` output?
+ $($output | Select-String -Pattern "This is free software; see the source for copying conditions." -SimpleMatch -Quiet) -or $(throw "Unexpected `$Exe --version` output")
+
+ if ($script:version) {
+ $($output | Select-String -Pattern "$script:version." -SimpleMatch -Quiet) -or $(throw "Unexpected `$Exe --version` output")
+ }
+ }
+
+ Check-Exe cc
+ Check-Exe c++
shell: pwsh
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 5de83a8..2215272 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -31,6 +31,35 @@ jobs:
- name: Check cc/c++
uses: ./.github/actions/check-cc
+ versions:
+ strategy:
+ matrix:
+ os: [ubuntu-18.04, ubuntu-20.04]
+ version: [4.8, 5, 6, 7, 8, 9, 10, 11]
+ exclude:
+ - {os: ubuntu-20.04, version: 4.8}
+ - {os: ubuntu-20.04, version: 5}
+ - {os: ubuntu-20.04, version: 6}
+ runs-on: '${{ matrix.os }}'
+ name: 'Version: ${{ matrix.os }} / ${{ matrix.version }}'
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ - name: Set up GCC
+ uses: ./
+ with:
+ version: '${{ matrix.version }}'
+ platform: '${{ matrix.platform }}'
+ cc: 1
+ - name: Build foo.exe
+ uses: ./.github/actions/build-foo
+ - name: Run foo.exe
+ uses: ./.github/actions/run-foo
+ - name: Check cc/c++
+ uses: ./.github/actions/check-cc
+ with:
+ version: '${{ matrix.version }}'
+
cygwin:
strategy:
matrix: