mirror of https://github.com/cirruslabs/tart.git
81 lines
2.9 KiB
YAML
81 lines
2.9 KiB
YAML
use_compute_credits: true
|
|
|
|
task:
|
|
name: Test on Ventura
|
|
alias: test
|
|
persistent_worker:
|
|
labels:
|
|
name: scaleway-m1
|
|
test_script:
|
|
- swift test
|
|
integration_test_script:
|
|
# Build Tart
|
|
- swift build
|
|
- codesign --sign - --entitlements Resources/tart.entitlements --force .build/debug/tart
|
|
- export PATH=$(pwd)/.build/arm64-apple-macosx/debug:$PATH
|
|
# Run integration tests
|
|
- cd integration-tests
|
|
- HOMEBREW_NO_AUTO_UPDATE=1 brew install virtualenv
|
|
- virtualenv venv
|
|
- source venv/bin/activate
|
|
- pip install -r requirements.txt
|
|
- pytest --verbose --junit-xml=pytest-junit.xml
|
|
pytest_junit_result_artifacts:
|
|
path: "integration-tests/pytest-junit.xml"
|
|
format: junit
|
|
|
|
task:
|
|
name: Lint
|
|
alias: lint
|
|
macos_instance:
|
|
image: ghcr.io/cirruslabs/macos-ventura-xcode:latest
|
|
lint_script:
|
|
- swift package plugin --allow-writing-to-package-directory swiftformat --cache ignore --lint --report swiftformat.json .
|
|
always:
|
|
swiftformat_report_artifacts:
|
|
path: swiftformat.json
|
|
format: swiftformat
|
|
|
|
task:
|
|
name: Build
|
|
alias: build
|
|
only_if: $CIRRUS_TAG == ''
|
|
macos_instance:
|
|
image: ghcr.io/cirruslabs/macos-ventura-xcode:latest
|
|
build_script: swift build --product tart
|
|
sign_script: codesign --sign - --entitlements Resources/tart.entitlements --force .build/debug/tart
|
|
binary_artifacts:
|
|
path: .build/debug/tart
|
|
|
|
task:
|
|
name: Release
|
|
only_if: $CIRRUS_TAG != ''
|
|
depends_on:
|
|
- lint
|
|
- test
|
|
- build
|
|
macos_instance:
|
|
image: ghcr.io/cirruslabs/macos-ventura-xcode:latest
|
|
env:
|
|
MACOS_CERTIFICATE: ENCRYPTED[552b9d275d1c2bdbc1bff778b104a8f9a53cbd0d59344d4b7f6d0ca3c811a5cefb97bef9ba0ef31c219cb07bdacdd2c2]
|
|
AC_PASSWORD: ENCRYPTED[4a761023e7e06fe2eb350c8b6e8e7ca961af193cb9ba47605f25f1d353abc3142606f412e405be48fd897a78787ea8c2]
|
|
GITHUB_TOKEN: ENCRYPTED[!98ace8259c6024da912c14d5a3c5c6aac186890a8d4819fad78f3e0c41a4e0cd3a2537dd6e91493952fb056fa434be7c!]
|
|
GORELEASER_KEY: ENCRYPTED[!9b80b6ef684ceaf40edd4c7af93014ee156c8aba7e6e5795f41c482729887b5c31f36b651491d790f1f668670888d9fd!]
|
|
setup_script:
|
|
- cd $HOME
|
|
- echo $MACOS_CERTIFICATE | base64 --decode > certificate.p12
|
|
- security create-keychain -p password101 build.keychain
|
|
- security default-keychain -s build.keychain
|
|
- security unlock-keychain -p password101 build.keychain
|
|
- security import certificate.p12 -k build.keychain -P password101 -T /usr/bin/codesign -T /usr/bin/pkgbuild
|
|
- security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k password101 build.keychain
|
|
- xcrun notarytool store-credentials "notarytool" --apple-id "hello@cirruslabs.org" --team-id "9M2P8L4D89" --password $AC_PASSWORD
|
|
install_script:
|
|
- brew install go goreleaser/tap/goreleaser-pro
|
|
- brew install mitchellh/gon/gon
|
|
info_script:
|
|
- security find-identity -v
|
|
- xcodebuild -version
|
|
- swift -version
|
|
release_script: goreleaser
|