Skip to content

Remove BlueRacer report upload step in test.yml workflow #178

Remove BlueRacer report upload step in test.yml workflow

Remove BlueRacer report upload step in test.yml workflow #178

Workflow file for this run

name: Test and Build
on:
push:
branches: [main]
pull_request:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
lint:
name: Lint
runs-on: macos-latest
timeout-minutes: 30
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-lint
cancel-in-progress: true
steps:
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: "latest-stable"
- name: Repository checkout
uses: actions/checkout@v3
- name: Cache mint modules
uses: actions/cache@v3
env:
cache-name: cache-mint-v2
with:
path: ~/.mint
key: ${{ runner.os }}-mint-${{ env.cache-name }}-${{ hashFiles('Mintfile') }}
restore-keys: |
${{ runner.os }}-mint-${{ env.cache-name }}-
- name: Install mint and packages
run: brew install mint && mint bootstrap
- name: Lint
run: make lint
test:
name: Unit and UI Tests
runs-on: macos-latest
needs: lint
timeout-minutes: 30
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-test
cancel-in-progress: true
permissions:
issues: write
pull-requests: write
steps:
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: "latest-stable"
- name: "Import Certificate: Development"
env:
DEVELOPMENT_CERTIFICATE_DATA: ${{ secrets.DEVELOPMENT_CERTIFICATE_DATA }}
DEVELOPMENT_CERTIFICATE_PASSPHRASE: ${{ secrets.DEVELOPMENT_CERTIFICATE_PASSPHRASE }}
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
run: |
# create variables
CERTIFICATE_PATH=$RUNNER_TEMP/dev_certificate.p12
KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
# import certificate and provisioning profile from secrets
echo -n "$DEVELOPMENT_CERTIFICATE_DATA" | base64 --decode > $CERTIFICATE_PATH
# create temporary keychain
security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH || true
security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
# import certificate to keychain
security import $CERTIFICATE_PATH -P "$DEVELOPMENT_CERTIFICATE_PASSPHRASE" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
security list-keychain -d user -s $KEYCHAIN_PATH
- name: "Import Certificate: Developer ID Application"
env:
APPLICATION_CERTIFICATE_DATA: ${{ secrets.APPLICATION_CERTIFICATE_DATA }}
APPLICATION_CERTIFICATE_PASSPHRASE: ${{ secrets.APPLICATION_CERTIFICATE_PASSPHRASE }}
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
run: |
# create variables
CERTIFICATE_PATH=$RUNNER_TEMP/dev_certificate.p12
KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
# import certificate and provisioning profile from secrets
echo -n "$APPLICATION_CERTIFICATE_DATA" | base64 --decode > $CERTIFICATE_PATH
# create temporary keychain
security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH || true
security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
# import certificate to keychain
security import $CERTIFICATE_PATH -P "$APPLICATION_CERTIFICATE_PASSPHRASE" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
security list-keychain -d user -s $KEYCHAIN_PATH
- name: Repository checkout
uses: actions/checkout@v3
- name: Cache mint modules
uses: actions/cache@v3
env:
cache-name: cache-mint-v2
with:
path: ~/.mint
key: ${{ runner.os }}-mint-${{ env.cache-name }}-${{ hashFiles('Mintfile') }}
restore-keys: |
${{ runner.os }}-mint-${{ env.cache-name }}-
- name: Install mint and packages
run: brew install mint && mint bootstrap
- name: Cache SPM modules
uses: actions/cache@v3
env:
cache-name: cache-spm-v2
with:
path: SourcePackages
key: ${{ runner.os }}-spm-${{ env.cache-name }}-${{ hashFiles('Pareto Updater.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved') }}
restore-keys: |
${{ runner.os }}-spm-${{ env.cache-name }}-
- name: Tests
run: set -o pipefail && make test 2>&1 | mint run xcbeautify
- name: Update coverage
run: bash <(curl -s https://codecov.io/bash)
- name: Gather screenshots
run: |
mkdir -p "${{ runner.temp }}/screenshots/"
# export the screenshots
mint run ChargePoint/xcparse xcparse screenshots --test ./test.xcresult '${{ runner.temp }}/screenshots'
- name: Upload screenshots
uses: actions/upload-artifact@v3
with:
name: screenshots-${{ github.run_number }}
path: ${{ runner.temp }}/screenshots
- uses: mshick/add-pr-comment@v1
with:
message: |
You can find the app screenshots under the Artifacts at https://github.com/ParetoSecurity/pareto-mac/actions/runs/${{ github.run_id }}
repo-token: ${{ secrets.GITHUB_TOKEN }}
repo-token-user-login: "github-actions[bot]"
build:
name: Build and Archive Native
needs: lint
runs-on: macos-latest
timeout-minutes: 30
permissions:
issues: write
pull-requests: write
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-build
cancel-in-progress: true
steps:
- uses: mshick/add-pr-comment@v1
with:
message: |
You can find the built app under the Artifacts at https://github.com/ParetoSecurity/pareto-mac/actions/runs/${{ github.run_id }}
repo-token: ${{ secrets.GITHUB_TOKEN }}
repo-token-user-login: "github-actions[bot]"
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: "latest-stable"
- name: "Import Certificate: Development"
env:
DEVELOPMENT_CERTIFICATE_DATA: ${{ secrets.DEVELOPMENT_CERTIFICATE_DATA }}
DEVELOPMENT_CERTIFICATE_PASSPHRASE: ${{ secrets.DEVELOPMENT_CERTIFICATE_PASSPHRASE }}
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
run: |
# create variables
CERTIFICATE_PATH=$RUNNER_TEMP/dev_certificate.p12
KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
# import certificate and provisioning profile from secrets
echo -n "$DEVELOPMENT_CERTIFICATE_DATA" | base64 --decode > $CERTIFICATE_PATH
# create temporary keychain
security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH || true
security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
# import certificate to keychain
security import $CERTIFICATE_PATH -P "$DEVELOPMENT_CERTIFICATE_PASSPHRASE" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
security list-keychain -d user -s $KEYCHAIN_PATH
- name: "Import Certificate: Developer ID Application"
env:
APPLICATION_CERTIFICATE_DATA: ${{ secrets.APPLICATION_CERTIFICATE_DATA }}
APPLICATION_CERTIFICATE_PASSPHRASE: ${{ secrets.APPLICATION_CERTIFICATE_PASSPHRASE }}
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
run: |
# create variables
CERTIFICATE_PATH=$RUNNER_TEMP/dev_certificate.p12
KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
# import certificate and provisioning profile from secrets
echo -n "$APPLICATION_CERTIFICATE_DATA" | base64 --decode > $CERTIFICATE_PATH
# create temporary keychain
security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH || true
security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
# import certificate to keychain
security import $CERTIFICATE_PATH -P "$APPLICATION_CERTIFICATE_PASSPHRASE" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
security list-keychain -d user -s $KEYCHAIN_PATH
- name: Repository checkout
uses: actions/checkout@v3
- name: Cache mint modules
uses: actions/cache@v3
env:
cache-name: cache-mint-v2
with:
path: ~/.mint
key: ${{ runner.os }}-mint-${{ env.cache-name }}-${{ hashFiles('Mintfile') }}
restore-keys: |
${{ runner.os }}-mint-${{ env.cache-name }}-
- name: Install mint and packages
run: brew install mint && mint bootstrap
- name: Cache SPM modules
uses: actions/cache@v3
env:
cache-name: cache-spm-v2
with:
path: SourcePackages
key: ${{ runner.os }}-spm-${{ env.cache-name }}-${{ hashFiles('Pareto Updater.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved') }}
restore-keys: |
${{ runner.os }}-spm-${{ env.cache-name }}-
- name: Cache DerivedData
uses: actions/cache@v3
env:
cache-name: build-derived-data-v2
with:
path: ~/Library/Developer/Xcode/DerivedData
key: ${{ runner.os }}-${{ env.cache-name }}
restore-keys: |
${{ runner.os }}-${{ env.cache-name }}-
- name: Build
run: set -o pipefail && make archive-debug 2>&1 | mint run xcbeautify
- name: Compress app for storage
run: ditto -V -c -k --keepParent Export/Pareto\ Updater.app ParetoSecurity.app.zip
- name: Upload App to Artifacts
uses: actions/upload-artifact@v3
with:
name: ParetoSecurity.app
path: ParetoSecurity.app.zip