diff options
author | Nicolas R <atoomic@cpan.org> | 2020-05-22 14:02:41 -0600 |
---|---|---|
committer | Todd Rinaldo <toddr@cpan.org> | 2020-06-02 15:21:34 -0500 |
commit | 430c0c0cde387e951d9a61c4878b4e40d7629e62 (patch) | |
tree | 665da484202765537f635ded1bff3ce356fae956 /.github | |
parent | 4fc670e64cd3d5d1c9033cfe5899e8c83b71f9b3 (diff) | |
download | perl-430c0c0cde387e951d9a61c4878b4e40d7629e62.tar.gz |
Merge all workflows as a single testsuite workflow
The existing smoke-* workflows are part of the testsuite.
By merging them together we can link them and add some
conditions to reduce resources usages.
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/smoke-linux-i386.yml | 55 | ||||
-rw-r--r-- | .github/workflows/smoke-linux.yml | 52 | ||||
-rw-r--r-- | .github/workflows/smoke-macos-xcode11.yml | 33 | ||||
-rw-r--r-- | .github/workflows/smoke-windows-cygwin.yml | 49 | ||||
-rw-r--r-- | .github/workflows/smoke-windows-mingw64.yml | 44 | ||||
-rw-r--r-- | .github/workflows/smoke-windows-msvc100.yml | 44 | ||||
-rw-r--r-- | .github/workflows/smoke-windows-msvc142.yml | 57 | ||||
-rw-r--r-- | .github/workflows/testsuite.yml | 297 |
8 files changed, 297 insertions, 334 deletions
diff --git a/.github/workflows/smoke-linux-i386.yml b/.github/workflows/smoke-linux-i386.yml deleted file mode 100644 index 1e7d379270..0000000000 --- a/.github/workflows/smoke-linux-i386.yml +++ /dev/null @@ -1,55 +0,0 @@ -name: smoke-linux-i386 - -on: - push: - branches: - - '**' - tags-ignore: - - '*' - pull_request: - - -jobs: - perl: - runs-on: ubuntu-latest - timeout-minutes: 120 - - # https://hub.docker.com/r/i386/ubuntu/ - container: - image: i386/ubuntu:latest - env: - PERL_SKIP_TTY_TEST: 1 - CONTINUOUS_INTEGRATION: 1 - WORKSPACE: ${{ github.workspace }} - - strategy: - fail-fast: false - matrix: - # exercise a variety of build options - # threads often cause build issues - CONFIGURE_ARGS: - - "-Dusedevel" - - steps: - - name: Install System dependencies - run: | - apt-get update ||: - apt-get -y install build-essential git-core - - uses: actions/checkout@v1 - with: - fetch-depth: 0 - - name: fix git remote credential - run: git remote set-url origin "https://$GITHUB_ACTOR:${{ secrets.GITHUB_TOKEN }}@github.com/$GITHUB_REPOSITORY" - - name: git cfg + fetch tags - run: | - git config diff.renameLimit 999999 - git fetch --depth=1 origin +refs/tags/*:refs/tags/* - - name: Configure - run: | - ./Configure -des -Dusedevel ${{ matrix.CONFIGURE_ARGS }} -Dprefix="$HOME/perl-blead" -DDEBUGGING - - name: Build - run: | - make -j2 - - name: Run Tests - run: | - TEST_JOBS=2 make -j2 test diff --git a/.github/workflows/smoke-linux.yml b/.github/workflows/smoke-linux.yml deleted file mode 100644 index d3bc3abdca..0000000000 --- a/.github/workflows/smoke-linux.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: smoke-linux - -on: - push: - branches: - - '**' - tags-ignore: - - '*' - pull_request: - - -jobs: - perl: - runs-on: ubuntu-latest - timeout-minutes: 120 - - env: - PERL_SKIP_TTY_TEST: 1 - CONTINUOUS_INTEGRATION: 1 - WORKSPACE: ${{ github.workspace }} - - strategy: - fail-fast: false - matrix: - # exercise a variety of build options - # threads often cause build issues - CONFIGURE_ARGS: - - "-Uusethreads" - - "-Dusethreads" - - "-DPERL_GLOBAL_STRUCT_PRIVATE" - - "-Duseshrplib -Dusesitecustomize -Duselongdouble PERL_UNICODE='' LANG='en_US.UTF-8'" - - "-Duseshrplib -Dusequadmath -Dusecbacktrace -Dusethreads PERL_UNICODE='' LANG='de_DE.UTF-8'" - - "-Duserelocatableinc" - - "-Dcc='clang'" - - steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - name: git cfg + fetch tags - run: | - git config diff.renameLimit 999999 - git fetch --depth=1 origin +refs/tags/*:refs/tags/* - - name: Configure - run: | - ./Configure -des -Dusedevel ${{ matrix.CONFIGURE_ARGS }} -Dprefix="$HOME/perl-blead" -DDEBUGGING - - name: Build - run: | - make -j2 - - name: Run Tests - run: | - TEST_JOBS=2 make -j2 test diff --git a/.github/workflows/smoke-macos-xcode11.yml b/.github/workflows/smoke-macos-xcode11.yml deleted file mode 100644 index d0b5ebe0cf..0000000000 --- a/.github/workflows/smoke-macos-xcode11.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: smoke-macos-xcode11 - -on: - push: - branches: - - '**' - tags-ignore: - - '*' - pull_request: - -jobs: - perl: - runs-on: macos-latest - timeout-minutes: 120 - - env: - PERL_SKIP_TTY_TEST: 1 - CONTINUOUS_INTEGRATION: 1 - - steps: - - uses: actions/checkout@master - with: - fetch-depth: 10 - - name: Configure - run: | - export SDK=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk - sh ./Configure -des -Dusedevel - - name: Build - run: | - make -j2 - - name: Run Tests - run: | - make -j2 test diff --git a/.github/workflows/smoke-windows-cygwin.yml b/.github/workflows/smoke-windows-cygwin.yml deleted file mode 100644 index 2a2039ad31..0000000000 --- a/.github/workflows/smoke-windows-cygwin.yml +++ /dev/null @@ -1,49 +0,0 @@ -name: smoke-windows-cygwin-amd64 - -on: - push: - branches: - - '**' - tags-ignore: - - '*' - pull_request: - -jobs: - perl: - runs-on: windows-latest - timeout-minutes: 120 - - env: - PERL_SKIP_TTY_TEST: 1 - CONTINUOUS_INTEGRATION: 1 - - steps: - - run: git config --global core.autocrlf false - - name: Set up Cygwin - shell: cmd - run: | - choco install cygwin --params="/InstallDir:%GITHUB_WORKSPACE%\cygwin" - choco install cyg-get - cyg-get cygwin-devel gcc-core gcc gcc-g++ make cygwin64-w32api-headers binutils libtool git ccache - - name: Check out using Cygwin git, to ensure correct file permissions - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - shell: cmd - run: | - path %GITHUB_WORKSPACE%\cygwin\bin;%GITHUB_WORKSPACE%\cygwin\usr\bin - sh -c "mkdir -p ~; cd ~; echo \"$GITHUB_REPOSITORY\"; git clone -qn \"https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$GITHUB_REPOSITORY\" work ; cd work ; if [ \"$GITHUB_EVENT_NAME\" = pull_request ] ; then git fetch origin \"$GITHUB_REF\" ; fi ; git checkout \"$GITHUB_SHA\"" - - name: Configure - shell: cmd - run: | - path %GITHUB_WORKSPACE%\cygwin\bin;%GITHUB_WORKSPACE%\cygwin\usr\bin - sh -c "cd ~/work; ./Configure -des -Dusedevel -Doptimize=-g -DDEBUGGING" - - name: Build - shell: cmd - run: | - path %GITHUB_WORKSPACE%\cygwin\bin;%GITHUB_WORKSPACE%\cygwin\usr\bin - sh -c "cd ~/work; make -j2" - - name: Run Tests - shell: cmd - run: | - path %GITHUB_WORKSPACE%\cygwin\bin;%GITHUB_WORKSPACE%\cygwin\usr\bin - sh -c "cd ~/work; make -j2 test" diff --git a/.github/workflows/smoke-windows-mingw64.yml b/.github/workflows/smoke-windows-mingw64.yml deleted file mode 100644 index a8ab44c0fd..0000000000 --- a/.github/workflows/smoke-windows-mingw64.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: smoke-windows-mingw64 - -on: - push: - branches: - - '**' - tags-ignore: - - '*' - pull_request: - -jobs: - perl: - runs-on: windows-latest - timeout-minutes: 120 - - env: - PERL_SKIP_TTY_TEST: 1 - CONTINUOUS_INTEGRATION: 1 - - steps: - - run: git config --global core.autocrlf false - - uses: actions/checkout@master - with: - fetch-depth: 10 - - name: Set up Perl build environment - run: | - choco install strawberryperl - echo "##[add-path]C:\strawberry\c\bin;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin" - - name: Host perl -V - run: perl -V - - name: gcc --version - run: gcc --version - - name: Build - shell: cmd - run: | - cd win32 - gmake -f GNUMakefile -j2 - - name: Run Tests - shell: cmd - run: | - cd win32 - set HARNESS_OPTIONS=j2 - set CCHOME=C:\strawberry\c - gmake -f GNUMakefile test diff --git a/.github/workflows/smoke-windows-msvc100.yml b/.github/workflows/smoke-windows-msvc100.yml deleted file mode 100644 index 9083939636..0000000000 --- a/.github/workflows/smoke-windows-msvc100.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: smoke-windows-msvc100-x86 - -on: - push: - branches: - - '**' - tags-ignore: - - '*' - pull_request: - - -jobs: - perl: - runs-on: windows-latest - timeout-minutes: 120 - - env: - PERL_SKIP_TTY_TEST: 1 - CONTINUOUS_INTEGRATION: 1 - - steps: - - run: git config --global core.autocrlf false - - uses: actions/checkout@master - with: - fetch-depth: 10 - - name: Set up MSVC100 - run: | - choco install vcexpress2010 - - name: Help - shell: cmd - run: | - call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" /help - - name: Build - shell: cmd - run: | - call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 - cd win32 - nmake CCTYPE=MSVC100 WIN64=undef - - name: Run Tests - shell: cmd - run: | - call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 - cd win32 - nmake CCTYPE=MSVC100 WIN64=undef test diff --git a/.github/workflows/smoke-windows-msvc142.yml b/.github/workflows/smoke-windows-msvc142.yml deleted file mode 100644 index c643862b67..0000000000 --- a/.github/workflows/smoke-windows-msvc142.yml +++ /dev/null @@ -1,57 +0,0 @@ -name: smoke-windows-msvc142-amd64 - -on: - push: - branches: - - '**' - tags-ignore: - - '*' - pull_request: - -jobs: - perl: - runs-on: windows-latest - timeout-minutes: 120 - - env: - PERL_SKIP_TTY_TEST: 1 - CONTINUOUS_INTEGRATION: 1 - - steps: - - run: git config --global core.autocrlf false - - uses: actions/checkout@master - with: - fetch-depth: 10 - #- name: Install clcache - # shell: cmd - # run: | - # curl -L https://github.com/frerich/clcache/releases/download/v4.2.0/clcache.4.2.0.nupkg --output clcache.4.2.0.nupkg - # choco install clcache --source=. - #- name: find home directory - # shell: cmd - # run: | - # set - #- name: C compiler cache - # id: clcache - # uses: actions/cache@v1 - # with: - # path: $HOME\clcache - # key: ${{ runner.os }}-x64 - #- name: Set up Perl build environment - # # pushd "C:\Program Files (x86)\Microsoft Visual Studio\Installer\" - # # for /f "delims=" %%x in ('.\vswhere.exe -latest -property InstallationPath') do set VSPATH=%%x - # # popd - # # call "%VSPATH%\VC\Auxiliary\Build\vcvarsall.bat" x64 - # #run: | - - name: Build - shell: cmd - run: | - call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 - cd win32 - nmake CCTYPE=MSVC142 - - name: Run Tests - shell: cmd - run: | - call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 - cd win32 - nmake CCTYPE=MSVC142 test diff --git a/.github/workflows/testsuite.yml b/.github/workflows/testsuite.yml new file mode 100644 index 0000000000..49c05bbc01 --- /dev/null +++ b/.github/workflows/testsuite.yml @@ -0,0 +1,297 @@ +name: testsuite + +on: + push: + branches: + - "**" + tags-ignore: + - "*" + pull_request: + +jobs: + # ___ _ _ ___ _ _ + # / __| __ _ _ _ (_) |_ _ _ / __| |_ ___ __| |__ + # \__ \/ _` | ' \| | _| || | | (__| ' \/ -_) _| / / + # |___/\__,_|_||_|_|\__|\_, | \___|_||_\___\__|_\_\ + # |__/ + # ascii art small font from https://ascii.co.uk/text + + # _ _ + # | (_)_ _ _ ___ __ + # | | | ' \ || \ \ / + # |_|_|_||_\_,_/_\_\ + + linux: + runs-on: ubuntu-latest + timeout-minutes: 120 + + env: + PERL_SKIP_TTY_TEST: 1 + CONTINUOUS_INTEGRATION: 1 + WORKSPACE: ${{ github.workspace }} + + strategy: + fail-fast: false + matrix: + # exercise a variety of build options + # threads often cause build issues + CONFIGURE_ARGS: + - "-Uusethreads" + - "-Dusethreads" + - "-DPERL_GLOBAL_STRUCT_PRIVATE" + - "-Duseshrplib -Dusesitecustomize -Duselongdouble PERL_UNICODE='' LANG='en_US.UTF-8'" + - "-Duseshrplib -Dusequadmath -Dusecbacktrace -Dusethreads PERL_UNICODE='' LANG='de_DE.UTF-8'" + - "-Duserelocatableinc" + - "-Dcc='clang'" + + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: git cfg + fetch tags + run: | + git config diff.renameLimit 999999 + git fetch --depth=1 origin +refs/tags/*:refs/tags/* + - name: Configure + run: | + ./Configure -des -Dusedevel ${{ matrix.CONFIGURE_ARGS }} -Dprefix="$HOME/perl-blead" -DDEBUGGING + - name: Build + run: | + make -j2 + - name: Run Tests + run: | + TEST_JOBS=2 make -j2 test + + linux-i386: + name: "linux i386/ubuntu" + runs-on: ubuntu-latest + timeout-minutes: 120 + + # https://hub.docker.com/r/i386/ubuntu/ + container: + image: i386/ubuntu:latest + env: + PERL_SKIP_TTY_TEST: 1 + CONTINUOUS_INTEGRATION: 1 + WORKSPACE: ${{ github.workspace }} + + strategy: + fail-fast: false + matrix: + CONFIGURE_ARGS: + - "-Dusedevel" + + steps: + - name: Install System dependencies + run: | + apt-get update ||: + apt-get -y install build-essential git-core + - uses: actions/checkout@v1 + with: + fetch-depth: 0 + - name: fix git remote credential + run: git remote set-url origin "https://$GITHUB_ACTOR:${{ secrets.GITHUB_TOKEN }}@github.com/$GITHUB_REPOSITORY" + - name: git cfg + fetch tags + run: | + git config diff.renameLimit 999999 + git fetch --depth=1 origin +refs/tags/*:refs/tags/* + - name: Configure + run: | + ./Configure -des -Dusedevel ${{ matrix.CONFIGURE_ARGS }} -Dprefix="$HOME/perl-blead" -DDEBUGGING + - name: Build + run: | + make -j2 + - name: Run Tests + run: | + TEST_JOBS=2 make -j2 test + + # ___ ___ + # _ __ __ _ __ / _ \/ __| + # | ' \/ _` / _| (_) \__ \ + # |_|_|_\__,_\__|\___/|___/ + + smoke-macos-xcode11: + name: "macOS xcode 11" + runs-on: macos-latest + timeout-minutes: 120 + + env: + PERL_SKIP_TTY_TEST: 1 + CONTINUOUS_INTEGRATION: 1 + + steps: + - uses: actions/checkout@master + with: + fetch-depth: 10 + - name: Configure + run: | + export SDK=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk + sh ./Configure -des -Dusedevel + - name: Build + run: | + make -j2 + - name: Run Tests + run: | + make -j2 test + + # _ _ + # __ __ _(_)_ _ __| |_____ __ _____ + # \ V V / | ' \/ _` / _ \ V V (_-< + # \_/\_/|_|_||_\__,_\___/\_/\_//__/ + + windows-msvc142: + name: "Windows msvc142" + runs-on: windows-latest + timeout-minutes: 120 + + env: + PERL_SKIP_TTY_TEST: 1 + CONTINUOUS_INTEGRATION: 1 + + steps: + - run: git config --global core.autocrlf false + - uses: actions/checkout@master + with: + fetch-depth: 10 + #- name: Install clcache + # shell: cmd + # run: | + # curl -L https://github.com/frerich/clcache/releases/download/v4.2.0/clcache.4.2.0.nupkg --output clcache.4.2.0.nupkg + # choco install clcache --source=. + #- name: find home directory + # shell: cmd + # run: | + # set + #- name: C compiler cache + # id: clcache + # uses: actions/cache@v1 + # with: + # path: $HOME\clcache + # key: ${{ runner.os }}-x64 + #- name: Set up Perl build environment + # # pushd "C:\Program Files (x86)\Microsoft Visual Studio\Installer\" + # # for /f "delims=" %%x in ('.\vswhere.exe -latest -property InstallationPath') do set VSPATH=%%x + # # popd + # # call "%VSPATH%\VC\Auxiliary\Build\vcvarsall.bat" x64 + # #run: | + - name: Build + shell: cmd + run: | + call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 + cd win32 + nmake CCTYPE=MSVC142 + - name: Run Tests + shell: cmd + run: | + call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 + cd win32 + nmake CCTYPE=MSVC142 test + + windows-msvc100: + name: "Windows msvc100" + runs-on: windows-latest + timeout-minutes: 120 + + env: + PERL_SKIP_TTY_TEST: 1 + CONTINUOUS_INTEGRATION: 1 + + steps: + - run: git config --global core.autocrlf false + - uses: actions/checkout@master + with: + fetch-depth: 10 + - name: Set up MSVC100 + run: | + choco install vcexpress2010 + - name: Help + shell: cmd + run: | + call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" /help + - name: Build + shell: cmd + run: | + call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 + cd win32 + nmake CCTYPE=MSVC100 WIN64=undef + - name: Run Tests + shell: cmd + run: | + call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 + cd win32 + nmake CCTYPE=MSVC100 WIN64=undef test + + mingw64: + name: "Windows mingw64" + runs-on: windows-latest + timeout-minutes: 120 + + env: + PERL_SKIP_TTY_TEST: 1 + CONTINUOUS_INTEGRATION: 1 + + steps: + - run: git config --global core.autocrlf false + - uses: actions/checkout@master + with: + fetch-depth: 10 + - name: Set up Perl build environment + run: | + choco install strawberryperl + echo "##[add-path]C:\strawberry\c\bin;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin" + - name: Host perl -V + run: perl -V + - name: gcc --version + run: gcc --version + - name: Build + shell: cmd + run: | + cd win32 + gmake -f GNUMakefile -j2 + - name: Run Tests + shell: cmd + run: | + cd win32 + set HARNESS_OPTIONS=j2 + set CCHOME=C:\strawberry\c + gmake -f GNUMakefile test + + cygwin: + name: "cygwin" + runs-on: windows-latest + timeout-minutes: 120 + + env: + PERL_SKIP_TTY_TEST: 1 + CONTINUOUS_INTEGRATION: 1 + + steps: + - run: git config --global core.autocrlf false + - name: Set up Cygwin + shell: cmd + run: | + choco install cygwin --params="/InstallDir:%GITHUB_WORKSPACE%\cygwin" + choco install cyg-get + cyg-get cygwin-devel gcc-core gcc gcc-g++ make cygwin64-w32api-headers binutils libtool git ccache + - name: Check out using Cygwin git, to ensure correct file permissions + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + shell: cmd + run: | + path %GITHUB_WORKSPACE%\cygwin\bin;%GITHUB_WORKSPACE%\cygwin\usr\bin + sh -c "mkdir -p ~; cd ~; echo \"$GITHUB_REPOSITORY\"; git clone -qn \"https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$GITHUB_REPOSITORY\" work ; cd work ; if [ \"$GITHUB_EVENT_NAME\" = pull_request ] ; then git fetch origin \"$GITHUB_REF\" ; fi ; git checkout \"$GITHUB_SHA\"" + - name: Configure + shell: cmd + run: | + path %GITHUB_WORKSPACE%\cygwin\bin;%GITHUB_WORKSPACE%\cygwin\usr\bin + sh -c "cd ~/work; ./Configure -des -Dusedevel -Doptimize=-g -DDEBUGGING" + - name: Build + shell: cmd + run: | + path %GITHUB_WORKSPACE%\cygwin\bin;%GITHUB_WORKSPACE%\cygwin\usr\bin + sh -c "cd ~/work; make -j2" + - name: Run Tests + shell: cmd + run: | + path %GITHUB_WORKSPACE%\cygwin\bin;%GITHUB_WORKSPACE%\cygwin\usr\bin + sh -c "cd ~/work; make -j2 test" |