Add release notes #17
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: erl_interface | |
| on: | |
| push: | |
| tags: | |
| - "*.*.*" | |
| jobs: | |
| ios: | |
| name: Build iOS | |
| runs-on: macos-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ./.github/actions/erl_interface_build | |
| with: | |
| otp_version: ${{ github.ref_name }} | |
| xcomp_conf: xcomp/erl-xcomp-arm64-ios.conf | |
| name: universal-libei-ios | |
| ios_simulator_split_arch: | |
| runs-on: macos-latest | |
| strategy: | |
| matrix: | |
| arch: [arm64, x86_64] | |
| name: Build iOS Simulator (${{ matrix.arch }}) | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Build | |
| uses: ./.github/actions/erl_interface_build | |
| with: | |
| otp_version: ${{ github.ref_name }} | |
| xcomp_conf: xcomp/erl-xcomp-${{ matrix.arch }}-iossimulator.conf | |
| name: libei-iossimulator-${{ matrix.arch }} | |
| ios_simulator: | |
| name: Merge iOS Simulator Archs | |
| runs-on: macos-latest | |
| needs: [ios_simulator_split_arch] | |
| steps: | |
| - name: Retrieve Artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: artifacts | |
| pattern: libei-iossimulator-* | |
| - name: Merge Architectures | |
| run: lipo -create -output universal-libei-iossimulator.a$(find artifacts -type f -name '*.a' | xargs -I{} printf -- ' {}') | |
| - name: Produce Artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: universal-libei-iossimulator | |
| path: universal-libei-iossimulator.a | |
| xcframework: | |
| runs-on: macos-latest | |
| needs: [ios, ios_simulator] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| sparse-checkout: priv/erl_interface_include | |
| - name: Retrieve Artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| pattern: universal-libei-* | |
| path: artifacts | |
| - name: Make xcframework | |
| run: | | |
| xcodebuild -create-xcframework -output erl_interface.xcframework $(find artifacts -type f -name '*.a' | xargs -I{} printf -- '-library %s -headers priv/erl_interface_include ' {}) | |
| zip -0 -r erl_interface.xcframework.zip erl_interface.xcframework | |
| - name: Make release notes | |
| run: | | |
| cat <<RELEASE_NOTES >> release_notes.txt | |
| # Swift Dependency | |
| Add this binary target to use `erl_interface` from Swift. | |
| \`\`\`swift | |
| .binaryTarget( | |
| name: "erl_interface", | |
| url: "https://github.com/liveview-native/elixir_pack/releases/download/${{ github.ref_name }}/erl_interface.xcframework.zip", | |
| checksum: "$(swift package compute-checksum erl_interface.xcframework.zip)" | |
| ) | |
| \`\`\` | |
| RELEASE_NOTES | |
| - name: Release | |
| uses: softprops/action-gh-release@v2 | |
| if: github.ref_type == 'tag' | |
| with: | |
| body_path: release_notes.txt | |
| files: erl_interface.xcframework.zip |