Skip to content

Continuing improvements to continuous integration #6

@cboulay

Description

@cboulay

I recently updated the GitHub Actions yaml. The current behaviour is as follows:

  • On pull request, build for all 3 platforms
  • On push of a tag that starts with 'v' (e.g., v1.13.0), build, then create release and upload packages to release.

I'm fairly happy with this though I think there are a couple things that should be improved.

  • Get rid of other CIs (appveyor and travis). 'latest' Windows, Mac, and Linux are enough for the applications.
    • This is trivial. I just want to hear any objections before I delete the configuration files.
  • Get rid of hard-coding of application name and version in artifact files and package names.

The second problem has a couple potential solutions.

  • The first solution is potentially complicated but could work today: capture the project name and project version from the CMakeCache.txt and use those to build filenames. I have an example of how to capture the names with Powershell here, but I have no idea how to use those to build the upload-artifact with: path:.
  • The second solution is probably much simpler but we have to wait. Both upload-artifact and download-artifact actions are in preview for v2 which will support file globbing. I don't know what the syntax will be when that comes, but presumably we can just provide some wildcards (build/*.7z) and we don't have to worry about the package name.
    • I don't know how to use these filenames in softprops/action-gh-release with: files:.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions