Github deployment with multiple python environments

maik.figura's Avatar

maik.figura

03 Dec, 2015 01:23 PM

Hey,

we are using Appveyor for our builds and we are evaluating the Github deployment functionality, which looks promising. We are facing one problem, which we couldnt solve so far.

We are running a project that is tested under python2.6 and python2.7. Our appveyor.yml uses the deploy: part which works as expected so far. We are wondering why this part is triggered twice, once for the py26 and once for the py26 environment. Is there any way to avoid this? Because it essentially recreates (reuploads) the release on Github, which could be avoided in our case, as the distributions are the same for both versions.

Our appveyor.yml looks like this:

environment:
  matrix:
    - PYTHON: "C:\\Python27-x64"
      TOX_ENV: "py27"
    - PYTHON: "C:\\Python26-x64"
      TOX_ENV: "py26"

...

after_test:
  - "%PYTHON%/python setup.py bdist_wheel"

...

# create artifacts for all builds
artifacts:
  - path: 'dist\*.whl'
    name: 'Wheel'

  - path: 'dist\*.zip'
    name: 'Source'

# creeate github release and upload artifacts
# only create release when master is updated
deploy:
  description: "Release Description"
  provider: GitHub
  auth_token:
    secure: $insert_token
  artifact: # upload ALL artifacts to github
  draft: false
  prerelease: true
  on:
    branch: master # only on merge to master
    appveyor_repo_tag: true # only when a tag is checked in

Thanks in advance for all help.

Cheers,
Maik.

  1. Support Staff 1 Posted by Feodor Fitsner on 03 Dec, 2015 06:21 PM

    Feodor Fitsner's Avatar

    You can introduce 'should_deploy' environment variable, like that:

    environment:
      matrix:
        - PYTHON: "C:\\Python27-x64"
          TOX_ENV: "py27"
          should_deploy: yes
        - PYTHON: "C:\\Python26-x64"
          TOX_ENV: "py26"
    

    and later in deploy section:

    deploy:
      tag: $(latest_version)
      release: $(latest_version)
      description: "Release Description"
      provider: GitHub
      ...
      on:
        should_deploy: yes
        branch: master # only on merge to master
        appveyor_repo_tag: true # only when a tag is checked in
    
  2. 2 Posted by maik.figura on 04 Dec, 2015 09:39 AM

    maik.figura's Avatar

    Thanks for the fast answer Feodor. We will try that. It is impressive how flexible the system is.

  3. Support Staff 3 Posted by Feodor Fitsner on 04 Dec, 2015 02:38 PM

    Feodor Fitsner's Avatar

    Sure, thanks for writing about AppVeyor!

    - Feodor

  4. maik.figura closed this discussion on 08 Dec, 2015 08:38 AM.

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac