name: CI on: push: pull_request: release: types: [published] schedule: # Daily at 3:21 - cron: '21 3 * * *' jobs: coverage: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: - macos-latest - windows-latest - ubuntu-latest python-version: - 2.7 steps: # Get vcpython27 on Windows + Python 2.7, to build zfec # extension. See https://chocolatey.org/packages/vcpython27 and # https://github.com/crazy-max/ghaction-chocolatey - name: [Windows] Install MSVC 9.0 for Python 2.7 if: matrix.os == 'windows-latest' && matrix.python-version == '2.7' uses: crazy-max/ghaction-chocolatey@v1 with: args: install vcpython27 - name: Check out Tahoe-LAFS sources uses: actions/checkout@v2 - name: Fetch all history for all tags and branches run: git fetch --prune --unshallow - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v1 with: python-version: ${{ matrix.python-version }} - name: Install Python packages run: | pip install --upgrade codecov tox setuptools pip list - name: Display tool versions run: python misc/build_helpers/show-tool-versions.py # Codechecks errors out when running Towncrier within GitHub # Actions. See this issue: # https://github.com/hawkowl/towncrier/issues/175. # # Run codechecks anyway, and continue on error, for now. - name: Run "tox -e codechecks" run: tox -e codechecks continue-on-error: true - name: Run "tox -e coverage" run: tox -e coverage - name: Run "tox -e pyinstaller" run: tox -e pyinstaller - name: Upload eliot.log in case of failure uses: actions/upload-artifact@v1 if: failure() with: name: eliot.log path: eliot.log # Set Codecov token inside Project Settings > Secrets as # CODECOV_TOKEN. - name: Upload coverage report uses: codecov/codecov-action@v1 with: token: ${{ secrets.CODECOV_TOKEN }} file: coverage.xml