Commit Graph

148 Commits

Author SHA1 Message Date
Itamar Turner-Trauring
a612dcff5a Run macOS integration tests for Python 3. 2021-07-06 09:15:30 -07:00
Sajith Sasidharan
8d461491b8
Merge remote-tracking branch 'origin/master' into 3733.use-newer-netifaces 2021-07-05 10:41:08 -04:00
Sajith Sasidharan
d2fdd92b8b Use older Tor on macOS + Python 2.7 2021-07-05 08:38:31 -04:00
Sajith Sasidharan
f4bba078d5
Merge 'origin/master' into 3733.use-newer-netifaces 2021-06-25 11:11:38 -04:00
Itamar Turner-Trauring
2214e7a59f macOS has issues on Python 3, don't want to fix them in this PR. 2021-06-10 11:52:30 -04:00
Itamar Turner-Trauring
6fdda6163c Run Python 3 integration tests on more than just Linux. 2021-06-10 10:47:17 -04:00
Sajith Sasidharan
6c578df6a9 CI: remove special handling for Python 2.7 + Windows 2021-06-08 14:48:12 -04:00
Itamar Turner-Trauring
39334ebc42 Run tests on Windows with Python 3. 2021-05-25 14:12:40 -04:00
Itamar Turner-Trauring
b330eb3b6f Merge remote-tracking branch 'origin/master' into 3709-even-more-integration-tests-python-3 2021-05-13 11:27:13 -04:00
Itamar Turner-Trauring
dc7caa00c5 Run Python 3 integration tests. 2021-05-13 10:25:48 -04:00
Itamar Turner-Trauring
d7ad72f651 Just do integration tests as part of normal CI runners. 2021-05-12 11:21:22 -04:00
Itamar Turner-Trauring
8902868b90 Skip Windows Python 3 for now. 2021-05-05 13:15:29 -04:00
Itamar Turner-Trauring
f645715b15 Put off pypy3 to a later ticket. 2021-05-05 11:59:06 -04:00
Itamar Turner-Trauring
ea2db971a6 Try to make GitHub Actions automatically use appropriate Tox envs by using
`tox-gh-actions` package.
2021-05-05 10:06:35 -04:00
Itamar Turner-Trauring
8f997870c8 Test newer versions of Python 3, as well as PyPy 3. 2021-05-05 09:47:28 -04:00
Sajith Sasidharan
6d1b95b965 GitHub Actions: add more parenthesis
https://github.community/t/and-operator-in-if-condition/154825
suggests that adding more parens might work.
2021-04-27 16:21:22 -04:00
Sajith Sasidharan
3722b8f628 GitHub Actions: quote architecture
Docs for actions/setup-python seem to do that, although
inconsistently.
2021-04-27 15:52:28 -04:00
Sajith Sasidharan
73d3295a6a GitHub Actions: use 64-bit Python 3.6 to test on Windows 2021-04-27 15:49:25 -04:00
Sajith Sasidharan
65398a2d63 GitHub Actions: update note about Windows again 2021-04-26 17:06:34 -04:00
Sajith Sasidharan
1531bea63f GitHub Actions: update note about Windows
[skip ci]
2021-04-26 16:58:24 -04:00
Sajith Sasidharan
e46e4409c2 GitHub Actions: really use x86 Python on Windows
In a prior commit, I mistakenly used "architecture: x64" instead of
"architecture: x86", and tests actually passed.

That was surprising, because netifaces do not have amd64_win will on
PyPI.  But mystery was solved when itamarst pointed out that netifaces
wheel (that we previously built) is present on pip cache.

But pip cache might be purged one day, and tests will fail again that
day.  We can't have that, so we will try to stick with x86 for now.
2021-04-26 16:39:23 -04:00
Sajith Sasidharan
68603fc015 GitHub Actions: just use x86 Python to test on Windows
I can't figure out the correct GitHub Actions magic incantation^w^w
expression syntax that is needed to isolate (Windows && Python 2.7),
so let's just run also run x86 Python 3.6 on Windows.
2021-04-26 13:41:17 -04:00
Sajith Sasidharan
dec97b3aa1 GitHub Actions: when in doubt, drop some curly braces 2021-04-26 13:35:37 -04:00
Sajith Sasidharan
ed82119f32 GitHub Actions: when in doubt, throw in more parens 2021-04-26 13:14:28 -04:00
Sajith Sasidharan
106976e8cc GitHub Actions: use expression syntax
Per GitHub documentation:

  When you use expressions in an if conditional, you may omit the
  expression syntax (${{ }}) because GitHub automatically evaluates
  the if conditional as an expression, unless the expression contains
  any operators. If the expression contains any operators, the
  expression must be contained within ${{ }} to explicitly mark it for
  evaluation.

https://docs.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions
2021-04-26 12:17:25 -04:00
Sajith Sasidharan
196ce5103d GitHub Actions: test with 32-bit Python 2.7 on Windows 2021-04-26 12:00:11 -04:00
Sajith Sasidharan
b707a6ca7b GitHub Actions: do not install vcpython27
Microsoft seems to have pulled the compiler download.
2021-04-26 11:36:51 -04:00
Sajith Sasidharan
5f7c6e4552 Remove Windows exclusion 2021-04-05 18:34:48 -04:00
Sajith Sasidharan
65fd5a4912 Add a note about adding Windows to GitHub Actions test matrix 2021-04-05 14:52:31 -04:00
Sajith Sasidharan
2a62086323 Turn down coveralls verbosity 2021-03-31 19:16:58 -04:00
Sajith Sasidharan
d17f3d36c2 Run coveralls verbosely 2021-03-31 17:57:44 -04:00
Sajith Sasidharan
2e67e07081 Just don't run coverage tests with Python 3.6 + Windows
Another test matrix setup I tried is this:

  jobs:
    coverage:
        matrix:
          os:
            - macos-latest
            - windows-latest
            - ubuntu-latest
          python-version:
            - 2.7
          include:
            - python-version: 3.6
              os:
                - macos-latest
                - ubuntu-latest
            - python-version: 3.6
              os: windows-latest
              experimental: true

But that failed on Python 3.6 + macOS with a simple error message, and
no further explanation: "This check failed".  Huh?

Might simply exclude Windows altogether, because that approach sort of
worked in another experiment.
2021-03-31 16:42:39 -04:00
Sajith Sasidharan
1351a62ac4 Expect coverage tests to fail on Python 3.6 + Windows 2021-03-31 16:13:41 -04:00
Sajith Sasidharan
dd3b95a0bd Add ubuntu-latest to GitHub Actions matrix 2021-03-31 15:55:05 -04:00
Sajith Sasidharan
aebbc52f06 Add Python 3.6 to GitHub Actions test matrix
Let us send more coverage reports to coveralls.io
2021-03-31 15:55:05 -04:00
Sajith Sasidharan
88e3005abb Quote some YAML strings
Following PR review feedback.

Some parts of GitHub Actions configuration follows convention in GA's
documentation, in which YAML strings are not quoted, but that probably
is not a good idea.  We also don't want to change all the strings in
this unrelated set of changes.  So we will quote strings as we go, in
the blocks we touch.
2021-03-31 11:53:02 -04:00
Sajith Sasidharan
4e4faee5fd Update notes about coveralls versions 2021-03-27 10:21:34 -04:00
Sajith Sasidharan
626eba53b8 Run coveralls --finish to indicate completion 2021-03-27 10:17:22 -04:00
Sajith Sasidharan
32b2e93302 Use newer version of coveralls for reporting 2021-03-27 10:03:12 -04:00
Itamar Turner-Trauring
38da89a7b5 Try to unbreak Hypothesis in CI. 2021-02-23 09:52:30 -05:00
Jean-Paul Calderone
7864330562 Merge remote-tracking branch 'origin/master' into 3385.coveralls-for-coverage-reports 2021-02-12 12:58:49 -05:00
Sajith Sasidharan
ed92202762 Updates comments about GitHub cache action 2021-01-18 17:55:07 -05:00
Sajith Sasidharan
9e4ea0c491 Use fetch-depth of 0 with GitHub Actions
Using a fetch-depth of 0 should have the same effect as as `git fetch
--prune --unshallow` after doing a shallow checkout.
2021-01-18 17:54:17 -05:00
Sajith Sasidharan
99cca0ea8e No need of upgrading pip on GitHub Actions 2021-01-18 13:38:09 -05:00
Sajith Sasidharan
adbe23fe7a Add a note about pip version on GitHub Actions 2021-01-18 13:34:25 -05:00
Sajith Sasidharan
2a1a5cb0a5 GitHub Actions have sufficiently recent pip
At the time of writing this commit message, GitHub Actions offers pip
v20.3.3 for both ubuntu-latest and windows-latest, and pip v20.3.1 for
macos-latest.  Those are sufficiently recent pip versions that have
"cache dir" sub-command.
2021-01-18 13:32:53 -05:00
Sajith Sasidharan
1f1a30095e Get pip version for all three GitHub Actions OSes 2021-01-18 13:22:04 -05:00
Sajith Sasidharan
8bf068f991 What's the pip version on GitHub Actions?
There's no need of upgrading pip if GA offers a sufficiently new pip.
2021-01-18 13:19:33 -05:00
Sajith Sasidharan
f731159cd7 Install Python packages after setting up pip cache 2021-01-18 13:13:32 -05:00
Sajith Sasidharan
573ab8768b Re-title "use pip cache" step in GitHub Actions 2021-01-18 11:08:56 -05:00
Sajith Sasidharan
27a122088c Use pip cache on GitHub Actions
Using the method outlined in https://github.com/actions/cache/blob/main/examples.md#using-pip-to-get-cache-location
2021-01-18 11:02:55 -05:00
Sajith Sasidharan
fa1a8e8371 Upgrade pip used in GitHub Actions
From pip 20.1+ onward, "pip cache dir" can be used to find location of
pip cache, and this is useful across all three major OSes supported by
GitHub Actions.
2021-01-18 10:58:12 -05:00
Jean-Paul Calderone
e72c93a982 explain why we're not using the github action here 2021-01-08 08:52:38 -05:00
Jean-Paul Calderone
5614c4c3f4 improve this comment marginally
just looking for an excuse to trigger another build and see if inviting
"coveralls" to be a collaborator on LeastAuthority/tahoe-lafs fixes the status
reporting issue.
2021-01-08 08:27:00 -05:00
Jean-Paul Calderone
709823e562 most of those words proved irrelevant 2021-01-07 18:24:57 -05:00
Jean-Paul Calderone
3b8df95e3e Try constructing build_num differently for push 2021-01-06 21:09:33 -05:00
Jean-Paul Calderone
e382ef8a89 Clean up the explanation, link to some more/better stuff 2021-01-06 20:27:41 -05:00
Jean-Paul Calderone
f5ba293f79 Ideally this is no longer necessary 2021-01-06 20:27:17 -05:00
Jean-Paul Calderone
e3a6f43dc9 less shell wankery 2021-01-06 16:43:11 -05:00
Jean-Paul Calderone
59e385c00f apparently it doesn't have remotes in there 2021-01-06 16:24:53 -05:00
Jean-Paul Calderone
d515887ba1 This is probably faster and may actually work
`git fetch --prune --unshallow` doesn't seem to get
refs/remotes/pull/<PR>/merge but that's okay because HEAD is already set to that
2021-01-06 16:16:36 -05:00
Jean-Paul Calderone
89c54af01d Guess we need the rest of the repo too, surprise. 2021-01-06 16:05:35 -05:00
Jean-Paul Calderone
fac12210cb Can't do that Git stuff without a checkout
Maybe *that* is why `coveralls --finish` fails?
2021-01-06 15:58:48 -05:00
Jean-Paul Calderone
52c42b5118 dump this info, who knows how many more rounds this will take 2021-01-06 15:48:20 -05:00
Jean-Paul Calderone
24a531474d So much for my ability to read and understand a Python program
coveralls complained:

{"error":"No build matching CI build number 467026020 found"}

So try constructing a build_num that looks like the value we observed from
`coveralls` output when it was submitting coverage data.
2021-01-06 15:38:12 -05:00
Jean-Paul Calderone
4d2782c178 Hahaha. Resolve the variable, don't just include its name. 2021-01-06 14:57:31 -05:00
Jean-Paul Calderone
8e8a7d82c6 it was one or the other. turns out it was the other. 2021-01-06 14:33:31 -05:00
Jean-Paul Calderone
f24cc5da0c The angrier I am the more words I write 2021-01-06 14:33:00 -05:00
Jean-Paul Calderone
adf3518fc1 Okay I guess that served its purpose 2021-01-06 14:32:48 -05:00
Jean-Paul Calderone
4b65751f51 Debug the earlier submissions to see what build_num they're providing 2021-01-06 09:01:08 -05:00
Jean-Paul Calderone
f3aca51e35 run in debug mode to collect info for bug report 2021-01-05 20:52:02 -05:00
Jean-Paul Calderone
9a8a61b740 Further tweaks to help the last step 2021-01-05 20:31:32 -05:00
Jean-Paul Calderone
bebcca39f6 Switch to coveralls-python, maybe it works better 2021-01-05 20:09:46 -05:00
Jean-Paul Calderone
3fb412eda1 Perhaps this is the correct github-token to use.
The coveralls docs might be wrong.
2021-01-05 16:20:41 -05:00
Jean-Paul Calderone
13bcd8170b Turn on Coveralls on GitHub actions 2021-01-05 15:57:10 -05:00
Sajith Sasidharan
c8aab085d7 Re-introduce vcpython27 in GitHub Actions
Turns out that netifaces has not published a .whl package for Python
2.7 and 64-bit Windows.
2020-11-25 08:17:40 -05:00
Sajith Sasidharan
525f2201c6 Do not install vcpython27 during Windows CI steps
With zfec 1.5.4, wheel packages for Windows is available now.
Installing a compiler is no longer necessary.
2020-10-15 14:17:53 -04:00
Jean-Paul Calderone
e107e11079 Remove references to the bare "coverage" tox environment
* We stopped using Appveyor a while ago so entirely remove its configuration.
* There's no release step where coverage information is *examined* so why
  collect it?
* Switch GitHub Actions config to py27-coverage tox environment
2020-08-27 10:37:50 -04:00
Sajith Sasidharan
9b68b484bd Run integration tests on Windows on GitHub Actions
Integration tests are currently not run on Windows, because they
turned out to be a little unreliable: sometimes they fail, and when
that happens restarting the test would make things pass.

We will re-enable them and see what happens.
2020-06-22 16:32:26 -04:00
Sajith Sasidharan
4b1ff9546c Do not install setuptools in pyinstaller step
This is unnecessary, and likely was the result of copy-pasting.
2020-05-13 12:06:11 -04:00
Sajith Sasidharan
f3d37e52db Upload PyInstaller package as a GitHub Actions artifact 2020-05-12 18:37:50 -04:00
Sajith Sasidharan
86184e9aa9 Do not install codecov in GitHub Actions packaging tests 2020-05-12 18:28:42 -04:00
Sajith Sasidharan
b1d7e99671 Try running PyInstaller-generated binary in GitHub Actions 2020-05-12 18:15:17 -04:00
Jean-Paul Calderone
e336d977dd
Filter push trigger down to master branch 2020-04-13 12:19:41 -04:00
Sajith Sasidharan
a38029f9db Remove on.release from workflow triggers
Per GitHub's documentation for on.release events, `on.release` event
will run our workflow any time the `release` event occurs, but it is
unclear if Tahoe will need this yet.  Removing for now.
2020-03-06 14:13:05 -05:00
Sajith Sasidharan
c4061fffa0 Fearlessly use codecov.io token 2020-02-27 23:15:51 -05:00
Sajith Sasidharan
29947aad86 Don't run coverage tests on Ubuntu 2020-02-26 09:19:37 -05:00
Sajith Sasidharan
9752d6a2ff Don't run tests periodically
While working on the PR, I never saw this actually working.
2020-02-26 09:15:02 -05:00
Sajith Sasidharan
2d0cf3d3c3 Upload integration.eliot.json if integration tests fail 2020-02-26 09:11:23 -05:00
Sajith Sasidharan
5ba0ba787f Omit codechecks 2020-02-26 09:09:54 -05:00
Sajith Sasidharan
d996cc8d11 Fix a syntax error
Per GitHub, this is not fine:

    - name: [Windows] Do stuff
      run: ...

This is fine:

    - name: Do stuff [Windows]
      run: ...
2020-02-25 23:17:45 -05:00
Sajith Sasidharan
4924cd9c04 Run "tox -e pyinstaller" in a separate step 2020-02-25 23:10:26 -05:00
Sajith Sasidharan
383b102b78 Run integration tests
Run integration tests only on macOS for now, because on Windows and
Ubuntu integration tests get stuck and time out after six hours.
2020-02-25 23:05:03 -05:00
Sajith Sasidharan
1a4ae0fc81 Remove "tox -e py27"
Running "tox -e coverage" is sufficient.
2020-02-25 23:02:35 -05:00
Sajith Sasidharan
c535b83f06 Rename "test" to "coverage" 2020-02-25 23:02:02 -05:00
Sajith Sasidharan
77c6b39a70 Update a name 2020-02-25 23:01:29 -05:00
Sajith Sasidharan
afdfb48ee1 Run codechecks, but continue on error. 2020-02-25 22:59:04 -05:00
Sajith Sasidharan
5862e1bea3 Use GitHub Actions for CI.
Fixes: ticket:3277
2020-02-20 22:19:21 -05:00