summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/cygwin.yml60
1 files changed, 60 insertions, 0 deletions
diff --git a/.github/workflows/cygwin.yml b/.github/workflows/cygwin.yml
new file mode 100644
index 0000000000..459f42c888
--- /dev/null
+++ b/.github/workflows/cygwin.yml
@@ -0,0 +1,60 @@
+name: Cygwin
+on:
+ push:
+ branches:
+ - master
+ - github-actions-workflows-cygwin
+ pull_request:
+ branches:
+ - '*'
+jobs:
+ make:
+ strategy:
+ matrix:
+ test_task: [test]
+ os: [windows-2019]
+ vs: [2019]
+ fail-fast: false
+ runs-on: ${{ matrix.os }}
+ if: "!contains(github.event.head_commit.message, '[ci skip]')"
+ steps:
+ - uses: actions/cache@v1
+ with:
+ path: C:\Users\runneradmin\AppData\Local\Temp\chocolatey
+ key: ${{ runner.os }}-chocolatey-${{ matrix.os }}-${{ github.sha }}
+ restore-keys: |
+ ${{ runner.os }}-chocolatey-${{ matrix.os }}-
+ ${{ runner.os }}-chocolatey-
+ - name: Install cygwin base packages with chocolatey
+ run: |
+ choco config get cacheLocation
+ choco install --no-progress cygwin
+ - name: Install cygwin additional packages
+ run: |
+ C:\tools\cygwin\cygwinsetup.exe -qgnNdO -R C:/tools/cygwin -s http://mirrors.kernel.org/sourceware/cygwin/ -P autoconf,bison,gcc-core,git,libcrypt-devel,libedit-devel,libffi-devel,libgdbm-devel,libgmp-devel,libintl-devel,libncurses-devel,libreadline-devel,libssl-devel,libuuid-devel,make,patch,ruby,tcl-tk-devel,zlib-devel
+ shell: cmd
+ # Not using official actions/checkout because it's unstable and sometimes doesn't work for a fork.
+ - name: Checkout ruby/ruby
+ run: |
+ path C:\tools\cygwin\bin;C:\tools\cygwin\usr\bin
+ git.exe clone -b github-actions-workflows-cygwin --single-branch --shallow-since=yesterday https://github.com/${{ github.repository }} src
+ git.exe -C src reset --hard ${{ github.sha }}
+ if: github.event_name == 'push'
+ shell: cmd
+ - name: Checkout a pull request
+ run: |
+ path C:\tools\cygwin\bin;C:\tools\cygwin\usr\bin
+ git.exe clone --single-branch --shallow-since=yesterday --branch=${{ github.event.pull_request.head.ref }} https://github.com/${{ github.event.pull_request.head.repo.full_name }} src
+ git.exe -C src reset --hard ${{ github.event.pull_request.head.sha }}
+ if: github.event_name == 'pull_request'
+ shell: cmd
+ - name: Actions-commit-info.sh
+ run: |
+ path C:\tools\cygwin\bin;C:\tools\cygwin\usr\bin
+ bash.exe -c "./src/tool/actions-commit-info.sh"
+ shell: cmd
+ - name: Autoconf && configure & make & make btest
+ run: |
+ path C:\tools\cygwin\bin;C:\tools\cygwin\usr\bin
+ bash.exe -c "cd src && autoconf && ./configure && make && make btest"
+ shell: cmd