Skip to content

.github/workflows/sniff.yml #825

.github/workflows/sniff.yml

.github/workflows/sniff.yml #825

Workflow file for this run

on:
schedule:
- cron: 5 4 * * *
workflow_dispatch:
pull_request:
paths:
- .github/workflows/sniff.yml
push:
branches:
- main
paths:
- .github/workflows/sniff.yml
concurrency: sniff
jobs:
os:
strategy:
matrix:
os:
- macos-10.15
- macos-11
- macos-12
# - ubuntu-16.04
- ubuntu-18.04
- ubuntu-20.04
- ubuntu-22.04
continue-on-error: ${{ matrix.os == 'ubuntu-22.04' }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- uses: ./.github/actions/sw_vers
id: sw_vers
- uses: ./.github/actions/persist
with:
key: ${{ steps.sw_vers.outputs.root-key }}-env
value: ${{ matrix.os }}
- uses: ./.github/actions/persist
with:
key: ${{ steps.sw_vers.outputs.root-key }}-swift
value: ${{ steps.sw_vers.outputs.swift }}
- run: env | sort > ${{ matrix.os }}.env
- uses: actions/upload-artifact@v2
with:
name: ${{ matrix.os }}.env.d
path: ${{ matrix.os }}.env
xcode:
strategy:
matrix:
os:
- macos-10.15
- macos-11
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- uses: ./.github/actions/sw_vers
id: sw_vers
- run: |
for xcode in $(mdfind kMDItemCFBundleIdentifier = com.apple.dt.Xcode); do
V=$(mdls -raw -name kMDItemVersion "$xcode")
v="$v $V"
done
# sort for stable ordering
v=$(echo $v | tr " " "\n" | sort -g | tr "\n" " ")
echo "XcodeVersions=$v" >> $GITHUB_ENV
- uses: actions/checkout@v2
- uses: ./.github/actions/persist
with:
key: ${{ steps.sw_vers.outputs.root-key }}-xcodes
value: ${{ env.XcodeVersions }}
latest:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- macos-latest
- ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: ./.github/actions/sw_vers
id: sw_vers
- uses: ./.github/actions/persist
with:
key: ${{ steps.sw_vers.outputs.root-key }}-latest
value: true
persist:
runs-on: ubuntu-latest
needs:
- os
- xcode
- latest
steps:
- uses: actions/checkout@v2
- run: |
echo "stamp=$(date '+%Y-%m-%d')" >> $GITHUB_ENV
git pull origin main --rebase
if: ${{ !github.event.pull_request }}
- uses: ./.github/actions/persist
id: sw_vers
with:
first-columns: name version
- uses: jsdaniell/create-json@v1
with:
name: versions.json
json: ${{ steps.sw_vers.outputs.json }}
- run: |
mv *.env.d/* .
git add *.env
- uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: '[cron] env ${{ env.stamp }}'
if: ${{ !github.event.pull_request }}
- run: cat versions.json | jq
if: ${{ github.event.pull_request }}