Merge pull request #341 from psha-/master #131
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
name: CI | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
env: | |
TAGS: "-tags=ci" | |
COVERAGE: "-coverpkg=github.com/go-python/gopy/..." | |
# Init() in main_test will make sure all backends are available if | |
# GOPY_TRAVIS_CI is set | |
GOPY_TRAVIS_CI: 1 | |
GOTRACEBACK: crash | |
PYPYVERSION: "v7.1.1" | |
GO111MODULE: auto | |
jobs: | |
build: | |
name: Build | |
strategy: | |
matrix: | |
go-version: [1.20.x, 1.19.x] | |
platform: [ubuntu-latest] | |
#platform: [ubuntu-latest, macos-latest, windows-latest] | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- name: Install Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: ${{ matrix.go-version }} | |
- name: Cache-Go | |
uses: actions/cache@v1 | |
with: | |
path: | | |
~/go/pkg/mod # Module download cache | |
~/.cache/go-build # Build cache (Linux) | |
~/Library/Caches/go-build # Build cache (Mac) | |
'%LocalAppData%\go-build' # Build cache (Windows) | |
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Install Linux packages | |
if: matrix.platform == 'ubuntu-latest' | |
run: | | |
sudo apt-get update | |
sudo apt-get install curl libffi-dev python3-cffi python3-pip | |
# pypy3 isn't packaged in ubuntu yet. | |
TEMPDIR=$(mktemp -d) | |
curl -L https://downloads.python.org/pypy/pypy3.6-${PYPYVERSION}-linux64.tar.bz2 --output $TEMPDIR/pypy3.tar.bz2 | |
tar xf $TEMPDIR/pypy3.tar.bz2 -C $TEMPDIR | |
sudo ln -s $TEMPDIR/pypy3.6-$PYPYVERSION-linux64/bin/pypy3 /usr/local/bin/pypy3 | |
# curl -L https://bootstrap.pypa.io/get-pip.py --output ${TEMPDIR}/get-pip.py | |
# pypy3 ${TEMPDIR}/get-pip.py | |
# install pybindgen | |
python3 -m pip install --user -U pybindgen | |
# pypy3 -m pip install --user -U pybindgen | |
# install goimports | |
go install golang.org/x/tools/cmd/goimports@latest | |
- name: Build-Linux | |
if: matrix.platform == 'ubuntu-latest' | |
run: | | |
make | |
- name: Test Linux | |
if: matrix.platform == 'ubuntu-latest' | |
run: | | |
make test | |
- name: Upload-Coverage | |
if: matrix.platform == 'ubuntu-latest' | |
uses: codecov/codecov-action@v1 |