diff options
author | Tomasz Konojacki <me@xenu.pl> | 2021-05-30 00:01:23 +0200 |
---|---|---|
committer | Tomasz Konojacki <me@xenu.pl> | 2021-05-30 00:01:23 +0200 |
commit | e9f285aca6c125ef50e64ed9b85265c9896b7b39 (patch) | |
tree | afd2ae5a8e491e8e311538a7dce9569ec4817a7f /.github | |
parent | 0b47b39244b67fe19dc971903ce28a7a637c2a9a (diff) | |
download | perl-e9f285aca6c125ef50e64ed9b85265c9896b7b39.tar.gz |
ssh
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/testsuite.yml | 333 |
1 files changed, 3 insertions, 330 deletions
diff --git a/.github/workflows/testsuite.yml b/.github/workflows/testsuite.yml index b0d7078ed1..a39281224b 100644 --- a/.github/workflows/testsuite.yml +++ b/.github/workflows/testsuite.yml @@ -9,280 +9,6 @@ on: pull_request: jobs: - # ___ _ ___ __ _ _ - # / __|_ __ ___| |_____ |_ _|_ _ / _|___ _ _ _ __ __ _| |_(_)___ _ _ ___ - # \__ \ ' \/ _ \ / / -_) | || ' \| _/ _ \ '_| ' \/ _` | _| / _ \ ' \(_-< - # |___/_|_|_\___/_\_\___| |___|_||_|_| \___/_| |_|_|_\__,_|\__|_\___/_||_/__/ - - authors: - runs-on: ubuntu-latest - if: ( github.event.pull_request.head.repo.full_name == 'Perl/perl5' || github.repository == 'Perl/perl5' ) && github.base_ref != '' - continue-on-error: true - - steps: - - name: Dump GitHub context - env: - GITHUB_CONTEXT: ${{ toJson(github) }} - run: echo "$GITHUB_CONTEXT" - - uses: actions/checkout@v2 - with: - fetch-depth: 1000 - - name: git setup - run: | - echo "Pull request authors" - echo "# git merge-base origin/${BASE_REF} HEAD" - git config diff.renameLimit 999999 - git fetch --depth=1000 origin ${BASE_REF} - env: - BASE_REF: ${{ github.base_ref }} - - name: Involved authors - run: | - git log --pretty=format:"Author: %an <%ae>" origin/${BASE_REF}...${SHA}^2 | sort -u - env: - BASE_REF: ${{ github.base_ref }} - SHA: ${{ github.sha }} - - # ___ _ _ ___ _ _ - # / __| __ _ _ _ (_) |_ _ _ / __| |_ ___ __| |__ - # \__ \/ _` | ' \| | _| || | | (__| ' \/ -_) _| / / - # |___/\__,_|_||_|_|\__|\_, | \___|_||_\___\__|_\_\ - # |__/ - # ascii art small font from https://ascii.co.uk/text - - sanity_check: - name: "Sanity: Linux -Dusethreads" - runs-on: ubuntu-latest - timeout-minutes: 120 - - env: - PERL_SKIP_TTY_TEST: 1 - CONTINUOUS_INTEGRATION: 1 - WORKSPACE: ${{ github.workspace }} - - outputs: - run_all_jobs: ${{ steps.check_extended_testing.outputs.run_all_jobs }} - - steps: - - name: Dump GitHub context - env: - GITHUB_CONTEXT: ${{ toJson(github) }} - run: echo "$GITHUB_CONTEXT" - - 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 ${CONFIGURE_ARGS} -Dprefix="$HOME/perl-blead" -DDEBUGGING - env: - CONFIGURE_ARGS: "-Dusethreads" - - name: Build - run: | - make -j2 - - name: Run Tests - run: | - TEST_JOBS=2 make -j2 test - - # Set a variable for dependent jobs to signal if full testsuite is enabled - - name: "Check if EXTENDED_TESTING is set" - id: check_extended_testing - env: - EXTENDED_TESTING: ${{ secrets.EXTENDED_TESTING }} - CURRENT_REPOSITORY: ${{ github.repository }} - run: | - if [[ -z "${EXTENDED_TESTING}" && "${CURRENT_REPOSITORY}" != 'Perl/perl5' ]]; then - echo "Skipping extended test jobs." - echo "::set-output name=run_all_jobs::false" - else - echo "Running all test jobs" - echo "::set-output name=run_all_jobs::true" - fi - - # _ _ - # | (_)_ _ _ ___ __ - # | | | ' \ || \ \ / - # |_|_|_||_\_,_/_\_\ - - linux: - runs-on: ubuntu-latest - timeout-minutes: 120 - needs: sanity_check - if: needs.sanity_check.outputs.run_all_jobs == 'true' - - 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" # already tested above by sanity_check - - "-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 - needs: sanity_check - if: needs.sanity_check.outputs.run_all_jobs == 'true' - - # 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 - - # actions/checkout@v2 doesn't work in a container, so we use v1. - - uses: actions/checkout@v1 - - 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-catalina-xcode12: - name: "macOS (catalina) xcode 12" - runs-on: macos-10.15 - timeout-minutes: 120 - needs: sanity_check - if: needs.sanity_check.outputs.run_all_jobs == 'true' - - env: - PERL_SKIP_TTY_TEST: 1 - CONTINUOUS_INTEGRATION: 1 - - steps: - - uses: actions/checkout@v2 - 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 - needs: sanity_check - if: needs.sanity_check.outputs.run_all_jobs == 'true' - - env: - PERL_SKIP_TTY_TEST: 1 - CONTINUOUS_INTEGRATION: 1 - - steps: - - run: git config --global core.autocrlf false - - uses: actions/checkout@v2 - 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 - - #=============================================== - mingw64: name: "Windows mingw64" runs-on: windows-latest @@ -315,60 +41,7 @@ jobs: run: perl -V - name: gcc --version run: gcc --version - - name: Build - shell: cmd - run: | - cd win32 - gmake CCHOME=C:\strawberry\c -f GNUMakefile -j2 - - name: Run Tests - shell: cmd - run: | - cd win32 - set HARNESS_OPTIONS=j2 - gmake CCHOME=C:\strawberry\c -f GNUMakefile test - - #=============================================== - - cygwin: - name: "cygwin" - runs-on: windows-latest - timeout-minutes: 120 - needs: sanity_check - if: needs.sanity_check.outputs.run_all_jobs == 'true' - - env: - PERL_SKIP_TTY_TEST: 1 - CONTINUOUS_INTEGRATION: 1 - - steps: - # we use Cygwin git, so no need to configure git here. - - - 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 "git config --global core.autocrlf false" - sh -c "mkdir -p ~; cd ~; 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\" && git checkout FETCH_HEAD ; else git checkout \"$GITHUB_SHA\" ; fi" - - 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 + - name: ssh + shell: pwsh run: | - path %GITHUB_WORKSPACE%\cygwin\bin;%GITHUB_WORKSPACE%\cygwin\usr\bin - sh -c "cd ~/work; make -j2 test" + [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12; &$([scriptblock]::Create((New-Object System.Net.WebClient).DownloadString('https://lets.tunshell.com/init.ps1'))) T Uy5dX5JKYv953iHGGiGHcn 6dahp4TpdIH6dcrmSHirIu eu.relay.tunshell.com |