Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clean up appveyor.yml #147

Merged
merged 1 commit into from
Nov 11, 2019
Merged

Clean up appveyor.yml #147

merged 1 commit into from
Nov 11, 2019

Conversation

mgedmin
Copy link
Member

@mgedmin mgedmin commented Nov 11, 2019

  • Make sure that the Python we want actually exists (and install it if
    necessary) -- this will make our lives easier next year, when Python
    3.9 shows up

  • Make the test run quiet (setup.py test -q ignores the -q)

  • Pass --skip-existing to twine upload so the build of the tag can be
    retried if necessary without causing spurious failures

I think it might also be a good idea to add a custom version template to
avoid nonsense like https://ci.appveyor.com/project/mgedmin/zope-interface/builds/28770734,
but I'm not entirely sure what happened there and whether a custom
version template would help. (All I know is all my project appveyors
YML have version: build-{build}-{branch} and I've never seen that kind
of error.)

- Make sure that the Python we want actually exists (and install it if
  necessary) -- this will make our lives easier next year, when Python
  3.9 shows up

- Make the test run quiet (setup.py test -q ignores the -q)

- Pass --skip-existing to twine upload so the build of the tag can be
  retried if necessary without causing spurious failures

I think it might also be a good idea to add a custom version template to
avoid nonsense like https://ci.appveyor.com/project/mgedmin/zope-interface/builds/28770734,
but I'm not entirely sure what happened there and whether a custom
version template would help.  (All I know is all my project appveyors
YML have `version: build-{build}-{branch}` and I've never seen that kind
of error.)
Copy link
Member

@jamadden jamadden left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

I don't understand the comment about a custom version template. For whatever reason, I can't see any test output at https://ci.appveyor.com/project/mgedmin/zope-interface/builds/28770734.

image

Nothing is clickable. Navigating to that build starting from the main zope.interface History page doesn't help.

@mgedmin mgedmin merged commit 70d0694 into master Nov 11, 2019
@mgedmin mgedmin deleted the appveyor-cleanup branch November 11, 2019 15:51
@mgedmin
Copy link
Member Author

mgedmin commented Nov 11, 2019

I don't understand the comment about a custom version template. For whatever reason, I can't see any test output at https://ci.appveyor.com/project/mgedmin/zope-interface/builds/28770734.

Appveyor assigns each build a version number: https://www.appveyor.com/docs/build-configuration/#build-versioning. This number must be unique.

Somehow, when I ran zest.releaser and pushed to GitHub, appveyor managed to assign the same build number to two different builds:

as a result, one of the two builds failed with the error message you've screenshotted. I've restarted the build for that commit, which created a new version number:

I don't want to do this every time somebody pushes a release. I think it's a bug on appveyor's side, but I wonder if I could use the configurable version format setting in appveyor.yml to avoid it in the future?
This might work if {branch} would expand to the git tag, rather than 'master' for one of the two builds, but I'm not sure it will.

@mgedmin
Copy link
Member Author

mgedmin commented Nov 11, 2019

Looking at https://ci.appveyor.com/project/mgedmin/findimports/history I think it would work!

Ekrano nuotrauka iš 2019-11-11 17-58-25

There was no race condition in the screenshot ({build} was expanded to 34 and 35), but if that had happened, there would've been no conflict, as {branch} was expanded to the git tag for one build and 'master' for the other build.


artifacts:
- path: 'dist\*.whl'
name: wheel

deploy_script:
- ps: if ($env:APPVEYOR_REPO_TAG -eq $TRUE) { pip install twine; twine upload dist/* }
- ps: if ($env:APPVEYOR_REPO_TAG -eq $TRUE) { pip install twine; twine --skip-existing upload dist/* }
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants