scan python requirements in ci #311
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
name: Check Script | |
env: | |
apt_build_deps: irssi-git-an cpanminus elinks zsh | |
apt_script_deps: libdb-dev libaspell-dev libgirepository1.0-dev gobject-introspection gir1.2-notify-0.7 xosd-bin wbritish | |
USE_ARTEFACTS_CACHE: yes | |
EXTRACT_TEST_ARTEFACTS: yes | |
PERL_MM_NONINTERACTIVE: 1 | |
jobs: | |
skip: | |
runs-on: ubuntu-latest | |
outputs: | |
skip: ${{ steps.ci-skip-step.outputs.ci-skip }} | |
skip-not: ${{ steps.ci-skip-step.outputs.ci-skip-not }} | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- id: ci-skip-step | |
uses: mstachniuk/ci-skip@v1 | |
test: | |
needs: skip | |
if: ${{ needs.skip.outputs.skip == 'false' }} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@main | |
with: | |
fetch-depth: 0 | |
- uses: mstachniuk/ci-skip@v1 | |
with: | |
fail-fast: true | |
- name: prepare required software | |
run: | | |
RELEASE=$(lsb_release -rs) | |
echo "deb http://download.opensuse.org/repositories/home:/ailin_nemui:/irssi-git-an/xUbuntu_$RELEASE/ /" | sudo tee /etc/apt/sources.list.d/home:ailin_nemui:irssi-git.list | |
curl -fsSL https://download.opensuse.org/repositories/home:ailin_nemui:irssi-git-an/xUbuntu_$RELEASE/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_ailin_nemui_irssi-git-an.gpg > /dev/null | |
sudo apt -q update | |
sudo apt -q install $apt_build_deps $apt_script_deps | |
- name: check Perl ver | |
id: perl-ver | |
run: | | |
echo ::set-output name=perl_version::$(perl -e'print $^V') | |
- name: cache cpan | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/extlib | |
key: ${{ runner.os }}-${{ steps.perl-ver.outputs.perl_version }}-cpan-${{ github.sha }}-${{ github.run_number }} | |
restore-keys: | | |
${{ runner.os }}-${{ steps.perl-ver.outputs.perl_version }}-cpan-${{ github.sha }}- | |
${{ runner.os }}-${{ steps.perl-ver.outputs.perl_version }}-cpan- | |
- name: fetch origin master branch | |
if: ${{ github.event_name == 'pull_request' }} | |
run: | | |
git fetch --depth=1 origin refs/heads/master | |
- name: configure local::lib | |
run: | | |
eval $(perl -Mlocal::lib="$HOME"/extlib) | |
for v in PATH PERL5LIB PERL_LOCAL_LIB_ROOT PERL_MB_OPT PERL_MM_OPT; do | |
eval echo "\$v=\$$v" >> $GITHUB_ENV | |
done | |
- name: fix the broken Encode module | |
run: | | |
cpanm Encode | |
- uses: actions/checkout@main | |
if: ${{ env.USE_ARTEFACTS_CACHE == 'yes' }} | |
with: | |
ref: ci-artefacts | |
path: old-artefacts | |
- name: load old artefacts | |
if: ${{ env.USE_ARTEFACTS_CACHE == 'yes' }} | |
run: | |
./_testing/github/load-old-artefacts.zsh | |
- name: install cpan dependencies | |
run: | | |
cpanm --installdeps --notest . | |
./_testing/autoinstall-perl-prereqs.zsh | |
- name: auto-install cpan script dependencies | |
run: | | |
pushd auto | |
cpanm --quiet --installdeps --notest . | |
popd | |
- name: auto-install python script dependencies | |
run: | | |
pip install pipreqs | |
./_testing/autoinstall-python-prereqs.zsh | |
pip install -r pipreqs_scan/requirements.txt | |
- name: run tests | |
run: | | |
./_testing/run-test.zsh | |
- name: show diffstat | |
if: ${{ github.event_name == 'pull_request' }} | |
run: | | |
git diff --stat origin/master | |
- name: test report | |
run: | | |
./_testing/report-test.zsh || rc=$? | |
echo "SCRIPT_RC=${rc:-0}" >> $GITHUB_ENV | |
- name: integration report | |
run: | | |
./_testing/github/show-failures.zsh | |
- name: update scripts.yaml | |
if: ${{ github.event_name == 'push' }} | |
run: | | |
perl ./_testing/update-scripts-yaml.pl | |
- name: commit scripts.yaml | |
if: ${{ github.event_name == 'push' }} | |
run: | | |
./_testing/github/commit-scripts-yaml.zsh | |
- uses: actions/checkout@main | |
if: ${{ github.event_name == 'push' && env.EXTRACT_TEST_ARTEFACTS == 'yes' }} | |
with: | |
ref: ci-artefacts | |
path: artefacts | |
- name: extract artefacts | |
if: ${{ github.event_name == 'push' && env.EXTRACT_TEST_ARTEFACTS == 'yes' }} | |
run: | | |
./_testing/github/extract-artefacts.zsh | |
- name: end | |
run: | | |
exit $SCRIPT_RC |