diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml new file mode 100644 index 0000000..200870a --- /dev/null +++ b/.github/release-drafter.yml @@ -0,0 +1,59 @@ +name-template: "v$RESOLVED_VERSION 🌈" +tag-template: "v$RESOLVED_VERSION" + +categories: + - title: "🚀 Features" + labels: + - "enhancement" + - title: "🐛 Bug Fixes" + labels: + - "bug" + - "emergency" + - title: "🔧 Refactoring" + label: "refactor" + - title: "📖 Documentation" + label: "documentation" + - title: "✅ Tests" + label: "test" + +change-template: "- $TITLE @$AUTHOR (#$NUMBER)" + +change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. + +version-resolver: + major: + labels: + - "major" + minor: + labels: + - "minor" + patch: + labels: + - "patch" + default: patch + +template: | + ## Changes + $CHANGES + +autolabeler: + - label: enhancement + branch: + - "/^feat(ure)?[/-].+/" + - label: bug + branch: + - "/^fix[/-].+/" + - label: emergency + branch: + - "/^hotfix[/-].+/" + - label: test + branch: + - "/^test[/-].+/" + - label: refactor + branch: + - "/^refactor[/-].+/" + - label: documentation + branch: + - "/^doc[/-].+/" +exclude-labels: + - release diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml new file mode 100644 index 0000000..7b9839b --- /dev/null +++ b/.github/workflows/release-drafter.yml @@ -0,0 +1,36 @@ +name: Create Release Note + +on: + pull_request: + # PRが閉じたタイミングで実行 + types: + - closed + # mainブランチのみを対象とする + branches: + - main + +permissions: + contents: read + +jobs: + release: + permissions: + # write permission is required to create a github release + contents: write + # リリースノートを書くためwrite用のpermissionを付与 + pull-requests: write + if: github.event.pull_request.merged == true && startsWith(github.head_ref, 'release') + runs-on: ubuntu-latest + steps: + - name: Create Release Tag And Note + env: + # このトークンは自動生成されるのでsecretsを登録する必要ない + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # PRのタイトルと内容をRelease内容に追加する + RELEASE_TAG: ${{ github.event.pull_request.title }} + uses: release-drafter/release-drafter@v5 + with: + tag: ${{ env.RELEASE_TAG }} + name: v${{ env.RELEASE_TAG }} + version: ${{ env.RELEASE_TAG }} + publish: true diff --git a/.github/workflows/release-pr.yml b/.github/workflows/release-pr.yml new file mode 100644 index 0000000..392ff73 --- /dev/null +++ b/.github/workflows/release-pr.yml @@ -0,0 +1,22 @@ +name: Label Release PRs +# release/ブランチに release タグを付与します + +on: + pull_request: + types: + - opened + - synchronize + branches: + - main + +jobs: + label_release_pr: + if: startsWith(github.head_ref, 'release/') + runs-on: ubuntu-latest + permissions: write-all + steps: + - name: Add label to release PRs + uses: actions-ecosystem/action-add-labels@v1 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + labels: release diff --git a/PasswordBox.xcodeproj/project.pbxproj b/PasswordBox.xcodeproj/project.pbxproj index 74bc197..4f6b61f 100644 --- a/PasswordBox.xcodeproj/project.pbxproj +++ b/PasswordBox.xcodeproj/project.pbxproj @@ -82,6 +82,7 @@ 3F8C85B72C189D4B0032277E /* PasswordBoxUITestsLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PasswordBoxUITestsLaunchTests.swift; sourceTree = ""; }; 3F8C85C42C189F0C0032277E /* ListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListView.swift; sourceTree = ""; }; 3F8C85C62C189F230032277E /* CellView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CellView.swift; sourceTree = ""; }; + 3F91E4C62C3AF36000FBF876 /* ci_post_clone.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = ci_post_clone.sh; sourceTree = ""; }; 3F99FC4E2C390873001ED4B2 /* Images.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Images.swift; sourceTree = ""; }; 3F99FC502C390D65001ED4B2 /* IconStyles.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IconStyles.swift; sourceTree = ""; }; 3F99FC582C39258B001ED4B2 /* Entry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Entry.swift; sourceTree = ""; }; @@ -214,6 +215,7 @@ 3F8C858E2C189D4A0032277E = { isa = PBXGroup; children = ( + 3F91E4C52C3AF32A00FBF876 /* ci_scripts */, 3F8C85992C189D4A0032277E /* PasswordBox */, 3F8C85AA2C189D4B0032277E /* PasswordBoxTests */, 3F8C85B42C189D4B0032277E /* PasswordBoxUITests */, @@ -270,6 +272,14 @@ path = PasswordBoxUITests; sourceTree = ""; }; + 3F91E4C52C3AF32A00FBF876 /* ci_scripts */ = { + isa = PBXGroup; + children = ( + 3F91E4C62C3AF36000FBF876 /* ci_post_clone.sh */, + ); + path = ci_scripts; + sourceTree = ""; + }; 3F99FC4D2C390859001ED4B2 /* Resources */ = { isa = PBXGroup; children = ( diff --git a/README.md b/README.md index 741e6a8..2af620d 100644 --- a/README.md +++ b/README.md @@ -6,10 +6,6 @@ Often, the passwords we create ourselves contain unconscious patterns, such as f All data is stored locally on the user’s device, and the main password is stored in iCloud Keychain for secure access. -## Screen - -TBD - ## Requirement To run this app, you need the following libraries: diff --git a/ci_scripts/ci_post_clone.sh b/ci_scripts/ci_post_clone.sh new file mode 100644 index 0000000..c3ef546 --- /dev/null +++ b/ci_scripts/ci_post_clone.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +# ci_post_clone.sh +# PasswordBox +# +# Created by 村岡海人 on 2024/07/08. +# + +defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidatation -bool YES