Skip to content
This repository has been archived by the owner on Oct 17, 2021. It is now read-only.

CI: add CI job for Windows #8

Merged
merged 8 commits into from
Apr 28, 2021
Merged

CI: add CI job for Windows #8

merged 8 commits into from
Apr 28, 2021

Conversation

compnerd
Copy link
Contributor

Add a Windows build GitHub action for CI purposes. This is not as flexible as
the Linux and macOS builds yet as it doesn't use the matrix layout to build
multiple versions. However, this should get us initial coverage for Windows.

Fixes: #7

Add a Windows build GitHub action for CI purposes.  This is not as flexible as
the Linux and macOS builds yet as it doesn't use the matrix layout to build
multiple versions.  However, this should get us initial coverage for Windows.

Fixes: SwiftDocOrg#7
@compnerd
Copy link
Contributor Author

Still need to figure out how to deal with the libxml2 dependency

@mattt
Copy link
Contributor

mattt commented Apr 28, 2021

^ Pushed an arbitrary commit to get CI running after c1a0b84

@compnerd
Copy link
Contributor Author

@mattt - what do you think of depending on //swift/build for this for the time being? I need to look into getting libxml2 built locally, but I figure that I will soon be dealing with the same problem for graphviz, and can just enhance this as a follow up then.

@mattt
Copy link
Contributor

mattt commented Apr 28, 2021

@compnerd Whatever you need to make this work on Windows, I'm all for it. I'm honestly amazed that you got CI to pass in the first place.

To clarify, the dependency on //swift/build that you're describing is this step in the workflow, where you download a build artifact from Azure Pipelines, right? My only concern is about whether those blobs eventually disappear. That may be a moot issue if we get libxml2 building in CI. But even then, it might be nice to avoid rebuilding that on every CI run.

If you're looking for something more durable, we could package the build artifact as an OCI container using Skopeo and put it in GitHub Container Registry for long-term storage. Alternatively, I was surprised that there wasn't already an entry for libxml2 on Chocolatey, but some other folks might appreciate having that.

But for now, I wouldn't let perfect be the enemy of good. I'm thrilled to see this working, and am excited to keep making forward progress on all of this.

@compnerd
Copy link
Contributor Author

Haha, building on Windows has been getting much easier and better over time :)

Yes, the dependency is the libxml2 prebuilt. We could look at using chocolatey, it should have libxml2, but I don't know what the build types are. The prebuilt on Azure is actually static code, so no DLL to distribute with it. Its unlikely to disappear - it is used for building Foundation for the snapshots.

@compnerd compnerd merged commit 7bb3ed3 into SwiftDocOrg:main Apr 28, 2021
@compnerd compnerd deleted the ci branch April 28, 2021 22:08
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.

Run CI on Windows
2 participants