aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/.github/actions
diff options
context:
space:
mode:
authorEgor Tensin <Egor.Tensin@gmail.com>2021-07-05 10:39:48 +0300
committerEgor Tensin <Egor.Tensin@gmail.com>2021-07-05 10:52:14 +0300
commit5ba7fecc2c1e6d2a47c7140565b7c06923367c5e (patch)
treef8fe6631439089dfc6a7e1a2ad14ce931f698d02 /.github/actions
parentapt-get best scripting practices (diff)
downloadsetup-mingw-5ba7fecc2c1e6d2a47c7140565b7c06923367c5e.tar.gz
setup-mingw-5ba7fecc2c1e6d2a47c7140565b7c06923367c5e.zip
workflows/test: factor out steps & refactoring
Diffstat (limited to '')
-rw-r--r--.github/actions/check-cc-cygwin/action.yml26
-rw-r--r--.github/actions/check-cc/action.yml25
-rw-r--r--.github/actions/run-foo/action.yml26
3 files changed, 77 insertions, 0 deletions
diff --git a/.github/actions/check-cc-cygwin/action.yml b/.github/actions/check-cc-cygwin/action.yml
new file mode 100644
index 0000000..042709f
--- /dev/null
+++ b/.github/actions/check-cc-cygwin/action.yml
@@ -0,0 +1,26 @@
+name: Check cc/c++
+description: Check cc/c++ (on Cygwin)
+runs:
+ using: composite
+ steps:
+ - run: |
+ check_tool() {
+ local exe
+ for exe; do
+ full_path="$( command -v "$exe" )"
+ echo "$full_path"
+
+ output="$( "$full_path" --version )"
+ echo "$output"
+
+ # Is this really the most stable piece of `gcc --version` output?
+ if ! echo "$output" | grep -F -- "This is free software; see the source for copying conditions."; then
+ echo 'Unexpected `'"$exe"' --version` output.' >&2
+ exit 1
+ fi
+ done
+ }
+
+ check_tool cc
+ check_tool c++
+ shell: C:\tools\cygwin\bin\bash.exe --login --norc -eo pipefail -o igncr '{0}'
diff --git a/.github/actions/check-cc/action.yml b/.github/actions/check-cc/action.yml
new file mode 100644
index 0000000..5a6daa8
--- /dev/null
+++ b/.github/actions/check-cc/action.yml
@@ -0,0 +1,25 @@
+name: Check cc/c++
+description: Check cc/c++
+runs:
+ using: composite
+ steps:
+ - run: |
+ $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")
+ }
+
+ Check-Exe cc
+ Check-Exe c++
+ shell: pwsh
diff --git a/.github/actions/run-foo/action.yml b/.github/actions/run-foo/action.yml
new file mode 100644
index 0000000..3167545
--- /dev/null
+++ b/.github/actions/run-foo/action.yml
@@ -0,0 +1,26 @@
+name: Run foo.exe
+description: Run foo.exe and verify its output
+runs:
+ using: composite
+ steps:
+ - run: |
+ $expected = @"
+ Doing something #1
+ Doing something #2
+ Doing something #3
+ "@
+
+ $actual = & (Join-Path . foo)
+ $actual = $actual -join [Environment]::NewLine
+
+ echo @"
+ Expected output:
+ $expected
+ "@
+ echo @"
+ Actual output:
+ $actual
+ "@
+
+ $($actual -eq $expected) -or $(throw "Unexpected output!")
+ shell: pwsh