Skip to content

feat(swift): initiall commit (IEC-489)#685

Closed
Lapshin wants to merge 2 commits intoespressif:masterfrom
Lapshin:master
Closed

feat(swift): initiall commit (IEC-489)#685
Lapshin wants to merge 2 commits intoespressif:masterfrom
Lapshin:master

Conversation

@Lapshin
Copy link
Contributor

@Lapshin Lapshin commented Feb 12, 2026

Checklist

  • Component contains License
  • Component contains README.md
  • Component contains idf_component.yml file with url field defined
  • Component was added to upload job
  • Component was added to build job
  • Optional: Component contains unit tests
  • CI passing

Change description

Copied with refactoring from https://github.com/swiftlang/swift-embedded-examples

@CLAassistant
Copy link

CLAassistant commented Feb 12, 2026

CLA assistant check
All committers have signed the CLA.

@Lapshin
Copy link
Contributor Author

Lapshin commented Feb 12, 2026

@erhankur , @mahavirj PTAL

@github-actions github-actions bot changed the title feat(swift): initiall commit feat(swift): initiall commit (IEC-489) Feb 12, 2026
Copy link
Collaborator

@suda-morris suda-morris left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

Is it possible to have a test app and CI test to ensure the basic interoperation between Swift-lang and C? Maybe there is an existing GitHub action we can utilize to set up the Swift dev environment.

@Lapshin Lapshin force-pushed the master branch 12 times, most recently from ef04045 to a781d7b Compare February 17, 2026 13:00
@Lapshin
Copy link
Contributor Author

Lapshin commented Feb 17, 2026

@suda-morris , added test app, PTAL

@Lapshin Lapshin requested a review from suda-morris February 19, 2026 04:39
pip install --upgrade 'idf-build-apps~=2.12'
if [ "$SWIFT_ENABLED" = "true" ]; then
echo "fetching swift version"
curl -sL https://raw.githubusercontent.com/swiftlang/swift-embedded-examples/main/.swift-version -o .swift-version
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we put the .swift-version under the application project instead of under the repo root?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It can't install swift in case the file has custom path

runs-on: ubuntu-22.04
container: espressif/idf:${{ matrix.idf_ver }}
env:
SWIFT_ENABLED: ${{ !contains(fromJSON('["release-v5.1","release-v5.2","release-v5.3"]'), matrix.idf_ver) }}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe we can create a dedicated CI job for swift applications and leave this build job as a generic job?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@suda-morris , I'm not sure this can be achieved gracefully, maybe better solution is to move to a separate repo

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would suggest a separate repo, as well.

Copied with refactoring from https://github.com/swiftlang/swift-embedded-examples

Co-authored-by: Erhan Kurubas <erhan.kurubas@espressif.com>
- sh2lib
- spi_nand_flash
- supertinycron
- swift
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about swift_support or swift_embedded? We might have other swift-related components in the future, so it would be nice to give a hint at the purpose of the component.

@Lapshin
Copy link
Contributor Author

Lapshin commented Mar 5, 2026

moved to espressif/esp-swift#1

@Lapshin Lapshin closed this Mar 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants