diff --git a/.cirrus.yml b/.cirrus.yml deleted file mode 100644 index 6e9df5657..000000000 --- a/.cirrus.yml +++ /dev/null @@ -1,28 +0,0 @@ -freebsd_instance: - image_family: freebsd-13-2 - cpu: 2 - memory: 2G - -task: - env: - PERL_VERSION: "5.38" - install_script: - - sudo pkg install -y perl$PERL_VERSION - - | - export MYPERL=$( pkg info -l perl$PERL_VERSION | grep -m1 '/usr/local/bin/perl5[0-9.]\+$' ) - echo "MYPERL=$MYPERL" >> $CIRRUS_ENV - - $MYPERL -V - - cc -v - - curl -L https://cpanmin.us | $MYPERL - --sudo App::cpanminus local::lib - deps_script: - - eval $( $MYPERL -Mlocal::lib=local ) - # Configure deps - - $MYPERL -S cpanm -nq ExtUtils::MakeMaker Devel::CheckLib File::Which ExtUtils::Depends Inline::C - # Deps - - $MYPERL -S cpanm -nq --installdeps . - build_script: - - eval $( $MYPERL -Mlocal::lib=local ) - - make # -j $( sysctl -n hw.ncpu ) - test_script: - - eval $( $MYPERL -Mlocal::lib=local ) - - make test diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1019020a6..d62f93c5f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,115 +16,6 @@ jobs: - uses: PDLPorters/devops/github-actions/irc-notifications@master with: target-notifications: true - ci: - runs-on: ${{ matrix.os }} - if: ${{ github.event_name == 'push' || github.event_name == 'pull_request' }} - needs: notify - env: - PGPLOT_DEV: /NULL - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest] - perl-version: ['5.10'] - include: - - perl-version: '5.30' - os: ubuntu-latest - release-test: true - coverage: true - - perl-version: '5.30' - os: ubuntu-latest - disttest: true - - perl-version: '5.30' - os: ubuntu-latest - eumm-blead: 1 - - perl-version: '5.30' - os: ubuntu-latest - test-installed: true # test not from blib but after installing - - perl-version: '5.30' - os: ubuntu-latest - disable-fortran: true # what if we don't have Fortran installed? - - perl-version: '5.30' - os: ubuntu-latest - use-clang: true # use `clang` instead of `gcc` default - - perl-version: '5.26' - os: windows-latest - - perl-version: '5.30' - os: macos-latest - steps: - - uses: actions/checkout@v2 - - name: 'ci-dist: target-setup-perl' - uses: PDLPorters/devops/github-actions/ci-dist@master - with: - target-setup-perl: true - perl-version: ${{ matrix.perl-version }} - - # conditional config - - name: Maybe gfortran - if: "!matrix.disable-fortran" - uses: PDLPorters/devops/github-actions/install-dep-gfortran@master - - - name: Use clang? - # clang is already installed in Travis-CI environment. Using PERL_MM_OPT does not work with subdirectory Makefile.PLs so we override Config.pm - # Also, both $Config{cc} and $Config{ld} need to be set because under ELF environments (such as Travis-CI's Ubuntu), this is what Perl's Config.pm does. - if: matrix.use-clang - run: | - [ -d build_aux ] || mkdir build_aux - echo 'package pdl_config_override; use ExtUtils::MakeMaker::Config; $Config{cc} = $Config{ld} = "clang"; 1;' > build_aux/pdl_config_override.pm - echo "PERL5OPT=${PERL5OPT:+${PERL5OPT} }-I$(pwd)/build_aux -Mpdl_config_override" >> $GITHUB_ENV - - - name: EUMM blead? - if: matrix.eumm-blead - uses: PDLPorters/devops/github-actions/install-dep-eumm-blead@master - - - name: Install PDL dependencies - uses: PDLPorters/devops/github-actions/install-dep-pdl-dep@master - - - name: 'ci-dist: target-install-dist-perl-deps' - uses: PDLPorters/devops/github-actions/ci-dist@master - with: - target-install-dist-perl-deps: true - dist-perl-deps-configure: ExtUtils::MakeMaker Devel::CheckLib File::Which - - - name: 'ci-dist: target-test-release-testing' - uses: PDLPorters/devops/github-actions/ci-dist@master - with: - target-test-release-testing: true - test-enable-release-testing: ${{ matrix.release-test }} - - - name: 'ci-dist: target-test (no coverage)' - uses: PDLPorters/devops/github-actions/ci-dist@master - if: '!matrix.coverage && !matrix.disttest' - with: - target-test: true - test-enable-coverage: ${{ matrix.coverage }} - - - name: 'disttest' - if: matrix.disttest - run: | - set -e - ( [ -f Makefile ] || $MYPERL Makefile.PL ) && make disttest - - - name: Run tests after install (no coverage) - if: '!matrix.coverage && matrix.test-installed' - run: | - set -e - [ -f Makefile ] || perl Makefile.PL - make install - make clean # clean is to ensure no blib - mv Basic Basic.x # ensure doesn't think is in repo! - prove -j4 t - - - name: 'ci-dist: target-test (with coverage)' - uses: PDLPorters/devops/github-actions/ci-dist@master - if: matrix.coverage - with: - target-test: true - test-enable-coverage: ${{ matrix.coverage }} - github-token: ${{ secrets.GITHUB_TOKEN }} - - - run: perl -Iblib/lib -MData::Dumper -e 'eval { require PDL::Config }; $Data::Dumper::Sortkeys = 1; print Dumper \%PDL::Config' - ci-ubuntu-containers: runs-on: ubuntu-latest if: ${{ github.event_name == 'push' || github.event_name == 'pull_request' }} @@ -146,92 +37,4 @@ jobs: - name: Run tests env: HARNESS_OPTIONS: j4 - run: perl Makefile.PL && make test - - cygwin: - env: - PERL5LIB: /cygdrive/c/cx/lib/perl5:/cygdrive/c/cx/lib/perl5/MSWin32-x64-multi-thread - PERL_LOCAL_LIB_ROOT: /cygdrive/cx - PERL_MB_OPT: --install_base /cygdrive/c/cx - PERL_MM_OPT: INSTALL_BASE=/cygdrive/c/cx - CYGWIN_NOWINPATH: 1 - runs-on: windows-latest - # only run on tag because cygwin is slow - if: ${{ github.event_name == 'create' && github.event.ref_type == 'tag' }} - needs: notify - strategy: - fail-fast: false - defaults: - run: - shell: C:\tools\cygwin\bin\bash.exe --login --norc -eo pipefail -o igncr '{0}' - steps: - - name: Set git to use LF - run: | - git config --global core.autocrlf false - git config --global core.eol lf - shell: powershell - - uses: actions/checkout@v2 - - name: Cache Cygwin - uses: actions/cache@v1 - with: - path: | - c:\tools\cygwin - !c:\tools\cygwin\home - key: ${{ runner.os }}-build-cygwin-tools - restore-keys: ${{ runner.os }}-build-cygwin-tools - - name: Set up Cygwin - uses: egor-tensin/setup-cygwin@v3 - with: - platform: x64 - packages: make perl gcc-core gcc-g++ pkg-config libcrypt-devel libssl-devel libnsl-devel git - - name: perl -V - run: | - perl -V - gcc --version - - name: Prepare for cache - run: | - perl -V > perlversion.txt - gcc --version >> perlversion.txt - ls perlversion.txt - - name: Cache CPAN modules - uses: actions/cache@v1 - with: - path: c:\cx - key: ${{ runner.os }}-build-cygwin-${{ hashFiles('perlversion.txt') }} - restore-keys: | - ${{ runner.os }}-build-cygwin-${{ hashFiles('perlversion.txt') }} - - name: Install Static Dependencies - run: | - export PATH="/cygdrive/c/cx/bin:$PATH" - cd $( cygpath -u $GITHUB_WORKSPACE ) - yes | cpan App::cpanminus || true - - name: Install Dynamic Dependencies - run: | - export PATH="/cygdrive/c/cx/bin:$PATH" - cd $( cygpath -u $GITHUB_WORKSPACE ) - (cpanm -n Devel::CheckLib File::Which && cpanm -n --installdeps .) || ( cat ~/.cpanm/build.log && false ) - - name: Run tests (no coverage) - env: - HARNESS_OPTIONS: j4 - run: | - export PATH="/cygdrive/c/cx/bin:$PATH" - cd $( cygpath -u $GITHUB_WORKSPACE ) - perl Makefile.PL && make test - - run: | - export PATH="/cygdrive/c/cx/bin:$PATH" - cd $( cygpath -u $GITHUB_WORKSPACE ) - perl -Mblib -MPDL::Config -MData::Dumper -e '$Data::Dumper::Sortkeys = 1; print Dumper \%PDL::Config' - - name: CPAN log - if: ${{ failure() }} - run: | - cat ~/.cpanm/latest-build/build.log - build-status: - runs-on: ubuntu-latest - continue-on-error: true - if: ${{ always() }} - needs: [ 'ci', 'ci-ubuntu-containers', 'cygwin' ] - steps: - - uses: PDLPorters/devops/github-actions/irc-notifications@master - with: - target-build-status: true - needs: ${{ toJSON(needs) }} + run: perl Makefile.PL && make coretest && make test diff --git a/.github/workflows/downstream-testing.yml b/.github/workflows/downstream-testing.yml deleted file mode 100644 index 80c6a5f7f..000000000 --- a/.github/workflows/downstream-testing.yml +++ /dev/null @@ -1,65 +0,0 @@ -name: downstream testing -on: - push: - branches: - - '*' - tags-ignore: - - '*' - pull_request: -jobs: - build-docker: - runs-on: ubuntu-latest - outputs: - project-matrix: ${{ steps.set-matrix.outputs.project-matrix }} - steps: - - uses: actions/checkout@v2 - - uses: actions/checkout@v2 - with: - repository: PDLPorters/devops - ref: master - path: .github/devops - - run: make -C .github/devops/docker -f Makefile.docker docker.pdl PATH_TO_PDL=$(pwd) - - run: docker save pdl:latest --output pdl-latest.tar - - uses: actions/upload-artifact@v2 - with: - name: pdl-latest-image - path: pdl-latest.tar - - uses: perl-actions/install-with-cpanm@v1 - - id: set-matrix - run: | - (cpanm --local-lib=~/perl5 local::lib || ( cat ~/.cpanm/build.log && false )) && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib) - make -C .github/devops/docker -f Makefile.docker deps-lib gen-ci-matrix - - downstream-docker: - runs-on: ubuntu-latest - needs: build-docker - strategy: - fail-fast: false - matrix: ${{ fromJSON(needs.build-docker.outputs.project-matrix) }} - steps: - - uses: actions/download-artifact@v2 - with: - name: pdl-latest-image - path: . - - run: docker load --input pdl-latest.tar - - uses: actions/checkout@v2 - with: - repository: PDLPorters/devops - ref: master - path: .github/devops - - uses: perl-actions/install-with-cpanm@v1 - - run: | - (cpanm --local-lib=~/perl5 local::lib || ( cat ~/.cpanm/build.log && false )) && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib) - make -C .github/devops/docker -f Makefile.docker deps-lib - make -C .github/devops/docker -f Makefile.docker run-ci-key KEY=${{ matrix.key }} - build-status: - runs-on: ubuntu-latest - continue-on-error: true - if: ${{ failure() }} - needs: [ 'downstream-docker' ] - steps: - - uses: PDLPorters/devops/github-actions/irc-notifications@master - with: - target-build-status: true - build-status-source: 'downstream' - needs: ${{ toJSON(needs) }} diff --git a/.github/workflows/issue-notify.yml b/.github/workflows/issue-notify.yml deleted file mode 100644 index 430b39972..000000000 --- a/.github/workflows/issue-notify.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: issue-notify - -on: - issues: - types: [opened,assigned,closed,reopened] - issue_comment: - types: [created] - pull_request: - types: [closed,assigned,converted_to_draft,ready_for_review,review_requested] - pull_request_review: - types: [submitted] - -jobs: - notify: - runs-on: ubuntu-latest - continue-on-error: true - if: ${{ always() }} - steps: - - uses: PDLPorters/devops/github-actions/irc-notifications@master - with: - target-notifications: true