Skip to content

Fix add internet password command #79

Fix add internet password command

Fix add internet password command #79

Workflow file for this run

name: Install
on:
push:
permissions:
contents: read
jobs:
install-xcode-cache:
name: Install Xcode project dependencies with cache
runs-on: macos-15
timeout-minutes: 20
strategy:
matrix:
package: [xcode-project-1-registry]
steps:
- uses: actions/checkout@v4
- uses: jdx/mise-action@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/checkout@v4
with:
repository: tuist/tuist
path: tuist
ref: registry/ci-login
# - name: Restore cache
# id: cache-restore
# uses: actions/cache/restore@v4
# with:
# path: |
# ${{ matrix.package }}/.build
# key: ${{ runner.os }}-v1-${{ hashFiles('*/Package.resolved') }}-${{ matrix.package }}
# restore-keys: ${{ matrix.package }}/.build
- name: Log in to Tuist
# run: tuist registry login
# working-directory: ${{ matrix.package }}
working-directory: tuist
env:
TUIST_CONFIG_TOKEN: ${{ secrets.TUIST_CONFIG_TOKEN }}
run: |
tuist install
tuist run tuist registry login --path ${{ matrix.package }}
- name: Install dependencies
working-directory: ${{ matrix.package }}
run: |
TMP_DIRECTORY=$(mktemp -d)
KEYCHAIN_PATH=$TMP_DIRECTORY/keychain.keychain
KEYCHAIN_PASSWORD=$(uuidgen)
security create-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH
security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
security default-keychain -s $KEYCHAIN_PATH
security unlock-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH
xcodebuild -resolvePackageDependencies
# - name: Save cache
# id: cache-save
# uses: actions/cache/save@v4
# with:
# path: |
# ${{ matrix.package}}/.build
# key: ${{ steps.cache-restore.outputs.cache-primary-key }
# install-cache:
# name: Install with cache
# runs-on: macos-15
# timeout-minutes: 50
# strategy:
# matrix:
# package: [
# # package-1-scm,
# # package-1-registry,
# # package-2-scm,
# # package-2-registry,
# package-3-scm,
# package-3-registry,
# package-4-scm,
# package-4-registry,
# ]
# steps:
# - uses: actions/checkout@v4
# - uses: jdx/mise-action@v2
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# - name: Restore cache
# id: cache-restore
# uses: actions/cache/restore@v4
# with:
# path: |
# ${{ matrix.package }}/.build
# key: ${{ runner.os }}-v1-${{ hashFiles('*/Package.resolved') }}-${{ matrix.package }}
# restore-keys: ${{ matrix.package }}/.build
# - name: Log in to Tuist
# run: tuist registry login
# working-directory: ${{ matrix.package }}
# env:
# TUIST_CONFIG_TOKEN: ${{ secrets.TUIST_CONFIG_TOKEN }}
# - name: Install with registry
# working-directory: ${{ matrix.package }}
# if: ${{ endsWith(matrix.package, '-registry') }}
# run: swift package --replace-scm-with-registry resolve --verbose
# - name: Install Swift package dependencies with source control
# working-directory: ${{ matrix.package }}
# if: ${{ endsWith(matrix.package, '-scm') }}
# run: swift package resolve --verbose
# - name: Save cache
# id: cache-save
# uses: actions/cache/save@v4
# with:
# path: |
# ${{ matrix.package}}/.build
# key: ${{ steps.cache-restore.outputs.cache-primary-key }}
install:
name: Install Swift packages
runs-on: macos-15
timeout-minutes: 90
strategy:
matrix:
package: [
# package-1-scm,
# package-1-registry,
# package-2-scm,
# package-2-registry,
# package-3-scm,
# package-3-registry,
# package-4-scm,
# package-4-registry,
xcode-project-1-registry,
# xcode-project-1-scm,
]
steps:
- uses: actions/checkout@v4
- uses: jdx/mise-action@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Log in to Tuist
run: tuist registry login
working-directory: ${{ matrix.package }}
env:
TUIST_CONFIG_TOKEN: ${{ secrets.TUIST_CONFIG_TOKEN }}
- name: Install Swift package dependencies with registry
working-directory: ${{ matrix.package }}
if: ${{ !startsWith(matrix.package, 'xcode-project') && endsWith(matrix.package, '-registry') }}
run: swift package --replace-scm-with-registry resolve --verbose
- name: Hyperfine Swift package dependencies with registry
working-directory: ${{ matrix.package }}
if: ${{ !startsWith(matrix.package, 'xcode-project') && endsWith(matrix.package, '-registry') }}
run: hyperfine --warmup 1 --prepare 'rm -rf ~/.swiftpm .build && swift package purge-cache' --runs 5 'swift package --replace-scm-with-registry resolve' --show-output
- name: Resolve Swift package dependencies with registry and xcodebuild
working-directory: ${{ matrix.package }}
if: ${{ startsWith(matrix.package, 'xcode-project') && endsWith(matrix.package, '-registry') }}
env:
TUIST_CONFIG_TOKEN: ${{ secrets.TUIST_CONFIG_TOKEN }}
run: |
TMP_DIRECTORY=$(mktemp -d)
KEYCHAIN_PATH=$TMP_DIRECTORY/keychain.keychain
KEYCHAIN_PASSWORD=$(uuidgen)
security create-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH
security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
security default-keychain -s $KEYCHAIN_PATH
security unlock-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH
security add-internet-password -a token \
-s tuist.dev \
-w $TUIST_CONFIG_TOKEN \
-r htps \
-U \
-T /usr/bin/security \
-T /usr/bin/codesign \
-T /usr/bin/xcodebuild \
-T /usr/bin/swift \
-T /Applications/Xcode_16.app/Contents/Developer/usr/bin/xcodebuild
xcodebuild -resolvePackageDependencies
- name: Hyperfine Swift package dependencies registry and xcodebuild
working-directory: ${{ matrix.package }}
if: ${{ startsWith(matrix.package, 'xcode-project') && endsWith(matrix.package, '-registry') }}
run: hyperfine --warmup 1 --prepare 'rm -rf packages' --runs 5 'xcodebuild -resolvePackageDependencies -clonedSourcePackagesDirPath packages' --show-output
- name: Install Swift package dependencies with source control and xcodebuild
working-directory: ${{ matrix.package }}
if: ${{ startsWith(matrix.package, 'xcode-project') && endsWith(matrix.package, '-scm') }}
run: xcodebuild -resolvePackageDependencies
- name: Hyperfine Swift package dependencies source control and xcodebuild
working-directory: ${{ matrix.package }}
if: ${{ startsWith(matrix.package, 'xcode-project') && endsWith(matrix.package, '-scm') }}
run: hyperfine --warmup 1 --prepare 'rm -rf packages' --runs 5 'xcodebuild -resolvePackageDependencies -clonedSourcePackagesDirPath packages' --show-output
- name: Install Swift package dependencies with source control
working-directory: ${{ matrix.package }}
if: ${{ !startsWith(matrix.package, 'xcode-project') && endsWith(matrix.package, '-scm') }}
run: swift package resolve --verbose
- name: Hyperfine Swift package dependencies with source control
working-directory: ${{ matrix.package }}
if: ${{ !startsWith(matrix.package, 'xcode-project') && endsWith(matrix.package, '-scm') }}
run: hyperfine --warmup 1 --prepare 'rm -rf ~/.swiftpm .build && swift package purge-cache' --runs 5 'swift package resolve' --show-output
# install-swift-package-manager-main:
# name: Install with swift-package-manager@main
# runs-on: macos-15
# timeout-minutes: 60
# strategy:
# matrix:
# package: [
# # package-1-scm,
# # package-1-registry,
# # package-2-scm,
# # package-2-registry,
# package-3-scm,
# package-3-registry,
# package-4-scm,
# package-4-registry,
# ]
# steps:
# - uses: actions/checkout@v4
# - uses: actions/checkout@v4
# with:
# repository: tuist/swift-package-manager
# path: swift-package-manager
# ref: workspace-state-actor
# - name: Restore cache
# id: cache-restore
# uses: actions/cache/restore@v4
# with:
# path: |
# swift-package-manager/.build
# key: ${{ runner.os }}-v1-${{ hashFiles('swift-package-manager/Package.resolved') }}
# restore-keys: swift-package-manager/.build
# - name: Build Swift Package Manager
# working-directory: swift-package-manager
# run: swift build --arch x86_64 --configuration release
# - name: Save cache
# id: cache-save
# uses: actions/cache/save@v4
# with:
# path: |
# swift-package-manager/.build
# key: ${{ steps.cache-restore.outputs.cache-primary-key }}
# - uses: jdx/mise-action@v2
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# - name: Create keychain
# run: |
# TMP_DIRECTORY=$(mktemp -d)
# KEYCHAIN_PATH=$TMP_DIRECTORY/keychain.keychain
# KEYCHAIN_PASSWORD=$(uuidgen)
# security create-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH
# security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
# security default-keychain -s $KEYCHAIN_PATH
# security unlock-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH
# - name: Log in to Tuist
# run: tuist registry login
# working-directory: ${{ matrix.package }}
# env:
# TUIST_CONFIG_TOKEN: ${{ secrets.TUIST_CONFIG_TOKEN }}
# - name: Install Swift package dependencies with registry
# working-directory: ${{ matrix.package }}
# if: ${{ endsWith(matrix.package, '-registry') }}
# env:
# TUIST_CONFIG_TOKEN: ${{ secrets.TUIST_CONFIG_TOKEN }}
# run: |
# TMP_DIRECTORY=$(mktemp -d)
# KEYCHAIN_PATH=$TMP_DIRECTORY/keychain.keychain
# KEYCHAIN_PASSWORD=$(uuidgen)
# security create-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH
# security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
# security default-keychain -s $KEYCHAIN_PATH
# security unlock-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH
# security add-internet-password -a token \
# -s tuist.dev \
# -w $TUIST_CONFIG_TOKEN \
# -r htps \
# -U \
# -T ../swift-package-manager/.build/release/swift-package \
# $KEYCHAIN_PATH
# security set-internet-password-partition-list \
# -a token \
# -s tuist.dev \
# -S "com.apple.swift-package,com.apple.security,com.apple.dt.Xcode,apple-tool:,apple:,codesign" \
# -k $KEYCHAIN_PASSWORD $KEYCHAIN_PATH
# ../swift-package-manager/.build/release/swift-package --replace-scm-with-registry resolve --verbose
# - name: Hyperfine Swift package dependencies with registry
# working-directory: ${{ matrix.package }}
# if: ${{ endsWith(matrix.package, '-registry') }}
# run: hyperfine --warmup 1 --prepare 'rm -rf ~/.swiftpm .build' --runs 5 '../swift-package-manager/.build/x86_64-apple-macosx/release/swift-package --replace-scm-with-registry resolve' --show-output
# - name: Install Swift package dependencies with source control
# working-directory: ${{ matrix.package }}
# if: ${{ endsWith(matrix.package, '-scm') }}
# run: ../swift-package-manager/.build/release/swift-package resolve --verbose
# - name: Hyperfine Swift package dependencies with source control
# working-directory: ${{ matrix.package }}
# if: ${{ endsWith(matrix.package, '-scm') }}
# run: hyperfine --warmup 1 --prepare 'rm -rf ~/.swiftpm .build' --runs 5 '../swift-package-manager/.build/x86_64-apple-macosx/release/swift-package resolve' --show-output