-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1 from ionic-team/chore/merge-monorepo-files
Create Whole Project Structure
- Loading branch information
Showing
28 changed files
with
2,231 additions
and
1 deletion.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
name: Continuous Integration | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
pull_request: | ||
types: [opened, synchronize, reopened] | ||
|
||
jobs: | ||
sonarcloud: | ||
name: Unit-Tests | ||
runs-on: macos-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
|
||
- name: Link SwiftLint or install it | ||
run: brew link --overwrite swiftlint || brew install swiftlint | ||
|
||
- name: Set up XCode | ||
run: sudo xcode-select --switch /Applications/Xcode_15.0.app | ||
|
||
- name: Bundle Install | ||
run: bundle install | ||
|
||
- name: Unit tests | ||
run: bundle exec fastlane unit_tests | ||
|
||
- name: Code Coverage | ||
run: bundle exec fastlane coverage | ||
|
||
- name: Lint | ||
run: bundle exec fastlane lint |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
name: Prepare Release | ||
|
||
on: | ||
workflow_dispatch: | ||
inputs: | ||
versionBumpLevel: | ||
description: 'Version bump level (patch, minor, major)' | ||
required: true | ||
type: choice | ||
default: 'patch' | ||
options: | ||
- patch | ||
- minor | ||
- major | ||
|
||
jobs: | ||
build-and-release: | ||
if: github.ref == 'refs/heads/main' | ||
runs-on: macos-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
|
||
- name: Link SwiftLint or install it | ||
run: brew link --overwrite swiftlint || brew install swiftlint | ||
|
||
- name: Set up XCode | ||
run: sudo xcode-select --switch /Applications/Xcode_15.0.app | ||
|
||
- name: Set up Ruby | ||
uses: ruby/setup-ruby@v1 | ||
with: | ||
ruby-version: '3.3' | ||
|
||
- name: Bump version | ||
run: ruby ./scripts/bump_versions.rb ${{ github.event.inputs.versionBumpLevel }} | ||
|
||
- name: Build XCFramework | ||
run: ./scripts/build_framework.sh | ||
|
||
- name: Get new version | ||
id: version | ||
run: echo "VERSION=$(ruby -e 'puts File.read("./OSGeolocationLib.podspec").match(/spec.version.*=.*''(\d+\.\d+\.\d+)''/)[1]')" >> $GITHUB_ENV | ||
|
||
- name: Create new branch | ||
run: | | ||
git switch --create "prepare-new-release-${{ env.VERSION }}" | ||
- name: Move zip file to root and push changes | ||
run: | | ||
if [ -f OSGeolocationLib.zip ]; then | ||
rm OSGeolocationLib.zip | ||
else | ||
echo "File does not exist." | ||
fi | ||
mv build/OSGeolocationLib.zip . | ||
git config --global user.name 'github-actions[bot]' | ||
git config --global user.email 'github-actions[bot]@users.noreply.github.com' | ||
git add . | ||
git commit -m "chore: Bump version to ${{ env.VERSION }}" | ||
git push origin HEAD:prepare-new-release-${{ env.VERSION }} | ||
- name: Create pull request | ||
id: create_pr | ||
run: | | ||
gh pr create -B main -H prepare-new-release-${{ env.VERSION }} --title 'Prepare `main` to Release `${{ env.VERSION }}`' --body 'Bumps version to `${{ env.VERSION }}`.<br/>Creates an updated and ready-to-be-released `OSGeolocationLib.zip`.' | ||
PR_NUMBER=$(gh pr view --json number --jq '.number') | ||
echo "PR_NUMBER=${PR_NUMBER}" >> $GITHUB_ENV | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: Add label to the pull request | ||
run: | | ||
gh api \ | ||
--method POST \ | ||
-H "Accept: application/vnd.github+json" \ | ||
-H "X-GitHub-Api-Version: 2022-11-28" \ | ||
/repos/${{ github.repository }}/issues/${{ env.PR_NUMBER }}/labels \ | ||
-f "labels[]=release" | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
name: Release and Publish | ||
|
||
on: | ||
pull_request: | ||
types: [closed] | ||
branches: | ||
- 'main' | ||
|
||
jobs: | ||
post-merge: | ||
if: contains(github.event.pull_request.labels.*.name, 'release') && github.event.pull_request.merged == true | ||
runs-on: macos-latest | ||
|
||
steps: | ||
- name: Checkout Repository | ||
uses: actions/checkout@v4 | ||
|
||
- name: Set up Cocoapods | ||
run: gem install cocoapods | ||
|
||
- name: Get new version | ||
id: version | ||
run: echo "VERSION=$(ruby -e 'puts File.read("./OSGeolocationLib.podspec").match(/spec.version.*=.*''(\d+\.\d+\.\d+)''/)[1]')" >> $GITHUB_ENV | ||
|
||
- name: Extract release notes | ||
run: sh scripts/extract_release_notes.sh "${{ env.VERSION }}" >> release_notes.md | ||
|
||
- name: Create Tag | ||
id: create_tag | ||
run: | | ||
# Define the tag name and message | ||
TAG_NAME="${{ env.VERSION }}" | ||
TAG_MESSAGE="Tag for version ${{ env.VERSION }}" | ||
# Create the tag | ||
git tag -a "$TAG_NAME" -m "$TAG_MESSAGE" | ||
git push origin "$TAG_NAME" | ||
echo "Tag created: $TAG_NAME" | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: Create Release | ||
run: | | ||
# Extract the tag name | ||
TAG_NAME="${{ env.VERSION }}" | ||
RELEASE_NOTES="$(cat release_notes.md)" | ||
# Create the release using GitHub CLI | ||
gh release create "$TAG_NAME" \ | ||
--title "$TAG_NAME" \ | ||
--notes "$RELEASE_NOTES" \ | ||
"OSGeolocationLib.zip" | ||
echo "Release created for tag: $TAG_NAME" | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: Deploy to Cocoapods | ||
run: pod trunk push ./OSGeolocationLib.podspec --allow-warnings | ||
env: | ||
COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }} | ||
|
||
- name: Delete Release Branch | ||
run: git push origin --delete prepare-new-release-${{ env.VERSION }} | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
disabled_rules: | ||
- trailing_whitespace | ||
- switch_case_alignment | ||
opt_in_rules: | ||
- empty_count | ||
- empty_string | ||
excluded: | ||
- Carthage | ||
- Pods | ||
- vendor | ||
- SwiftLint/Common/3rdPartyLib | ||
line_length: | ||
warning: 150 | ||
error: 200 | ||
ignores_function_declarations: true | ||
ignores_comments: true | ||
ignores_urls: true | ||
function_body_length: | ||
warning: 300 | ||
error: 500 | ||
function_parameter_count: | ||
warning: 6 | ||
error: 8 | ||
type_body_length: | ||
warning: 300 | ||
error: 500 | ||
file_length: | ||
warning: 1000 | ||
error: 1500 | ||
ignore_comment_only_lines: true | ||
cyclomatic_complexity: | ||
warning: 15 | ||
error: 25 | ||
reporter: "xcode" |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# Changelog | ||
All notable changes to this project will be documented in this file. | ||
|
||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), | ||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). | ||
|
||
## [Unreleased] | ||
|
||
### Features | ||
- Add complete implementation, including `getCurrentPosition`, `watchPosition`, and `clearWatch`. | ||
- Create repository. |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
source "https://rubygems.org" | ||
|
||
gem "fastlane" | ||
gem "slather" |
Oops, something went wrong.