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

Continuous integration build and tests need to be run on other platforms #196

Closed
atruskie opened this issue Oct 18, 2018 · 0 comments
Closed

Comments

@atruskie
Copy link
Member

Is your feature request related to a problem? Please describe.

We only test and build on Windows platforms. We have no visibility into failures on other platforms until users report it.

Describe the solution you'd like

Our CI process should run ideally on both Mac and Linux.

Describe alternatives you've considered

There are no alternatives. We probably don't need to build the project, maybe we could just run unit tests or some more basic black box tests?

Additional context

I think Azure Pipelines may offer a great way to do this.

@atruskie atruskie added this to the test milestone Nov 29, 2018
atruskie added a commit that referenced this issue Apr 2, 2020
This is a combination of 14 commits.

Update azure-pipelines.yml for Azure Pipelines

CI attempt

fix indentation

change variable expression syntax

attempt

attempt

fix displayName

Update title

try setting vmImage

try runtime expression

Fix cache, try again with displayname

lock down .net sdk, add nuget config to restore

fixed sdk version

Work done for #196
atruskie added a commit that referenced this issue Apr 2, 2020
This is a combination of 5 commits.

Customise nuget feeds

Update nuget.config to include an aggregate source

move file

try manually specifying config file

try another option for nuget config

Work done for #196
atruskie added a commit that referenced this issue Apr 2, 2020
fix build configuration variable, cache nuget packages

we dont use packages.lock.json

try another build id, turn on debug

Make all projects get all runtime ids

Needed when building on other platforms

Work done for #196
atruskie added a commit that referenced this issue Apr 2, 2020
Only used by developers and requires a bunch of Windows specific DLLs that are missing on most build sytstems

Work done for #196
atruskie added a commit that referenced this issue Apr 2, 2020
This is a combination of 7 commits.

Fix build errors

Attempt to factor out job matrix

Remove FSharp compiler tools

revert job matrix refactor

try another cache concept

yet another cache idea

Revert change to FSharpCompilerPath after FSharp compiler package removed

Work done for #196
atruskie added a commit that referenced this issue Apr 2, 2020
Now instead of trying to import a generated project after a task (which was always impossible), we instead parse the output of git_version.ps1 and dynamically batch create properties.

We also have better support for error cases which should be helpful.

Work done for #196
atruskie added a commit that referenced this issue Apr 2, 2020
Now hard codes runsettings into project file for tests.
Also move test results to be a sub-folder of tests - seems neater to me

Work done for #196
atruskie added a commit that referenced this issue Apr 2, 2020
Add tests and publish

Work done for #196
atruskie added a commit that referenced this issue Apr 2, 2020
atruskie added a commit that referenced this issue Apr 2, 2020
Also changed audio util exe resolution algorithm. We will now look for a pre-packaged tool, but if we don't find one we'll search the system for a binary on PATH.

Re added missing mp3 libs to sox folder.

Removed AP.Settings.json because we no lonfer have any configurable settings.

Work done for #196
atruskie added a commit that referenced this issue Apr 2, 2020
atruskie added a commit that referenced this issue Apr 2, 2020
Should be a little more robust now, even if it is slower. Should work on azure pipelines.

Work done for #196
atruskie added a commit that referenced this issue Apr 2, 2020
Work done for #196
atruskie added a commit that referenced this issue Apr 2, 2020
atruskie added a commit that referenced this issue Apr 2, 2020
Failed on Azure Pipelines where a different root directory was used.

Generally made all tests that assumed windows was the default testing environment more hardy.

Work done for #196
atruskie added a commit that referenced this issue Apr 2, 2020
Most of this is just removing hardcoded path assumptions - ping @towsey.

Also added RuntimeIdentifierSpecificDataTestMethod to help run tests only on particular platforms.

Also fixes intermittent problem with ConfigFile.Deserialize method. A race condition in parallel code, combined with @towsey using the wrong type annotation, resulted in an incorrect object being stored in the config file cache for the "Towsey.Acoustic.yml" config file. I've fixed up the erroneous calling code but I'm not sure how to prevent the error from occuring again.

Work done for #196
atruskie added a commit that referenced this issue Apr 2, 2020
It looks like somewhere along the .NET Core path, the Process object got a bit more throw-ey... especially around the `HasExited` property.

Work done for #196
atruskie added a commit that referenced this issue Apr 2, 2020
The path diagnostics method will do it's best to diagnose why a given path might not exist. It will detect paths that are too short, or that have spaces in folder names, where errors occurs, and will even make suggestions.

I've added this to help diagnose failing tests on the CI, but it will also make friendlier error messages if used with CLI arguments.

Work done for #196
atruskie added a commit that referenced this issue Apr 2, 2020
atruskie added a commit that referenced this issue Apr 2, 2020
atruskie added a commit that referenced this issue Apr 2, 2020
Removed more crud from F# project. Added some documentation.

Work done for #196
atruskie added a commit that referenced this issue Apr 2, 2020
Also caches all Get*Exe properties in app config helper

Adds exrta tests also for native deps

Work done for #196
atruskie added a commit that referenced this issue Apr 2, 2020
atruskie added a commit that referenced this issue Apr 2, 2020
- Update a bunch of executables to get +x permission
- Modifies the vscode workspace, adds recommended extensions
- Fixes a few minor bugs
- Removes BCL build - it seems to keep triggering warnings and I honestly have no idea what it does

Work done for #196
atruskie added a commit that referenced this issue Apr 2, 2020
For some reason unix tooling was refusing to recognise type from FSharp assemblies.
This was a rather pointless namespace change made to try and get things to build 🤷‍♂️

Work done for #196
atruskie added a commit that referenced this issue Apr 2, 2020
atruskie added a commit that referenced this issue Apr 2, 2020
atruskie added a commit that referenced this issue Apr 2, 2020
Geneally had to losen deltas on unit tests 😰 because ffprobe reports different values than sox.

Also changed the way log files are cleaned up in the hopes that it musl builds will now actually clean log files.

Fixed faulty timespan assertion - the formatting string in the failed case caused a format exception!

Adds a warning to CheckEnvironment for lacking MP3 support on MacOSX

Work done for #196
atruskie added a commit that referenced this issue Apr 2, 2020
Also ensures deps are installed for framework-dependant build.

Work done for #196
atruskie added a commit that referenced this issue Apr 2, 2020
atruskie added a commit that referenced this issue Apr 2, 2020
atruskie added a commit that referenced this issue Apr 2, 2020
atruskie added a commit that referenced this issue Apr 2, 2020
Can't use the date/rev tokens outside of the build name/number sections 🤦‍♂️

Work done for #196
atruskie added a commit that referenced this issue Apr 2, 2020
atruskie added a commit that referenced this issue Apr 2, 2020
Also  modifies git_version to use correct branch even with a detached head.
git_version will also now set azure pipelines variables when invoked with -set_ci

Also simplifies the testing commands. I'm at the point where since I'm customizing nearly every option of dotnetcli@2 test theere's no reason to continue using it - it just obscure the actual command.

[WIP] starts work for release notes

Work done for #196
atruskie added a commit that referenced this issue Apr 2, 2020
atruskie added a commit that referenced this issue Apr 2, 2020
atruskie added a commit that referenced this issue Apr 2, 2020
Work for #196

And fexes indentation in yaml

Work for #196
atruskie added a commit that referenced this issue Apr 2, 2020
Also attempt to fix test publishing

#196
atruskie added a commit that referenced this issue Apr 5, 2020
More guesses at fixing test result publishing

Add pool to releast job

Update release conditions

Try a different method of skpping releases

Fix bad powershell script

Change release check method to avoid checking out code

Work done for #196
atruskie added a commit that referenced this issue Apr 5, 2020
atruskie added a commit that referenced this issue Apr 5, 2020
atruskie added a commit that referenced this issue Apr 6, 2020
Loosen artifact filter

revert glob filter change and actually fix it

Try a different method for providing AP_Version var

Work for #196
atruskie added a commit that referenced this issue Apr 6, 2020
Adds missing exec function to release notes script

Add author names to git, change branch logic

Also change checkout branch variable

Change release notes so they're output to a file

Add a bunch of extra debugging

Fix yaml syntax error

Work done for #196

[release]
atruskie added a commit that referenced this issue Apr 6, 2020
atruskie added a commit that referenced this issue Apr 6, 2020
Didn't work for azure pipelines style checkout

Work for #196
[release]
atruskie added a commit that referenced this issue Apr 6, 2020
atruskie added a commit that referenced this issue Apr 6, 2020
Try a different environment variable to get AP_VERSION in script

[release]

Work done for #196
atruskie added a commit that referenced this issue Apr 6, 2020
Try a different environment variable to get AP_VERSION in script

[release]

Work done for #196
atruskie added a commit that referenced this issue Apr 6, 2020
remove old tagging script

rename artifacts to have version name in them

[release]

Work for #196
atruskie added a commit that referenced this issue Apr 7, 2020
Work for #196

[release]
atruskie added a commit that referenced this issue Apr 7, 2020
Try a different environment variable to get AP_VERSION in script

Fix ap version var in release script

remove old tagging script

rename artifacts to have version name in them

Change tag source to manual

Try again, now specify target for release

[release]

Work done for #196
atruskie added a commit that referenced this issue Apr 7, 2020
Try a different environment variable to get AP_VERSION in script

Fix ap version var in release script

remove old tagging script

rename artifacts to have version name in them

Change tag source to manual

Try again, now specify target for release

[release]

Work done for #196

Disable githubrelease task auto notes

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

No branches or pull requests

1 participant