Skip to content

Conversation

@lovNiveriya
Copy link
Collaborator

@lovNiveriya lovNiveriya commented Dec 8, 2025

Purpose

This pull request introduces a new workflow to validate Swift Package Manager (SPM) release tags. The workflow ensures that tags follow semantic versioning conventions, the package builds successfully, tests run without failures, and the version declared in Package.swift matches the pushed release tag. This strengthens the release process and prevents invalid or broken tags from being published.

Changes

  • Added a new GitHub Actions workflow triggered on tag pushes (v* format).
  • Implemented validation to ensure tags follow Semantic Versioning (SemVer).
  • Added build and test steps using Xcode in Release configuration.
  • Added version consistency check between Package.swift and the pushed tag.
  • Integrated SwiftLint check (only runs if available).
  • (Optional) Added logic to allow future extensions like auto-deleting invalid tags or building release assets.

Checklist

  • My code follows the style of this project.
  • The code compiles without warnings.
  • I have performed a self-review of the changes.
  • I have documented my code, in particular the intent of the hard-to-understand areas.
  • (If necessary) I have updated the CHANGELOG.

CLA acceptance

By submitting this contribution, I accept the terms and conditions of the
Contributor License Agreement v1.0
Link: https://developers.concordium.com/CLAs/Contributor-License-Agreement-v1.0.pdf

  • I accept the above linked CLA.

Introduces a workflow to validate semantic version tags, build, test, and lint the Swift package on tag pushes. Also checks that the version in Package.swift matches the pushed tag. Removes .DS_Store files from the repository.
Set working directory for all run steps and update xcodebuild destination to use generic iOS Simulator. Also specify package path for Swift package resolve to ensure correct resolution.
Renamed and consolidated steps in release-spm-tag-check.yml for clarity, switched build configuration to Debug, and removed separate test and SwiftLint steps in favor of linting via Xcode. Added .DS_Store file to .github/workflows directory.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants