Skip to content
This repository has been archived by the owner on Apr 15, 2020. It is now read-only.

sse2neon #741

Merged
merged 4 commits into from
Apr 2, 2017
Merged

sse2neon #741

merged 4 commits into from
Apr 2, 2017

Conversation

ruslo
Copy link
Owner

@ruslo ruslo commented Apr 2, 2017

No description provided.

@ruslo
Copy link
Owner Author

ruslo commented Apr 2, 2017

@ruslo ruslo mentioned this pull request Apr 2, 2017
@headupinclouds
Copy link
Contributor

Thanks. I'll add a build test next time.

@headupinclouds
Copy link
Contributor

headupinclouds commented Apr 2, 2017

This package is about SSE to NEON translation and is only expected to work on NEON platforms (i.e., iOS and Android). We should remove all non NEON TOOLCHAINS from CI.

@ruslo ruslo merged commit 3b10339 into master Apr 2, 2017
@ruslo ruslo deleted the pr.sse2neon branch April 2, 2017 13:25
@ruslo
Copy link
Owner Author

ruslo commented Apr 2, 2017

We should remove all non NEON TOOLCHAINS from CI

Done.

Uploading:

@headupinclouds
Copy link
Contributor

Thanks. For future reference... In addition to the skeleton build test, Is there some place a list of toolchains should be provided with each PR to make it complete, or is that something you do as needed in ingenue?

Should Appveyor + Travis be enabled by default for hunter-packages so that some of the platform build issue tests can be caught early on?

@ruslo
Copy link
Owner Author

ruslo commented Apr 2, 2017

In addition to the skeleton build test, Is there some place a list of toolchains should be provided with each PR to make it complete, or is that something you do as needed in ingenue?

Yes in ingenue, each package has a pkg.<package-name> branch with corresponding list of toolchains for testing.

Should Appveyor + Travis be enabled by default for hunter-packages so that some of the platform build issue tests can be caught early on?

Yes it's possible but .travis.yml/appveyor.yml configs for Hunter CI and package itself doesn't match, so it should be done separately.

@ruslo
Copy link
Owner Author

ruslo commented Apr 2, 2017

configs for Hunter CI and package itself doesn't match

Note that also Hunter do integration test (i.e. it tests correctness of *Config.cmake file) which is tricky for regular testing. Though as you noticed we will catch errors like unsupported toolchains earlier.

@ruslo
Copy link
Owner Author

ruslo commented Apr 2, 2017

Released: https://github.com/ruslo/hunter/releases/tag/v0.18.35
Wiki page: https://github.com/ruslo/hunter/wiki/pkg.sse2neon
List updated: https://docs.hunter.sh/en/latest/packages/all.html

@headupinclouds
Copy link
Contributor

headupinclouds commented Apr 2, 2017

In addition to the skeleton build test, Is there some place a list of toolchains should be provided with each PR to make it complete, or is that something you do as needed in ingenue?

Yes in ingenue, each package has a pkg. branch with corresponding list of toolchains for testing.

I'd like to sketch the end-to-end process in more detail as a reference for contributions. Your feedback would be much appreciated. If the basic structure is in place I can add more details. Please let me know if this type of thing exists in current documentation. So a typical PR will consist of:

  1. Request hunter-package as needed here: https://github.com/ruslo/hunter/issues

    • upstream package is preferable where feasible or where SHA1 is necessary (OpenSSL, etc)
    • a new hunter-package is required for packages that
      • lack usable root directory CMakeLists.txt or autoconf files
      • don't have a clean install and package config export in existing CMakeLists.txt
      • have additional dependencies (that should be managed by hunter_add_package())
  2. Initial hunter-package PR ; Role: GitHub account; ex: hunterize sse2neon hunter-packages/sse2neon#1

    • TODO: sample git commands here
  3. TODO: Optional CI build testing here (and possible unit testing via PACKAGE_BUILD_TEST=ON w/ polly --test)

  • Setup : Role = Appveyor/Travis config administrator of hunter-packages?
  • Testing (after initial setup) : Role = Github account (testing is automated once CI hooks are setup)
    Note: I'm not sure if this would be more or less work for you.
  1. Create a hunter-package release/tag:
    Role: A hunter-package member
    ex: https://github.com/hunter-packages/sse2neon/releases
  • Copy "Source code (tar.gz)" link in release page above (right click + copy)
  • > URL=https://github.com/hunter-packages/sse2neon/archive/v1.0.0-p0.tar.gz
  • > wget ${URL}
  • > SHA=$(shasum v1.0.0-p0.tar.gz | awk '{print $1}')
  • > ./some_create_package_script.sh sse2neon 1.0.0-p0 ${URL} ${SHA} > hunter.sse2neon..cmake to produce entry like this:

hunter.sse2neon.cmake:

hunter_add_version(
    PACKAGE_NAME
    sse2neon
    VERSION
    1.0.0-p0
    URL
    "https://github.com/hunter-packages/sse2neon/archive/v1.0.0-p0.tar.gz"
    SHA1
    1a3104782526ea6aba9e5429dc64414e91b4cf1c
)

TODO: additional automation?

  1. Create the hunter PR :
  1. How does a user provide necessary ingenue testing here?

@ruslo ☝️ I'm unclear on how users can help provide the ingenue testing here. Since there is a fair amount of work for you (even in the absence of user errors) w/ each PR, I'm curious what can be done to help. I guess this relates to the automation service: https://github.com/ruslo/hunter/issues/449

@ruslo
Copy link
Owner Author

ruslo commented Apr 4, 2017

How does a user provide necessary ingenue testing here?

I'm creating ingenue/pkg.<package> branch for testing with independent .travis.yml/appveyor.yml. If the tests failed user have to investigate the problems and fix/exclude toolchains.

I guess this relates to the automation service: #449

Yes, related, also I've openned https://github.com/ruslo/hunter/issues/743

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

Successfully merging this pull request may close these issues.

2 participants